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.
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.
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.
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.
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.
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.
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
| Displays | Format, MIME-Typen, Tags, Default-Motiv, Demo-Modus |
|---|---|
| Gerät | aktiv oder inaktiv, Motivwechsel, programmatische Auslieferung, Partner, Fahrzeug |
| Deals | Private Deals mit eigenem CPM je Kit-Seriennummer oder Partner |
| Gebiete | Buchungsgebiete und No-Ad-Zonen als H3-Waben |
| Mender-Tags | Kit-Seriennummer, Kennzeichen und Stage werden automatisch übernommen |
| Plattform | Runtime-Konfiguration aller Services über die config-api, ohne Redeploy |
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.