Flutter Reactive-BLE 如何做OTA

问题描述 投票:0回答:2

我正在尝试在我的蓝牙设备上进行 OTA 更新。因此,我得到了一些 gbl 文件,我需要读出这些文件并通过 flutter_reactive_ble 发送到蓝牙设备。你们中有人知道如何读出 gbl 文件然后转换它,我可以为此使用 writeCharacteristicWithResponse 吗?

我正在使用这个库:https://github.com/PhilipsHue/flutter_reactive_ble

flutter bluetooth bluetooth-lowenergy ota
2个回答
0
投票

如果问题仍然是最新的。我有一个简短的答案。

  1. 读取文件,例如使用文件处理程序插件。
  2. 将文件逐字节拆分为 Uint8Lists。这取决于您发送文件的设备。例如244字节/传输。 这意味着您发送文件的前 244 个字节,然后发送下一个 244 个字节,依此类推。

具有颤振反应式 BLE 的 OTA。

  1. 您必须向设备写入一个控制位,这简单地说“嘿,现在我将开始向您发送文件。”所以在具体特征中写“0”。

    等待 flutterReactiveBle.writeCharacteristicWithResponse(characteristicControl, value: [0]);

  2. 而不是通过任何类型的循环来完成文件传输。

    flutterReactiveBle.writeCharacteristicWithoutResponse(characteristicData, value: tmpList);

  3. 最后,再次写入相同的控制位特征,但这次是 3.

    flutterReactiveBle.writeCharacteristicWithResponse(characteristicControl, 值: [3]);

  4. 重新启动设备。

请记住,控制位、OTAControlbitCharacteristic 和 OTADataCharacteristic 的值可能与您的不同。


© www.soinside.com 2019 - 2024. All rights reserved.