Fazit: Führen Sie das AOOSTAR-Screen-Tool in einem Container aus – installieren Sie es nicht per apt auf dem ZimaOS-Host
Das Display des AOOSTAR WTR MAX wird über eine USB-/Seriellschnittstelle gesteuert, und das verfügbare Linux-Projekt ist von der Community per Reverse Engineering entwickelte Software. ZimaOS ist ein Appliance-artiges Betriebssystem. Daher sind allgemeine Ubuntu-Anweisungen wie apt install build-essential nicht der richtige Weg auf Host-Ebene.
Verwenden Sie das Projekt aoostar-rs als Referenz des Upstream-Projekts
aoostar-rs zur Bildschirmsteuerung unterstützt das Ein- und Ausschalten des Displays, die Anzeige von Bildern und die Darstellung von Sensoranzeigen. Der Autor weist ausdrücklich darauf hin, dass das Protokoll per Reverse Engineering entwickelt wurde und theoretisch die Firmware des Displays zum Absturz bringen oder beschädigen könnte. Die Verwendung erfolgt auf eigene Gefahr.
Ermitteln Sie zunächst den stabilen Pfad des seriellen Geräts
ls -l /dev/serial/by-id/
dmesg | grep -i -E 'ttyUSB|ttyACM'
Verwenden Sie vorzugsweise einen Pfad unter /dev/serial/by-id/..., statt davon auszugehen, dass das Display immer unter /dev/ttyUSB0 erreichbar ist. Gerätenummern können sich nach Neustarts oder beim Anschließen weiterer USB-Hardware ändern.
Übergeben Sie nur das erforderliche Gerät an einen Container
Ein Compose-Dienst kann mit einer Zuordnung unter devices: das serielle Gerät einbinden und anschließend die aoostar-rs-Binärdatei in einem normalen Linux-Container ausführen. Beginnen Sie mit dem direkten Gerätezugriff statt mit privileged: true. Docker dokumentiert den Gerätezugriff in der Docker-Gerätezuordnung.
Die Portainer-Anforderungen sind hilfreich, wenn Sie den Compose-Stack lieber grafisch verwalten möchten.
Übernehmen Sie die Dockerfile aus dem Forum nicht wörtlich
Die Antwort aus der Community ist grundsätzlich richtig – kapseln Sie das Linux-Tool in einem Container und übergeben Sie die UART-Schnittstelle. Befehle wie usermod -aG dialout $USER innerhalb einer Build-Phase gewähren dem laufenden Container jedoch nicht automatisch Zugriff auf das Hostgerät. Überprüfen Sie die tatsächlichen Geräteberechtigungen und den Container-Benutzer zur Laufzeit.
Warum dies besser ist, als das ZimaOS-Basissystem zu verändern
Ein Container hält Compilerpakete und experimentelle Bildschirmsoftware vom Root-Dateisystem der Appliance fern. Die Paketbeschränkungen von ZimaOS erläutern die Plattformgrenze, und die App-Bereitstellung von ZimaOS zeigt das unterstützte Vorgehen.
