蓝牙ota,不是目标设备

尝试了蓝牙ota升级,方式一 DFU没问题


方式二出现问题,不是目标设备

8eacbd89242df876232d186fb23630a.jpg

试了两个程序,ble的OnlyUpdateApp_Peripheralh和mesh的adv_vendor_self_provision_with_peripheral均是找不到设备

168397c8e84250b8f67f45ca0221158.png

请问该如何解决?


使用方式二升级,是需要跳入到IAP中再用ota工具连接升级的,

OnlyUpdateApp_Peripheral例程需要通过char3接收一个字节数据才会触发OTA,这个触发可自定义,可用BLE调试助手通过char3发送一个字节数据触发下。


你好,那adv_vendor_self_provision_with_peripheral这个历程是怎么触发ota的,看代码是透传模型收到命令后才开始更新的。现在仿照OnlyUpdateApp_Peripheral的代码,char3收到字节后跳转到iap但是,跳转之后却寻找不到蓝牙设备。现在只有一块板,该怎么测试这个工程的ota功能?


对mesh进行OTA需要使用WCH MESH这个工具进行升级。连接对应的节点后,点击节点然后出现OTA升级。可以将升级文件放置在截图下文件夹下或者通过社交软件发送到手机上之后选择打开方式为WCH MESH即可使用升级。APP下载地址WCH_Mesh_Android.ZIP - 南京沁恒微电子股份有限公司

83a1498b4a58f97ca4d0a600e018d20.jpg


@TECH_Hy 想问一下,使用的是OnlyUpdateApp_Peripheral例程,用方式二DFU,也是出现这种情况,目标设备不是连接设备,我只是在APP工程里面修改了pairMode = GAPBOND_PAIRING_MODE_INITIATE;我查看了一下,是uuid没切换过来,还是保留APP那边的uuid,正常来说是应该调到IAP那边的uuid的(如果我将调试助手手动将绑定删除,他的UUID就正常),请问怎么解决


您好,可以将IAP程序中MAC地址设置的和APP程序中的MAC地址不同看看,由于配对绑定了,mac相同的话,手机端会认为是同一个设备,从而不会枚举新的服务。


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