如何在不使用任何库的情况下在 App (Flutter Dart) 中实现无按钮 Dfu

how to implement buttonless Dfu in App (Flutter Dart )without using any library

我想在没有任何库的情况下在 flutter 中使用 Buttonless Dfu,Android+ios 已经有一个,但我想在所有平台上实现,所以希望我可以 connect/read/write 并使用 ble 设置通知,如果我可以通过使用这些 ble read/write 和仅通知

来实现 dfu,是否有任何教程或其他东西

或者如果有人可以列出像
这样的设置 写入命令 0x0... 进入 Bootloader
然后当设备处于引导加载程序时
为 0x0 设置通知....特征
并将 zip 文件发送到 .... 这个字符。 像这样的东西,它真的很有帮助

进入引导程序

要使用 Nordic Buttonless DFU 进入引导加载程序,您需要写入使用 16 位 UUID 0xFE59 的 Buttonless Secure DFU 服务的特征。实际特性取决于您的设置。 Buttonless DFU 可以在有或没有债券的情况下使用,并且会显示出不同的特性。查看 documentation 了解更多相关信息。

进入bootloader的协议超级简单:

要进入bootloader,需要发送0x01到特性。您将收到一个回复​​,告诉您操作的结果。消息序列图显示了由

组成的成功响应

0x20 -> 将此消息定义为响应
0x01 -> 您请求的命令(输入引导加载程序)
0x01 -> 成功

查看文档以获取更多响应代码。

正在发送固件更新

关于 DFU protocol including a part 有一个非常详细的页面,特别是关于使用 BLE。它包括一个描述实际协议的消息序列图表,您可以在其中轻松查看需要以何种顺序发送消息以及向哪个特征发送消息。