Peripheral模式
周边模式(Peripheral Model),可以简单理解为设备App作为周边,供其他蓝牙设备连接。区别于中心模式。
蓝牙设备不能同时作为周边和中心设备,在某次连接中,只能担当一个角色。
功能集成
作为蓝牙使用者,程序需要请求蓝牙设备授权,在info.plist配置文件中,添加代码:
项目Targets对应的 Build Phases 中,引入 CoreBluetooth.framework ,使用的代码中引入头文件
请求蓝牙服务
使用CBPeripheralManagerDelegate来进行蓝牙服务管理(授权请求),监听蓝牙状态变化。
在蓝牙开启的情况下,可以创建服务、创建特质值等。
带特质值的服务创建
在设备蓝牙开启的情况下,可以建立服务 CBMutableService 和特征值 CBCharacteristic 并通过 CBPeripheralManagerDelegate 的 addService: 方法将带有特征值的服务注册给蓝牙设备。注册成功后,通过 CBPeripheralManagerDelegate 协议将服务返回。
注:一个服务可以携带多个特征值,一个蓝牙周边设备可以注册多个服务。
开启广播
通过CBPeripheralManager的 startAdvertising: 方法开启广播,成功后通过CBPeripheralManagerDelegate协议回调。
数据读写
当外设蓝牙设备收到ATT特征值请求时,协议 CBPeripheralManagerDelegate 的方法会被触发。参照协议描述,在处理数据读/写操作的协议回调方法中,必须执行方法 respondToRequest:withResult:
|
|
特征值订阅
当蓝牙中心设备在进行蓝牙设备服务的特征发现时,若将特征值配置包含被通知 CBCharacteristicPropertyNotify , 则协议中的以下回调会被调用。
|
|