有人碰到过ESP-AZURE和ESP-HTTP-OTA两个模块不能同时工作的情况吗?
Posted: Mon Mar 22, 2021 3:16 pm
我在从IDF V3.3升级IDF V4.3之前,一直在使用AZURE和OTA。办法是先用azure iot hub向设备发送升级固件的链接(directMethod),设备确定固件是新版本之后,启动esp_https_ota任务,从来都可以成功升级固件。在此同时,azure任务一直在背景工作。虽然没必要让azure工作,但是它在背景下工作并不影响OTA。等我升级到了IDFV4.3,这两个功能不能同时工作了。azure必须在工作才能收到升级命令和信息。但是一旦调用OTA,就是说cert错误,或者直接重启,free(null)错误。我唯一的办法是关掉azure任务,然后就可以成功的OTA升级。不知道有没有其他人碰到过这种情况。我现在在试着把azure和simple_ota示例程序合并,来试试能不能reproduce这个问题。azure已经有九个月没有更新了,git上有问题也没人回答。我担心它用的event_loop是太旧了。我不知道他内部用了什么东东,会造成这种问题。我再运行azure的同时也有其他任务使用https,所以https是可以用的。我也把https_config打印出来和simple_ota示例程序比较,没有区别。也许是azure在tls层面上有问题。头疼!