最近在做一款智能硬件相关的APP,由于没有MFI认证,所以使用BLE进行数据的传输。硬件提供商那里给了源码,不过都是静态库,完全看不了实现步骤,自己来吧。。。固件升级遇见不少问题,果然还是太年轻了。首先就是校验和问题,每个分区发送之前都需要进行一次握手操作,校验和是关键,估计还是太浮躁,总没有算好,细心点吧。然后就是发送的时候,经常返回小机接收异常,找了半天,原来是每包的数据太大了,自己试了半天,后来硬件那边才告诉mtu是180字节。。。最后一个就是自己挖的坑了,一开始没考虑那么多,所有数据发送的接口都使用了等待反馈的参数,结果导致升级的时间长了将近一半。
- (void)writeValue:(NSData *)data forCharacteristic:(CBCharacteristic *)characteristic type:(CBCharacteristicWriteType)type;
就是上面那个参数CBCharacteristicWriteWithResponse和CBCharacteristicWriteWithoutResponse。纪录一下,自己太坑了。