iOS蓝牙开发要点

1.名词

中心与外围设备,中心指处理服务的蓝牙设备,一般就是iPhone手机,外围是指包含蓝牙功能的设备,比如手环、手表耳机等,一个外围设备可以发布多个服务,一个服务可以包含一个或多个特征,一个特征就是一个key-value键值对

2.iOS中的实现

中心:用CBCentralManager表示

外围设备:用CBPeripheral表示

服务:用CBService表示,服务使用UUID字段来标识,使用CBPeripheral的services属性来获取设备的所有服务

特征:用CBCharacteristic表示,跟服务一样,特征也使用UUID字段来标识,特征有多个特性:可读,可写,广播,通知等等,通过特征的value字段获取该特征的实际值。

3.流程

3.1 创建CBCentralManager实例,设置delegate

3.2 监听蓝牙状态

3.3 调用 startScan开始扫描设备

3.4 在didDiscoverPeripheral回调中处理外围设备

3.5 调用connectPeripheral连接外围设备

3.6 在didDiscoverServices回调中处理服务

3.7 在didDiscoverCharacteristicsForService回调中处理特征

3.8 使用writeValue:(NSData *)data forCharacteristic:(CBCharacteristic *)characteristic type:(CBCharacteristicWriteType)type发送数据

3.9 如有需要,在peripheral:(CBPeripheral *)peripheral didWriteValueForCharacteristic:(CBCharacteristic *)characteristic error:(nullable NSError *)error回调中监听发送数据结果

4.注意事项

4.1 大小端字节顺序转换,iOS NSData字节顺序跟网络字节顺序相反,因此需要做转换

4.2 一次发送数据不要太大,否则发送失败,数据太大要分包发送

 

 

 

 

你可能感兴趣的:(iOS,学习笔记)