我正在尝试在我的蓝牙设备上进行 OTA 更新。因此,我得到了一些 gbl 文件,我需要读出这些文件并通过 flutter_reactive_ble 发送到蓝牙设备。你们中有人知道如何读出 gbl 文件然后转换它,我可以为此使用 writeCharacteristicWithResponse 吗?
如果问题仍然是最新的。我有一个简短的答案。
具有颤振反应式 BLE 的 OTA。
您必须向设备写入一个控制位,这简单地说“嘿,现在我将开始向您发送文件。”所以在具体特征中写“0”。
等待 flutterReactiveBle.writeCharacteristicWithResponse(characteristicControl, value: [0]);
而不是通过任何类型的循环来完成文件传输。
flutterReactiveBle.writeCharacteristicWithoutResponse(characteristicData, value: tmpList);
最后,再次写入相同的控制位特征,但这次是 3.
flutterReactiveBle.writeCharacteristicWithResponse(characteristicControl, 值: [3]);
重新启动设备。
请记住,控制位、OTAControlbitCharacteristic 和 OTADataCharacteristic 的值可能与您的不同。