Espressif allows us to use the OTA solution, that is suitable when we consider that we will deploy a few number of devices, mainly in local network.
When we need a more robust solution, there are not many options.
I found today a solution called JFrog Bintray which is indicated by PlatformIO (click http://docs.platformio.org/en/latest/pl ... ota-update for more details).
I tried to follow the steps in https://www.youtube.com/watch?v=SrK9Yq_Wh1A video (from Ivan Kravets), but there are some things that were not said, and I could not make the OTA work without these missing tips.
As indicated in the video, I cloned the git repository with the example code, put the API key, WiFi credentials, package and repository names in the platformio.ini file, and in fact, I could upload the firmware to the bintray repository (release version).
When I upload the debug version (through serial) to the microcontroller and run it, an error appears in the log:
Code: Select all
Device version: v.0
Connecting to … connected!
IP address: 192.168.100.126
[E][ssl_client.cpp:33] handle_error(): X509 - Certificate verification failed, e.g. CRL, CA or signature check failed
[E][ssl_client.cpp:35] handle_error(): MbedTLS message code: -9984
[E][WiFiClientSecure.cpp:109] connect(): start_ssl_client: -9984
GET request failed, error, connection refused
Error: Could not parse JSON!
Could not load info about the latest firmware, so nothing to update. Continue …