4 ms·
Show HN: I made a GitHub Actions workflow for OTA firmware deployment to ESP32
- dominik_nowak 5y agoHi guys, I have prepared a GitHub template with a configuration for over-the-air (OTA) firmware update from a level of GitHub workflow. After a new push to a repo, the CI/CD pipeline is triggered that builds a new firmware and sends it with HTTP POST request to an OTA server running directly on ESP32. It takes ~3 minutes. Using that configuration in "matrix build" enables updating up to 256 devices at once. The project is based on / uses: - PlatformIO - Arduino - AsyncElegantOTA (for OTA server - we do not use the provided frontend) - ESPAsyncWebServer (for a simple "Hello world" server) - Husarnet (for direct access over the internet over NAT & firewall) - GitHub Actions workflow definition I hope it might be interesting for those of you who do sth with that cool WiFi chip :)
- willemmerson 5y agoLooks interesting, just wondering why you chose this architecture over the more standard "message to esp32 via mqtt then esp32 downloads firmware over https" route?
- dominik_nowak 5y agoThis architecture is IMHO simpler - you do not have any MQTT server or server for „hosting a new firmware”. You directly deploy new software like in a „standard workflow” where you send build artifacts to something with a public IP (in this example „public IP” is provided to ESP32 by Husarnet VPN)