Gemenskapslösning

Styr AOOSTAR WTR MAX-skärmen på ZimaOS med Docker

An AOOSTAR WTR MAX owner could not follow generic Linux display-control instructions because ZimaOS did not provide the expected host package commands.

Slutsats: Kör AOOSTAR-skärmverktyget i en container – försök inte installera det med apt på ZimaOS-värden

AOOSTAR WTR MAX-skärmen styrs via ett USB-/seriegränssnitt, och det tillgängliga Linux-projektet är communityutvecklad reverse engineering-programvara. ZimaOS är ett appliance-liknande operativsystem, så generiska Ubuntu-instruktioner som apt install build-essential är inte rätt väg på värdsystemnivå.

Använd projektet aoostar-rs som uppströmsreferens

aoostar-rs för skärmkontroll stöder att slå på och stänga av skärmen, visa bilder och rendera sensorpaneler. Författaren varnar uttryckligen för att protokollet har tagits fram genom reverse engineering och i teorin kan få skärmens fasta programvara att krascha eller skadas, så använd det på egen risk.

Identifiera först den stabila sökvägen till serieenheten

ls -l /dev/serial/by-id/
dmesg | grep -i -E 'ttyUSB|ttyACM'

Föredra en sökväg under /dev/serial/by-id/... framför att anta att skärmen alltid är /dev/ttyUSB0. Enhetsnummer kan ändras efter omstarter eller när annan USB-hårdvara ansluts.

Skicka endast den nödvändiga enheten till en container

En Compose-tjänst kan använda en mappning under devices: för serieenheten och sedan köra binärfilen aoostar-rs inuti en vanlig Linux-container. Börja med direkt åtkomst till enheten i stället för privileged: true. Docker dokumenterar enhetsåtkomst i sin Docker-enhetsmappning.

Portainers krav är användbara om du föredrar att hantera Compose-stacken visuellt.

Kopiera inte forumets Dockerfile ordagrant

Communitysvaret är principiellt korrekt – paketera Linux-verktyget i en container och skicka vidare UART-enheten – men kommandon som usermod -aG dialout $USER i ett byggsteg ger inte automatiskt den körande containern åtkomst till värdens enhet. Kontrollera de faktiska enhetsbehörigheterna och den användare som containern körs som vid körning.

Varför detta är bättre än att ändra ZimaOS-bassystemet

En container håller kompilatorpaket och experimentell skärmprogramvara borta från appliance-systemets rotfilsystem. Begränsningarna i ZimaOS-paketen förklarar plattformsgränsen, och ZimaOS-appdistribution beskriver det stödda tillvägagångssättet.