Device Management · Mender

Die ganze Flotte, aus der Ferne betrieben

Roofboxen und Smartboxes werden über Mender verwaltet. Updates kommen over the air und lassen sich zurückrollen, Konfigurationen werden als Artefakt verteilt, für die Fehlersuche gibt es ein Remote-Terminal. Die UZE-Plattform übernimmt den Bestand automatisch.

hosted.mender.ioA/B-UpdatesAuto-RollbackRemote-TerminalSHA-512-FingerprintSync alle 60 s
Die Mender-Schnittstelle

Drei Systeme, ein Gerätebestand

Die Geräte bauen jede Verbindung selbst nach außen auf. Deshalb funktioniert das Ganze auch hinter Mobilfunk-NAT ohne öffentliche IP-Adresse. Mender verwaltet Identität, Inventar und Updates. Der Dienst uze-mender-sync überträgt diesen Bestand jede Minute in die Geräteverwaltung der Plattform.

Geräteflotte Roofbox · Smartbox mender-client 3.3Updates · Inventar · Auth mender-connectRemote-Terminal UZE PlayerPlayout · Telemetrie RSA-Schlüssel des Geräts Mender (hosted) • Device Authentication • Inventar & Tags • Deployments & Artefakte • Troubleshoot (Terminal) • Gruppen je Stage Admin-Konsole für den Betrieb uze-mender-sync Agenda-Job, jede Minute Geräteverwaltung MongoDB · Configurator Status · Fingerprint · Version Kit-Seriennr. · Kennzeichen iot-api prüft x-device-pk-fingerprint + Mender-Status „accepted“ → Playouts & Sensordaten Poll alle 5 Min. Artefakte Inventar, Auth-Status anlegen · aktualisieren entfernen HTTPS · Fingerprint-Header → Playouts & Telemetrie
Onboarding & Authentisierung

Vom Auspacken zur ersten Ausspielung

Ein Gerät braucht keine eigenen Zugangsdaten. Seine Identität ist das RSA-Schlüsselpaar des Mender-Clients. Die Plattform bildet daraus einen SHA-512-Fingerprint des öffentlichen Schlüssels. Damit authentisiert sich der Player bei jeder Anfrage, und nur Geräte, die in Mender akzeptiert sind, bekommen Werbung.

Gerät meldet sich an

Der Mender-Client sendet seine Identität (MAC, Provisioning-ID) und den öffentlichen Schlüssel. Das Gerät steht dann als „pending“ in Mender.

Freigabe in Mender

Ein Administrator akzeptiert das Gerät und vergibt Tags wie Kit-Seriennummer, Kennzeichen und Stage-Gruppe.

Automatisch in der Plattform

Innerhalb einer Minute legt uze-mender-sync das Gerät an. Es bekommt eine lesbare Geräte-ID, Typ, Fingerprint, Status und Softwarestand.

Erste Ausspielung

Der Player sendet den Fingerprint im Header. Die iot-api prüft ihn zusammen mit dem Mender-Status und liefert Werbemittel aus.

Bestand bleibt automatisch sauber

  • Neu in Mender: Gerät wird angelegt, aktiv, mit Eigentümer UZE
  • Online-Zeit geändert: Status, Softwarestand und USB-Geräte werden aktualisiert
  • In Mender abgelehnt: Gerät wird in Mender und in der Plattform entfernt
  • 24 h nicht im Inventar: Gerät wird entfernt, ab 12 h gibt es eine Warnung
  • Jede automatische Änderung wird im Audit-Log festgehalten

Getrennte Stages

Über die Mender-Gruppe wird jedes Gerät einer Stage zugeordnet, etwa Staging oder Produktion. Jede Plattform-Instanz übernimmt nur ihre eigenen Geräte. So bleiben Test- und Produktivflotte über einen gemeinsamen Mender-Account sauber getrennt.

Remote-Updates

Over-the-Air, mit Sicherheitsnetz

Ein Deployment wird in Mender für eine Gerätegruppe gestartet. Die Geräte holen es sich beim nächsten Poll ab, installieren es und prüfen sich danach selbst. Fällt die Prüfung durch, rollen sie automatisch auf den vorherigen Stand zurück.

Rollout läuft
Download / InstallationNeustart & Health-CheckaktualisiertRollback
Simulation eines Rollouts auf 16 Roofboxen und 8 Smartboxes.

A/B-Partitionen

Ein Betriebssystem-Update wird in die inaktive Root-Partition geschrieben. Erst nach erfolgreichem Neustart und bestandener Prüfung wird sie dauerhaft übernommen. Ein Stromausfall mitten im Update hinterlässt kein defektes Gerät.

Partition Alaufendes System
Partition Bneues Image wird geschrieben

Health-Check vor dem Commit

Nach der Installation laufen Mender-State-Scripts. Ein Update gilt erst als erfolgreich, wenn alle drei Bedingungen erfüllt sind:

  • Der UZE Player läuft und ist seit dem Start nicht abgestürzt
  • Das Netzwerk ist erreichbar
  • Die Systemzeit ist synchronisiert

Andernfalls stellt das Rollback-Script die vorherigen Bibliotheken wieder her und startet den Player neu.

Was sich aktualisieren lässt

Betriebssystem

Vollständiges Root-Dateisystem-Image (UZE-OS) über A/B. Optional als Binär-Delta, damit weniger Mobilfunkvolumen anfällt.

UZE Player

Der Player selbst als Single-File-Artefakt. Seine Bibliotheken kommen als Directory-Artefakt, mit Versionsabhängigkeiten zwischen beiden.

Dienste & Konfiguration

systemd-Units, Drop-ins und YAML-Konfigurationen werden als Dateien auf das Gerät verteilt.

Wartungs-Skripte

Script-Module für einmalige Aufgaben, z. B. Journal aufräumen, lokale Datenbank leeren oder Inventar-Attribute ergänzen.

Remote-Konfiguration

Konfigurieren, ohne das Gerät anzufassen

Konfiguriert wird auf zwei Ebenen. Was das Gerät selbst wissen muss, steht in YAML-Profilen und wird per Mender verteilt. Was die Ausspielung steuert, liegt in der Plattform und wirkt schon beim nächsten Request.

Auf dem Gerät: YAML-Profile

Der Player wählt sein Profil anhand des Mender-Gerätetyps, der Region (EU oder US) und der Umgebung (Produktion oder Entwicklung). Ein eigenes Profil kann ein Standardprofil erweitern und einzelne Werte überschreiben, z. B. die API-Endpunkte. Aktiviert wird es über die Umgebungsvariable CONFIG_PATH in einem systemd-Drop-in.

# /data/uze-showcase-smartbox.yaml
expandConfiguration:
  - resource:/cfg/smart-box/smart-box.eu.prod.yaml

advertisementApi:
  baseUrl: https://iot.uze-showcase.de
iotData:
  apiBaseUrl: https://iot.uze-showcase.de

# /etc/systemd/system/uze-player.service.d/90-showcase.conf
[Service]
Environment="CONFIG_PATH=/data/uze-showcase-smartbox.yaml"

In der Plattform: sofort wirksam

DisplaysFormat, MIME-Typen, Tags, Default-Motiv, Demo-Modus
Gerätaktiv oder inaktiv, Motivwechsel, programmatische Auslieferung, Partner, Fahrzeug
DealsPrivate Deals mit eigenem CPM je Kit-Seriennummer oder Partner
GebieteBuchungsgebiete und No-Ad-Zonen als H3-Waben
Mender-TagsKit-Seriennummer, Kennzeichen und Stage werden automatisch übernommen
PlattformRuntime-Konfiguration aller Services über die config-api, ohne Redeploy
Fernzugriff & Monitoring

Sehen, was auf dem Gerät passiert

Remote-Terminal

Über Mender Connect öffnet sich eine Shell auf dem Gerät, direkt aus der Mender-Konsole. Die Verbindung baut das Gerät selbst nach außen auf, deshalb braucht es weder offene Ports noch VPN, auch im Mobilfunknetz.

Inventar

Jedes Gerät meldet Artefakt-Version, Kernel, Root-Dateisystem, Player- und Library-Version, Netzwerk-Interfaces mit IP und MAC, freien Speicher und angeschlossene USB-Geräte.

Telemetrie & Health

Zusätzlich sendet der Player alle 10 Sekunden Sensordaten und den Zustand seiner Dienste. Die Live-Karte zeigt Position und laufendes Motiv. Bei einer heruntergeklappten Roofbox wird automatisch alarmiert.

Vor Ort: Service-Modi am Gerät

Für Techniker vor Ort hat der Player eigene Ansichten, die über die Tastatur aufgerufen werden: Geräte-ID, Wartungsseite mit Display-Daten, Live-Logs, Testvideo und einen Farbtest. Beim Farbtest lassen sich Rot, Grün, Blau, Weiß und feste Helligkeitsstufen prüfen.

Alles auf einen Blick

Plattform, Hardware und Device Management im Datenblatt.

Datenblatt herunterladen