I´m facing problems with OTA since I implemented external interrupt in my code.
All funcions is ok and data is flowing to Blynk perfectly. Just the firmware update is returning error.
Anyone already passed through this?
Bellow is debug messages from serial monitor.
Every attempt of firmware download return error until reach maximum attempts and stop the shipment at the server.
Have you tried adding a noInterrupts() command at the beginning of your OTA code, and if necessary an interrupts() in the branch of the code that’s executed if OTA fails?
Hey, Pete.
Thanks for the reply.
I followed your idea but with no success.
Then, I remembered that couple weeks ago I updated the esp32 Arduino Core to v2.0.14.
I tried a rollback to v2.0.6 and now I can run firmware update through OTA again.
Seems to be a problem of compatibility of esp32 core newer versions and nothing to do with interrupts.
Pete.
I tested other template I have here and same issue when I compile with v2.0.14.
Even when not using attachinterrupt.
What is strange is that the error appers to occour in the http response of firmaware update url call.
[4484] Firmware update URL: http://ny3.blynk.cloud/static/fw_4273093479089423345_-838595071.bin?token=axgxdXvHbzVKnWlCjTpTNmP_nttSaib8
[4666] HTTP response should be 200
[4666] OTA_UPGRADE => ERROR
It’s nothing to do with the template, it the code you’re uploading.
Do what I did and take the standard Blynk Edgent ESP32 template, add in the two line of template ID and name, compile and upload via USB, provision teg device then do a Blynk.Air update.
I did what you recommended now.
Updated esp32 arduino core to v2.0.14 and uploaded Egent example with template id and name to my esp32.
Compiled new Edgent example with new version number and send a new shipment.
Got same error.