iOS:简化心率监测器
构建BLE(蓝牙低能耗)设备配套应用程序可能会导致大量复制/粘贴代码。 我们决定提供开放源代码框架,以帮助其他人减少开发时间并避免在项目之间复制/粘贴代码段。
总览
在本教程中,您将使用蓝牙心率传感器构建心率监测应用程序。 我们使用Polar H10蓝牙心率传感器。 但是,只要符合蓝牙GATT服务规范(也可以提供定制服务和特性),其他任何BLE心率传感器都应该可以正常工作。
Gormsson框架
该框架是针对Harald“蓝牙” Gormsson命名的。 丹麦和挪威国王出生于910年,死于986年。
基础
如果您想以更底层的开发方式进行操作,建议阅读www.raywenderlich.com上Jawwad Ahmad的教程。
iOS的核心蓝牙教程:心率监视器
在本核心蓝牙教程中,您将学习如何从兼容设备中发现,连接和检索数据…… www.raywenderlich.com
他的教程将为您提供有关蓝牙特定术语的一些详细信息,例如:中心,外围设备,服务,特性和广告包。
您还将能够评估使用Gormsson框架以更少的代码行实现完全相同的应用程序的好处。
注意
iOS模拟器不支持蓝牙。 您需要在实际设备上构建并运行。
设置xCode项目
启动xCode并创建一个Single View App
然后键入“ Next”按钮并将项目命名为“ HeartRateMonitor”。
椰子足
您可以使用Cocoapods或Carthage安装框架。 让我们为本教程选择Cocoapods。 如果您的计算机上尚未安装该软件,请打开您喜欢的Terminal
应用程序并运行以下命令。
须藤宝石安装cocoapods
一旦安装了Cocoapods,请使用终端转到您的项目路径,然后键入以下pod命令来设置项目工作区。
cd HeartRateMonitor /
荚初始化
吊舱安装
如果一切正常,您应该在终端中看到以下内容。
分析依赖关系
下载依赖项
生成豆荚项目
整合客户项目
[!]从现在开始,请关闭任何当前的Xcode会话,并对该项目使用`HeartRateMonitor.xcworkspace`。
发送统计
吊舱安装完成! Podfile有0个依赖项,总共安装了0个pod。
关闭您的xCode项目,然后如上所述,在heartRateMonitor.xcworkspace
中打开heartRateMonitor.xcworkspace
。
添加Gormsson框架
从Pods
项目中打开Podfile
,然后添加Sejima框架依赖项。
豆荚“戈姆森”
返回终端并输入install命令,以确保将Gormsson框架添加到您的项目中。
吊舱安装
分析依赖关系
下载依赖项
安装Gormsson(0.3.0)
生成豆荚项目
整合客户项目
发送统计
吊舱安装完成! Podfile有1个依赖项,总共安装了1个pod。
用户界面
SWIFT代码
该代码非常简单。
- 首先,我们在名为“ com.ble.manager”的并发队列上启动服务。 (注意:默认情况下使用主队列,但我们不建议这样做)
- 在viewDidLoad中,我们通过仅过滤可提供“心率”服务的设备来启动Bluetooth设备扫描,如Bluetooth GATT规范中所述。
- 一旦找到设备,我们就将其连接。 Gormsson框架将自动停止扫描其他外围设备。
- 我们读取 “人体传感器位置”特征的值,并更新主线程上的UI。
- 我们还使用notify方法订阅心率测量值更新,并在每次给定值时更新主线程中的UI。
摘要
与低级CoreBluetooth实现相比,Gormsson提供了糖语法来读取或写入特征。
然后去哪儿?
您可以使用Gormsson框架找到一个名为“ Heart Rate Demo”的完整的工作项目。
该框架尚未实现所有的Bluetooth GATT服务,但是欢迎您帮助我们填补所需的缺失服务。
MoveUpwards / Gormsson
Harald“ Bluetooth” Gormsson是丹麦和挪威的国王。 – MoveUpwards / Gormsson github.com