Alle Geräte per Funk aktualisieren mit Fleet

Intervall, Schlafmodus oder Firmware für ein Board oder vierzig ändern, ohne USB-Kabel. Jobs, Templates, Prüfmodi und Rollback erklärt.

HydroNode 8 Min. Lesezeit
Die HydroNode Fleet-Seite mit Geräten, Firmware, Config-Revision und Live-StatusDie HydroNode Fleet-Seite mit Geräten, Firmware, Config-Revision und Live-Status

Drei Sensoren im Gewächshaus, zwei auf dem Balkon, einer im Keller. Und jetzt soll jeder alle 5 statt alle 10 Minuten senden. Früher hieß das: sechsmal Kabel holen. Mit Fleet ist es ein Dialog, und jedes Board prüft nach dem Update selbst, ob es noch richtig misst.

Was per Funk geht

HydroNode-Firmware ab 0.5.0Einmal mit dem Device Builder geflasht. Das ist der letzte USB-Flash, den das Board braucht.
Firmware: ESP32-FamilieESP32, S2, S3, C3 und C6 bekommen neue Firmware und neue Konfiguration.
Konfiguration: alleDer ESP8266 bekommt neue Einstellungen, aber keine neue Firmware. Ihm fehlt der Platz für eine zweite Kopie.
Besitzer oder AdminFleet zeigt deine Sensoren und alle, die mit Admin-Recht mit dir geteilt sind.

Konfiguration ist alles, was der Builder gefragt hat: welche Sensoren an welchen Pins, wie oft gesendet wird, wie das Board schläft. WLAN und Secret gehören nie dazu, die behält das Board.

Der Überblick

FleetDevices zeigt oben sechs Kacheln: alle Sensoren, gesund, verzögert, offline, Update verfügbar und laufende Jobs. Ein Klick auf eine Kachel filtert die Liste. Jede Zeile nennt, was das Gerät gerade tut, welche Firmware und Konfiguration es hat, wann es zuletzt und wann es als Nächstes Kontakt hat, und seine Fehlerrate der letzten sieben Tage.

In der SpalteHeißt
→ 0.7.0Neue Firmware verfügbar, das Board kann sie per Funk nehmen.
config onlyESP8266, nur Konfiguration per Funk.
needs USB onceFirmware älter als 0.5.0. Einmal neu flashen, danach geht alles per Funk.
r14Konfigurationsstand. Zählt mit jeder Änderung hoch.
driftedStammt aus einer Vorlage, wurde aber einzeln geändert.

Ein Gerät ändern

  1. Gerät öffnenAuf die Zeile klicken. Rechts öffnet sich die Detailansicht mit Status, letzter Runde und Fehlerraten.
  2. FirmwareUpdate to 0.7.0 spielt die neueste signierte Firmware auf.
  3. KonfigurationChange config öffnet den Device Builder mit dem gespeicherten Setup. Das Board bleibt fest, du änderst Verdrahtung, Schlafmodus oder Takt, und der letzte Schritt schickt alles per Funk.
Detailansicht eines Geräts in Fleet mit Status, Update-Knopf und KennzahlenDetailansicht eines Geräts in Fleet mit Status, Update-Knopf und Kennzahlen
Die Detailansicht: Zustand, die fünf Schritte eines Jobs, Firmware, Konfiguration und Prüfmodus.

Viele Geräte auf einmal

Bulk change oben rechts, oder Geräte in der Liste anhaken und unten in der Leiste Bulk change…. Ein Gerät oder vierzig, es gelten dieselben Regeln, und nichts geht raus, bevor du Create jobs drückst.

  1. ÄndernFirmware, Sendeintervall, einen Wert dazu (etwa das WLAN-Signal) oder den Stromsparmodus. Dazu der Prüfmodus für diese Änderung.
  2. Geräte wählenWelche Boards die Änderung bekommen.
  3. PrüfenHydroNode rechnet jede Regel für jedes Gerät durch. Gelb markiert, wo ein Gerät von einem anderen Wert startet als die meisten.
Dialog für Bulk change mit Firmware, Intervall, Wert und StromsparmodusDialog für Bulk change mit Firmware, Intervall, Wert und Stromsparmodus
Firmware und Konfiguration in einem Durchgang. Nichts wird gesendet, bevor du es bestätigst.
Akku unter 30 % Ein Firmware-Download ist das Stromhungrigste, was ein Board tut. Bei schwachem Akku musst du zweimal bestätigen. Stirbt der Akku mitten im Update, startet die alte Firmware wieder.

Was mit einem Job passiert

Jedes Gerät einer Änderung bekommt einen eigenen Job. Das Board startet jeden Schritt selbst, wenn es sich meldet. HydroNode greift nie in dein Netz. Ein schlafendes Gerät holt sich das Update also mit seiner nächsten Runde ab.

  1. QueuedWartet auf Kontakt
  2. OfferedMit der nächsten Antwort
  3. DownloadSigniertes Image
  4. VerifyStrict oder Lenient
  5. InstalledOder zurückgerollt
Abbrechen geht, solange der Job Queued oder Offered ist. Danach läuft er zu Ende.

Nach dem Neustart schläft das Board nicht, sondern prüft sich: bis zu drei Versuche im Abstand von 15 Sekunden, höchstens zwei Minuten. Bis es besteht, bleiben alte Firmware und alte Konfiguration auf dem Board. Fällt es durch, geht es von selbst zurück und meldet den Grund, zum Beispiel sensor_read_failed:bme280.

PrüfmodusGilt als gut nachFür
StrictAngenommenem signiertem Wert und jedem konfigurierten Sensor gelesenFast alles. Ein Sensor, der nach dem Update nicht mehr antwortet, fällt auf.
LenientDem ersten angenommenen signierten WertEin Gerät mit einem Sensor, der schon kaputt ist und Strict immer verfehlen würde.

Vorlagen für gleiche Boards

Eine Vorlage ist ein gespeichertes Setup ohne Sensor und ohne WLAN: Board, Verdrahtung, Strom und Takt. Du flashst jedes gleiche Board daraus und änderst später alle in einem Rutsch. Speicherst du eine neue Version, zeigt Fleet, welche verknüpften Geräte noch die alte haben, und Apply to linked devices… bringt sie nach dem üblichen Prüfschritt auf den neuen Stand.

Vorlagen in Fleet mit Versionen und verknüpften GerätenVorlagen in Fleet mit Versionen und verknüpften Geräten
Bis zu 50 Vorlagen, jede versioniert. Geräte, die einzeln geändert wurden, tragen drifted.

Der Verlauf

FleetJob history listet jede Änderung der letzten 30 Tage mit Nummer: J-0140 für ein Gerät, B-0142 für eine Sammeländerung. Filter für Firmware, Konfiguration und Probleme helfen beim Suchen. Wer eine Änderung gestartet hat, bekommt einen Push, wenn alle Geräte fertig sind, und sofort einen bei einem Rollback.

Job-Verlauf in Fleet mit Änderungen, Ergebnissen und GerätenJob-Verlauf in Fleet mit Änderungen, Ergebnissen und Geräten
Laufende Änderungen aktualisieren sich live, die neueste klappt von selbst auf.

Sicherheit

  • Jedes Firmware-Image ist mit ECDSA P-256 signiert. Das Board prüft die Signatur vor der Installation.
  • WLAN-Passwort und Secret sind nie Teil eines Updates.
  • HydroNode baut keine Verbindung zu deinem Gerät auf. Das Gerät fragt, HydroNode antwortet.

Weiterlesen