构建 Swift HealthKit iPhone 心率监测应用
1. 低功耗蓝牙(BLE)设备基础
在低功耗蓝牙(BLE)通信中,外设主要通过广告(Advertising)来宣告自身的存在。广告数据包不仅能表明外设的存在,还可包含一些数据,如外设名称,甚至与外设采集数据相关的额外信息。以心率监测应用为例,广告数据包会提供每分钟心跳次数的信息。中央设备会扫描这些广告数据包,识别相关外设,并连接到单个设备以获取更多信息。
广告数据包容量较小,无法容纳大量数据。因此,中央设备若要获取更多数据,需连接到外设。连接成功后,中央设备需选择其感兴趣的数据。在 BLE 中,数据按服务(Service)和特征(Characteristic)进行组织:
- 服务(Service) :是一组数据和相关行为的集合,描述设备的特定功能或特性。一个设备可拥有多个服务,例如心率监测器通过其心率传感器暴露心率数据就是一个典型例子。
- 特征(Characteristic) :为外设的服务提供额外细节。一个服务可包含多个特征,如心率服务可能包含描述设备心率传感器预期身体位置的特征,以及传输心率测量数据的特征。
外设由 CBPeripheral 对象表示,与特定外设相关的服务由 CBService 对象表示,而外设服务的特征由 CBCharacteristic 对象表示,这些对象被定义为包含单个逻辑值的属性类型。每个创建的服务和特征都必须通过通用唯一标识符(UUID)进行标识。UUID 可以是 16 位或 128 位值,但在构建客
超级会员免费看
订阅专栏 解锁全文
6

被折叠的 条评论
为什么被折叠?



