ESense 0.1.3

ESense 0.1.3

tetujinyuuki.nishiyama维护。



ESense 0.1.3

  • 作者
  • Yuuki Nishiyama

eSense iOS库

CI Status Version License Platform

这个库允许我们轻松地在iOS上使用eSense(可穿戴计算平台)。这个库受到了由Nokia Bell Labs剑桥的Pervasive Systems团队开发的Android版eSense库的启发。

示例

要运行示例项目,首先克隆仓库,然后在Examples目录下运行pod install

依赖要求

iOS 10或更高版本

安装

ESense可以通过CocoaPods获取。要安装它,只需将以下行添加到您的Podfile中

pod 'ESense'

使用 eSense 库

  1. 在您的 iOS 项目中导入库
import ESense
  1. 在您的类中实现 ESenseConnectionListener
extension YOUR_CLASS:ESenseConnectionListener{
    func onDeviceFound(_ manager: ESenseManager) {
        // YOUR CODE HERE
    }

    func onDeviceNotFound(_ manager: ESenseManager) {
        // YOUR CODE HERE
    }

    func onConnected(_ manager: ESenseManager) {
        manager.setDeviceReadyHandler { device in
            manager.removeDeviceReadyHandler()
            // YOUR CODE HERE
        }
    }

    func onDisconnected(_ manager: ESenseManager) {
        // YOUR CODE HERE
    }
}
  1. 创建 ESenseManager 实例

将一个变量准备为 ESenseManager,作为类或静态变量。

var manager:ESenseManager? = nil

使用目标设备名称和实现 ESenseConnectionListener 的类来初始化 ESenseManager 类。

manager = ESenseManager(deviceName: "YOUR_ESENSE_NAME", listener: YOUR_CLASS)
  1. 扫描并连接 eSense 设备

要扫描 eSense 设备,您可以使用 scan(timeout) 方法。如果 ESenseManager 发现 eSense 设备,就会在 ESenseConnectionListener 中调用 onDeviceFind(manager) 方法。

manager.scan(timeout: SECOND)
  1. 处理传感器更新事件

设备连接后,您可以通过 ESenseSensrListener 来监听传感器的变化事件。请在您的类中像以下那样实现 ESenseSensorListener。

extension YOUR_CLASS:ESenseSensorListener{
    func onSensorChanged(_ evt: ESenseEvent) {
        // YOUR CODE HERE
    }
}

最后,您可以将采样率(hz)的 ESenseSensorListener 设置到 ESenseManager 中。

manager.registerSensorListener(YOUR_CLASS, hz: 10)
  1. 处理 eSense 设备事件

此外,您还可以使用 ESenseEventListener 来处理 eSense 的其他事件(电池、按钮和配置相关事件)。请在您的类中实现 ESenseEventListener

extension YOUR_CLASS:ESenseEventListener{
    func onBatteryRead(_ voltage: Double) {
        // YOUR CODE HERE
    }

    func onButtonEventChanged(_ pressed: Bool) {
        // YOUR CODE HERE
    }

    func onAdvertisementAndConnectionIntervalRead(_ minAdvertisementInterval: Int, _ maxAdvertisementInterval: Int, _ minConnectionInterval: Int, _ maxConnectionInterval: Int) {
        // YOUR CODE HERE
    }

    func onDeviceNameRead(_ deviceName: String) {
        // YOUR CODE HERE
    }

    func onSensorConfigRead(_ config: ESenseConfig) {
        // YOUR CODE HERE
    }

    func onAccelerometerOffsetRead(_ offsetX: Int, _ offsetY: Int, _ offsetZ: Int) {
        // YOUR CODE HERE
    }
}

您还可以通过在 ESenseManager 类上调用 registerEventListener(ESenseEventListener) 方法来注册实现监听器。

manager.registerEventListener(self)

执行读写操作将触发 ESenseEventListener 上的事件。

manager.getBatteryVoltage()
manager.getAccelerometerOffset()
manager.getDeviceName()
manager.getSensorConfig()
manager.getAdvertisementAndConnectionInterval()

作者

eSense for iOS 库 由日本东京大学的 Yuuki Nishiyama 开发 Yuuki Nishiyama[email protected])。

许可

ESense 在 MIT 许可下提供。有关更多信息,请参阅 LICENSE 文件。