安卓版WCH Mesh OTA升级问题

我目前正在使用CH583M芯片做蓝牙Mesh开发,看了官方提供的例子后,想测试一下OTA升级功能,按照要求下载号代码后,安装安卓版WCH Mesh APP将工程adv_vendor_self_provision_with_peripheral里的adv_vendor_self_provision_with_peripheral.hex转成bin文件拷贝到手机\Android\data\cn.wch.meshdemo\files\OTAFile文件里,给测试版配网完成后开始升级,升级完成后车身版不停的重启。于是我又重新试了一次,这次我用蓝牙抓包工具抓取了升级过程中发送的数据,发现手机发的数据根本不是升级应用程序的数据。

应用程序开头32字节数据:

image.png

蓝牙抓取到的升级过程中传输的第一包数据开头部分:

image.png

应用程序的前4字节是6F 00 10 5D 而手机发送的数据是F6 00 33 63完全不一样啊!

请问数据是经过加密了吗?还是手机APP发错数据了!

您好,使用BIN文件升级时,WCH MESH手机APP会截掉前面4K大小的区域,从4K后的区域开始升级。

您可以在BIN文件前部填充4K字节的内容,或者把jumpIAP与APP层代码合并一下以占用前4K的区域。

直接选用hex升级,也不会有上述困扰。


只有登录才能回复,可以选择微信账号登录