Neu: Die KI-Firewall überwacht die gesamte Plattform und erklärt jeden Vorfall in einfachen Worten. So funktioniert es

Antwort: OTA für einen STM32-Hauptcontroller, wenn der daneben liegende ESP32 das MQTT spricht

Von English mit KI übersetzt ·

Wir haben genau das bei Gebäudesteuerungen gemacht (STM32 plus ein ESP32-Modem). Hermetry ist es egal, welcher Chip das Image am Ende ausführt; es spricht nur mit dem angemeldeten Gerät, deshalb lädt und meldet der ESP32.Wenn Sie ein Paket zuweisen, erhält das Gerät in einer Nachricht auf v1/attributes/set diese gemeinsamen Attribute: fw_title, fw_version, fw_size, fw_checksum, fw_checksum_algorithm (SHA256), fw_url und fw_sig, falls das Paket eine separate Signatur hat. fw_url ist eine kurzlebige HTTPS-Adresse mit 15 Minuten Gültigkeit, und der Download kann mit einer HTTP-Range-Anfrage fortgesetzt werden.Das Gerät meldet den Fortschritt als Client-Attribute: fw_state durchläuft DOWNLOADING, DOWNLOADED, VERIFIED, UPDATING, UPDATED (oder FAILED mit fw_error), fw_progress 0 bis 100 während des Downloads, und nach dem Neustart current_fw_title und current_fw_version. UPDATED allein wird nicht akzeptiert, es wird die neue laufende Version erwartet.Unser Ablauf auf dem ESP32:

1. fw_* kommt an -> prüfen fw_title == "irr-stm32"
2. GET fw_url (Range-Fortsetzung) in den ESP32-Flash, fw_progress melden
3. SHA-256 + Ed25519-Prüfung gegen fw_sig -> fw_state VERIFIED
4. Image per UART in den STM32-Bootloader in Bank 2 streamen
5. STM32 prüft erneut, tauscht die Bänke, startet neu -> fw_state UPDATING
6. STM32 meldet seine Version an den ESP32 -> current_fw_version

Sie haben einen 1-MB-F407, der nur eine Bank hat. Für 380 KB würde ich die oberen 512 KB als Download-Slot verwenden und einen kleinen Bootloader, der das Image nach der Prüfung dorthin kopiert. Externer Flash funktioniert auch, dann braucht der Bootloader aber den SPI-Treiber.Schalten Sie auf dem Firmware-Tab des Profils die Firmware-Updates ein (standardmäßig aus) und lassen Sie Unsignierte Images zulassen außerhalb des Testaufbaus ausgeschaltet. Updates über LTE sind ebenfalls standardmäßig aus. Setzen Sie bei dem Paket Hardware-Modelle, damit ein ESP32-Image niemals im STM32-Slot landet.Firmware updates (OTA)

Akzeptierte Lösung♥ 5