Page 1 of 1

Over the Air firmware upgrades with JFrog Bintray

Posted: Thu Oct 18, 2018 4:50 pm
by xvinny
When we develop our IoT apps, we always have to think about the distribution including updates.
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 …
Does anyone use JFrog Bintray in your ESP32 projects and can help me? :oops: