MENU
Contact Us




Projekt

Containerbasierte Firmware für IoT-Geräte

Vorbereitung der Firmware für IoT-Geräte basierend auf Containern unter Yocto Linux



CPU

ARM

Hersteller

Toradex

OS

Linux

Kompetenzen

Linux
Containers
Python, Bash
Docker, Yocto
Linux Systemd
Uptane, OSTree
Torizon

Projektgröße:

Schwierigkeit:




Anfrage/Problem:

Unser Kunde hat ein Gerät entwickelt, welches als IoT-Gerät an Fahrzeugen montiert werden soll. Dieses erfasst Sensorinformationen vom Fahrzeug und lädt diese dann über das Mobilfunknetz in die Cloud hoch, wo die Daten mit Hilfe von künstlicher Intelligenz weiter analysiert werden. Ziel war es, eine Firmware zu erstellen, die die folgenden Eigenschaften erreicht:

  • Basiert auf Linux und mit allen Gerätetreibern, die für die verwendeten Sensoren und Kommunikationsgeräte aktiviert sind
  • Ermöglicht die Ausführung der Anwendung als Container.
  • Führt den Container im nicht-privilegierten Modus mit Zugriff auf alle Geräte aus.
  • Bietet eine Möglichkeit für Over-the-Air-Updates für die Anwendung und das Linux-Betriebssystem.
  • Verfolgt Systemfehler und behandelt sie auf definierte Weise, um eine zuverlässige Funktionalität zu ermöglichen.
  • Bietet einen nachhaltigen Weg für das Firmware-Management ohne hohe Wartungskosten.

Lösungsansatz:

Das Gerät verwendet das Toradex Verdin SoM auf einer kundenspezifischen Trägerplatine, die Zugang zu den erforderlichen Peripheriegeräten und Geräten für die Schnittstelle zu den Sensoren bietet. Da Toradex das Torizon OS für seine Module zur Verfügung stellt, war dieses zu Beginn die erste Wahl, aber es erforderte eine Menge Anpassungen, um alle Anforderungen zu erfüllen. Wir fügten folgende Anpassungen zum Torizon OS hinzu:

  • Benutzerdefinierter Devicetree für das Gerät
  • Systemd-Komponenten wie z. B.
    • Zusätzliche udev-Regeln, um die externen Geräte zu initialisieren und sie so zuzuordnen, dass der Zugriff auf die im Docker-Container laufende Anwendung auf deterministische Weise möglich ist.
    • Systemmonitor-Dienst, um den Status der Anwendung und des angeschlossenen Geräts zu verfolgen, um Fehler zu erkennen und wenn möglich zu beheben.
    • Zusätzliche Dienste zur Initialisierung der Geräte mit Anpassungen, die für die Anwendung erforderlich sind.
  • Kundenspezifische Firmware für den M4-Prozessor
  • Zusätzliche Anpassungen über die Startskripte, damit der Container auf allen erforderlichen Geräten im nicht-privilegierten Modus zugreifen kann, um die Angriffsfläche im Gerät zu reduzieren.
Neben der Anpassung bereiteten wir auch die Referenzanwendung vor, die im Docker-Container ausgeführt werden sollte. Diese Anwendung lieferte die Referenz für den Zugriff auf die Sensoren im Docker-Container und wurde vom Kunden erweitert, um die endgültige Firmware-Anwendung für das Gerät vorzubereiten. Eine weitere Anforderung war die Einrichtung eines Over-The-Air-Update-Verfahrens, mit dem die Anwendung und das Linux-Betriebssystem aktualisiert werden können. Toradex stellt die kundenspezifische Torizon OTA-Plattform zur Verfügung, die OSTree, Docker-compose und Uptane als Bausteine für die Bereitstellung atomarer Updates für das Betriebssystem und die im Container laufende Anwendung verwendet. Wir evaluierten das OTA-System und bereiteten alle notwendigen Komponenten vor, um das Build-to-Update-Setup für die Geräte zu erreichen. Wir haben Skripte vorbereitet, um den gesamten Build- und Update-Prozess zu automatisieren, so dass er vereinfacht und langfristig verwaltbar ist. Die vorbereiteten Skripte führen folgende Operationen durch:

  • reproduzierbare Möglichkeit, um OS (Torizon) Images mit den kundenspezifischen Anpassungen zu generieren.
    • Neue Releases von Toradex für Torizon können einfach mit den Anpassungen integriert und auf das Gerät aktualisiert werden.
    • Zusätzliche Anpassungen können auch in der Zukunft integriert werden.
  • Applikationsgenerierung und OS-Binärdateien, die für die Bereitstellung neuer Geräte verwendet werden können.
  • OS- und Anwendungsänderungen im definierten Format an die OTA-Plattform pushen.

System Architektur:

Firmware Architektur:

Ergebnisse:

Die Geräte werden im Feld mit der Firmware eingesetzt, die über die gelieferte Anpassung für das Betriebssystem und die Referenzanwendung entwickelt wurde. Der Kunde verwendet auch die automatisierten Skripte, um OTA-Updates für die Anwendungen durchzuführen.




Ressourcen: