eSense iOS库
这个库允许我们轻松地在iOS上使用eSense(可穿戴计算平台)。这个库受到了由Nokia Bell Labs剑桥的Pervasive Systems团队开发的Android版eSense库的启发。
示例
要运行示例项目,首先克隆仓库,然后在Examples目录下运行pod install
。
依赖要求
iOS 10或更高版本
安装
ESense可以通过CocoaPods获取。要安装它,只需将以下行添加到您的Podfile中
pod 'ESense'
使用 eSense 库
- 在您的 iOS 项目中导入库
import ESense
- 在您的类中实现
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
}
}
- 创建 ESenseManager 实例
将一个变量准备为 ESenseManager
,作为类或静态变量。
var manager:ESenseManager? = nil
使用目标设备名称和实现 ESenseConnectionListener
的类来初始化 ESenseManager
类。
manager = ESenseManager(deviceName: "YOUR_ESENSE_NAME", listener: YOUR_CLASS)
- 扫描并连接 eSense 设备
要扫描 eSense 设备,您可以使用 scan(timeout)
方法。如果 ESenseManager
发现 eSense 设备,就会在 ESenseConnectionListener
中调用 onDeviceFind(manager)
方法。
manager.scan(timeout: SECOND)
- 处理传感器更新事件
设备连接后,您可以通过 ESenseSensrListener
来监听传感器的变化事件。请在您的类中像以下那样实现 ESenseSensorListener。
extension YOUR_CLASS:ESenseSensorListener{
func onSensorChanged(_ evt: ESenseEvent) {
// YOUR CODE HERE
}
}
最后,您可以将采样率(hz
)的 ESenseSensorListener
设置到 ESenseManager
中。
manager.registerSensorListener(YOUR_CLASS, hz: 10)
- 处理 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 文件。