1. 程式人生 > >iOS關於BLE進行OTA升級的一些總結

iOS關於BLE進行OTA升級的一些總結

最近在做一款智慧硬體相關的APP,由於沒有MFI認證,所以使用BLE進行資料的傳輸。硬體提供商那裡給了原始碼,不過都是靜態庫,完全看不了實現步驟,自己來吧。。。韌體升級遇見不少問題,果然還是太年輕了。首先就是校驗和問題,每個分割槽傳送之前都需要進行一次握手操作,校驗和是關鍵,估計還是太浮躁,總沒有算好,細心點吧。然後就是傳送的時候,經常返回小機接收異常,找了半天,原來是每包的資料太大了,自己試了半天,後來硬體那邊才告訴mtu是180位元組。。。最後一個就是自己挖的坑了,一開始沒考慮那麼多,所有資料傳送的介面都使用了等待反饋的引數,結果導致升級的時間長了將近一半。

- (void)writeValue:(NSData *)data forCharacteristic:(CBCharacteristic *)characteristic type:(CBCharacteristicWriteType)type;

就是上面那個引數CBCharacteristicWriteWithResponse和CBCharacteristicWriteWithoutResponse。紀錄一下,自己太坑了。