Firmware-Updates (OTA)
Firmware-Updates in Wellen, mit Prüfpunkten dazwischen
Laden Sie ein signiertes Paket hoch und weisen Sie es zu; jedes Gerät lädt es herunter, prüft es und installiert es selbstständig. Rollouts laufen in Wellen, und eine Welle, die ihren Prüfpunkt nicht besteht, hält den Rollout an, bevor ein fehlerhaftes Image den Rest der Flotte erreicht.
So funktioniert es
Vom Release bis zur Flotte
1
Signierschlüssel registrieren
Die Firmware wird in Ihrer eigenen Release-Pipeline signiert. Hermetry speichert nur öffentliche Schlüssel, und nur Eigentümer registrieren oder widerrufen sie.
2
Paket hochladen
Ihr Browser berechnet den SHA-256-Wert während des Uploads; Hermetry prüft ihn und die Signatur. Der Pakettitel muss mit dem Modell des Geräts übereinstimmen.
3
Zuweisen
Einem Geräteprofil, einer festen Gerätegruppe oder einem einzelnen Gerät. Die spezifischste Zuweisung gewinnt.
4
Ausrollen
In Wellen nach Anzahl oder Prozentsatz, mit Erfolgs- und Fehlerprüfpunkten und einer Wartezeit zwischen den Wellen. Jederzeit pausieren, fortsetzen oder abbrechen.
Standardplan
Der Standard-Rollout
Wird verwendet, wenn Sie keine eigenen Wellen festlegen. Ein Rollout kann bis zu 20 Wellen haben, jede mit eigener Größe, Wartezeit und eigenen Prüfpunkten.
| Welle | Geräte | Wartezeit vor der nächsten Welle | Prüfpunkt |
|---|---|---|---|
| 1 | 1 % der Geräte, mindestens 1 und höchstens 10, zuerst Online-Geräte | 30 Minuten | Mindestens 90 % aktualisiert, höchstens 5 % fehlgeschlagen |
| 2 | 10 % | 30 Minuten | Mindestens 90 % aktualisiert, höchstens 5 % fehlgeschlagen |
| 3 | 50 % | 15 Minuten | Mindestens 90 % aktualisiert, höchstens 5 % fehlgeschlagen |
| 4 | Der Rest | — | Mindestens 90 % aktualisiert, höchstens 5 % fehlgeschlagen |
Schutzmechanismen
So gebaut, dass ein fehlerhaftes Image früh gestoppt wird
Signaturen zweifach geprüft
Hermetry prüft die Signatur beim Upload, und das Gerät muss ein Image ablehnen, dessen Signatur nicht verifiziert werden kann, selbst wenn die Prüfsumme übereinstimmt.
Kompatibilitätsprüfungen
Ein Paket kann sein Profil, seine Hardware-Modelle und die älteste Version nennen, von der aus es aktualisiert. Ein Gerät, das nicht passt, wird mit Begründung übersprungen.
Niemals unverschlüsselt
Firmware wird niemals über reines MQTT angeboten. Die Download-Adresse ist 15 Minuten gültig, wird für jede Auslieferung neu erstellt, und ein abgebrochener Download setzt dort fort, wo er unterbrochen wurde.
Mobilfunkverbindungen warten
Standardmäßig wartet ein Gerät im Mobilfunknetz, bis Sie Downloads über volumenabhängige Verbindungen erlauben. Ein Gerät kann außerdem vor der Installation auf seine eigene lokale Freigabe warten.
Zurückrollen erkannt
Startet ein Gerät wieder in seine alte Version, endet sein Update als zurückgerollt, nicht als aktualisiert, und Sie können es erneut versuchen.
Paket widerrufen
Das Widerrufen eines Pakets oder des Signierschlüssels, mit dem es geprüft wurde, beendet die Rollouts, die es verwenden. Ein veraltetes Paket kann nicht mehr neu zugewiesen werden.
Geräteseite
Was das Gerät empfängt und meldet
Lizenzierte Geräte leisten dies ohne Zusatzaufwand. Für Ihre eigene Firmware beschreibt die OTA-Dokumentation jeden Schritt.
Hermetry schreibt fw_title, fw_version, fw_size, fw_checksum, fw_checksum_algorithm, fw_url und fw_sig in einer Nachricht als gemeinsame Attribute. Das Entfernen einer Zuweisung löscht sie.
Das Gerät meldet fw_state (DOWNLOADING, DOWNLOADED, VERIFIED, UPDATING, UPDATED oder FAILED), während des Downloads fw_progress, und nach jeder Verbindung current_fw_title und current_fw_version. Startet ein Gerät in einer anderen Version als der Zielversion, meldet es FAILED mit boot_failed.
Standardwerte und Grenzen
- Pakete bis 64 MiB standardmäßig
- Download-Timeout 60 Minuten, Installations-Timeout 20 Minuten, 3 Versuche pro Gerät, alles in den OTA-Einstellungen anpassbar
- Der Update-Verlauf jedes Geräts wird 180 Tage aufbewahrt
- Webhooks:
ota.update.*für jedes Gerät undota.rollout.*für abgeschlossene Wellen, Pausen, Fortsetzungen, Abschluss und Abbruch
Zurück zu einer früheren Version
Es gibt keine einzelne Schaltfläche, die die ganze Flotte zurückrollt. Weisen Sie stattdessen das frühere Paket zu: Es wird wie jeder andere Rollout ausgeliefert, mit denselben Wellen und Prüfpunkten. Ob ein Gerät eine ältere Version akzeptiert, entscheidet seine Firmware.
FAQ
Fragen zu Firmware-Updates
Signiert Hermetry unsere Firmware?
Nein. Das Signieren erfolgt in Ihrer Release-Pipeline. Hermetry speichert nur öffentliche Schlüssel und besitzt niemals einen privaten Signierschlüssel.
Was passiert, wenn die Verbindung während eines Downloads abbricht?
Das Gerät fordert eine neue Download-Adresse an und setzt den Download mit einer HTTP-Range-Anfrage dort fort, wo er unterbrochen wurde.
Können wir Geräte über Mobilfunk aktualisieren?
Ja, sobald Sie Downloads über volumenabhängige Verbindungen in den OTA-Einstellungen erlauben. Bis dahin wartet ein Gerät in einer solchen Verbindung.
Wer darf ein Update starten?
Standardmäßig laden Administratoren Pakete hoch, weisen sie zu, ändern die OTA-Einstellungen und wiederholen fehlgeschlagene Geräte; Eigentümer verwalten Signierschlüssel; Benutzer können Pakete und Update-Status einsehen.
Können andere Systeme einen Rollout verfolgen?
Ja. Webhooks melden für jedes Gerät den Start, Erfolg oder Fehlschlag des Updates sowie die Wellen, Pausen und das Ende jedes Rollouts. Siehe Webhooks.
Firmware-Updates für Geräte im Feld?
Erzählen Sie uns von Ihren Geräten und davon, wie sie sich verbinden. Wir helfen Ihnen, die Wellen und Prüfpunkte für den ersten Rollout zu planen.

