Die CO2 Ampel von Watterott zeigt mit farbigen LEDs die CO2 Konzentration der Luft an und seit der Firmware Version v7 von hier können serielle Kommandos übertragen werden und Daten werden seriell ausgegeben.
Siehe dazu auch Einträge in den Publikationen auf meiner Seite.
Die serielle Schnittstelle der CO2 Ampel in Linux
Die serielle Schnittstelle bei mir hier heisst /dev/ttyACM0. Man kann sie z. B. mit Minicom oder Screen öffnen, aber auch einfach mit cat auf der Kommandozeile ausgeben. Letzteres nutzen wir für unser Script.
Conky’s Schnittstelle zu shell-scriptn
Conky hat neben eigenen Schnittstellen außerdem die Möglichkeit, über periodische Aufrufe von Shellscripten Informationen zu erhalten. Mit diesen Informationen lässt sich einrichten, Conky über CO2 Werte zu informieren und anzuzeigen.
Ziel: Conky CO2 Werte anzeigen lassen
Es sind zwei shellscripte notwendig, damit zum einen die Informationen ermittelt werden und zum anderen, um sie auszugeben. Das erste Script wird auf Änderungen warten und ist deswegen überwiegend blockiert, weswegen es ausscheidet, kontinuierlich Informationen an Conky weiterzugeben. Daher schreibt es seine jeweils neuen Informationen in eine Textdatei, die von einem anderen Script ausgelesen und an Conky weitergegeben wird.
Einsammeln der seriellen CO2 Ampel Daten
Selbstverständlich muss die CO2 Ampel am Computer eingesteckt sein - was sie also nicht sein könnte. Wir verwenden wieder einen Wächter, der, wenn das Gerät angeschossen ist, die Daten filtert und in einer Datei ausgibt. Ist das Gerät nicht vorhanden, wird ein Nullwert ausgegeben.
Das Bash-Script co2ampel.watcher.sh
|
|
Das Shell-Script co2ampel.conky.sh
|
|
Der Eintrag in der Conky-Datei
|
|
Ausgabebeispiel der Datei co2ampel.txt
|
|