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 一次發送數據不要太大,否則發送失敗,數據太大要分包發送
?
?
?
?
總結
- 上一篇: python中错误和异常处理
- 下一篇: 异常检测算法之HBOS