1、寫數(shù)據(jù):
藍(lán)牙的讀數(shù)據(jù)跟寫數(shù)據(jù)都是通過向服務(wù)特征寫入數(shù)據(jù)來完成。
[_currentPeripheral writeValue:data forCharacteristic:_currentCharacteristic type:CBCharacteristicWriteWithoutResponse];
2、讀數(shù)據(jù):
監(jiān)聽 LL_CentralManagerDelegate 的回調(diào)?- (void) receiveValue:(NSData*)value ,獲取寫數(shù)據(jù)結(jié)果及獲取數(shù)據(jù)結(jié)果义矛。
3、編解碼:
藍(lán)牙數(shù)據(jù)傳輸采用幀結(jié)構(gòu)盟萨,可以通過藍(lán)牙框架BlueTooth里面的TGBProtocol數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換凉翻,傳輸協(xié)議指令中數(shù)據(jù)類型較多,通常編碼解碼都用C語言進(jìn)行數(shù)據(jù)的二進(jìn)制處理捻激。
4制轰、注意事項(xiàng):
1)、確保每個(gè)指令的幀結(jié)構(gòu)數(shù)據(jù)的完整性胞谭,尤其是寫入指令垃杖,需要將所有數(shù)據(jù)寫入,未修改的字段也要寫入丈屹;
2)调俘、編解碼過程中,注意函數(shù)參數(shù)的含義旺垒,數(shù)字參數(shù)可表示多種含義彩库,可能是數(shù)據(jù)位數(shù)、可能是數(shù)據(jù)進(jìn)制數(shù)先蒋,也可能是數(shù)據(jù)本身骇钦,容易造成混淆;
3)竞漾、如果寫入后讀取發(fā)現(xiàn)亂碼眯搭,注意檢查下寫入指令的長度窥翩、位置。