Neulich bekam ich einen Raspberry Pi 4 geschenkt. Schön! Kleine Geschenke erhalten die Freundschaft – allerdings klappte es die letzten 20 Jahre auch ohne Schenkerei hin und her. Trotzdem, ich freue mich sehr darüber.
Die erste Berührung mit dem Raspberry Pi hatte ich 2016 bei der Sanierung meines LKW Fahrgestells in München (Thüringen!!!). Es dauerte nicht lange, dann hatte ich selber einen, eben den Pi 3B (Foto). Doch der Praxiseinsatz beschränkte sich auf die Nutzung als kleinen Desktop PC.
In Wolfstein tat der Raspi 3 wieder Dienst als Werkstatt-Computer. Dort begann ich auch mit dem Programmieren von Mikroprozessoren (Developer Boards wie Arduino Nano, ESP32 und Wemos/Lolin D1 mini) über die Arduino IDEArduino IDE. Basiswissen in PHP erleichterte mir den Einstieg in C++. Die Projektchen hatten selten einen tieferen Sinn, sondern waren eher Spielereien. Aber ein etwas umfangreicheres -und sinnvolles- beschreibe ich jetzt mal.
Ich wohnte in einer Industriebrache und hatte 50m nebendran eine kleine Halle (R.I.P. Undersweld!). Von meiner Wohnung aus erstreckte sich das Gebäude auch noch in die andere Richtung, von der Halle weg. Auf diesem Gelände konnte ich überall sein, nicht nur in Sichtkontakt zu meiner Wohnung. Also brauchte ich eine mobile Türklingel. Die Lösung bestand aus einem kleinen Gehäuse mit Taster, einem 18650 Akku und einem D1 mini. Drückte man den Taster, wachte der D1 mini aus dem akkusparenden Tiefschlaf auf und wählte sich in mein WLAN ein. Dort kontaktierte er a) den Raspberry Pi Zero, welcher über seine I/O Pins mit Relais eine Sirene und einen Blitzer in der Halle betätigte. Funktion b) meines Klingeltasters war das Versenden einer Push-Nachricht auf mein Handy. So bekam ich innerhalb weniger Sekunden Nachricht über das Türklingeln. Danach ging der D1 mini wieder schlafen. Ja ja, so war das… 😆
Auf einem LN2-Treffen (das ist das Mercedes-Modell, welches ich auch mein Eigen nenne) vor 2 Wochen infizierte ich mich neu. Bisher hatte ich mich nicht mit der Smartisierung von Häusern oder Wohnungen befasst, schließlich habe ich nur extrem wenige smarte Geräte in meinem Wohnlaster. Aber man kann diverse Sensoren in so ein System einbinden und auch schwer zugängliche Bereiche überwachen. Allein schon wegen der sonst notwendigen, irrsinnigen Verkabelung kreuz und quer durch den Wagen, erachte ich die Kommunikation über WiFi durchaus als sinnvoll. Auch die hohe Anzahl der notwendigen Pins kommt noch dazu, obwohl man recht einfach mehr Pins „generieren“ könnte. Aus den im Wagen schon überall anliegenden 12V (bzw. 24V im Fahrerhaus) 5V zu machen, ist nicht kompliziert. Zudem muss man in einem dezentralen System bei Änderungen oder Erweiterungen nur an einem kleinen Teilsystem arbeiten und keine weiteren Kabel ziehen. Und klar, ich verbinde keine lebens- oder funktionsnotwendigen Geräte über das WLAN Netzwerk meines Wagens…! 😉
So installierte ich Home Assistant erst mal auf dem Raspberry 3B, um etwas damit herum zu spielen. Internet und Netzwerk stellt mir der Mobilfunkrouter zur Verfügung.
Doch ein anderes -natürlich super wichtiges!- Projektchen bekam den Vorrang. Im Wagen habe ich 2 WS2811 oder WS2812B LED Bänder an der Decke, die einzig und allein einen fest programmierten Regenbogen ablief. Dabei wechselten die Farben nicht über den kompletten Streifen wie bei Standard RGB Bändern, sondern jede LED kann einzeln adressiert werden und ihr volles Spektrum darstellen. Also jede Farbe und in jeder Helligkeit. So hatte jede LED eine eigene Farbe und der Regenbogen lief langsam von Ende zu Ende durch. Das so programmierte Lauflicht begleitet mich schon eine ganze Weile, verzierte meinen Schreibtischarbeitsplatz in Albessen. Den Arduino Quellcode erstellte ich aus dem FastLED Projekt, allerdings mit diversen Kürzungen. Größter Nachteil meiner Kürzungen: Ich konnte nicht einmal die Helligkeit ändern…
Doch nun habe ich WLED gefunden und staune nur über dessen Möglichkeiten. Was die LED Streifen plötzlich alles darstellen können, ist schier unglaublich. Abrufbar sind unzählige bunte Effekte, deren Farben man durch diverse Farbmischungen weiter pimpen kann. Es gibt eine App und auch per Browser kann der verwendete ESP32 Controller aus dem Netzwerk über eine grafische Oberfläche bedient werden. Man kann Voreinstellungen speichern und auch Playlisten anlegen, die der Reihe nach oder zufällig abgespielt werden, ganz wie man möchte. Für mich interessant ist zudem die Einbindung in Home Assistant.
Hier eine schöne Animation zum Aufstehen, nennt sich „Sunrise“ (Sonnenaufgang) und dauert ein Weilchen:
Dies ist übrigens die schnellste Einstellung dieses Effektes! Man kann ihn auf Stunden verlängern.
Im nächsten Ausbauschritt sollten meine Lichtleisten eine kleine Fernbedienung bekommen, um zumindest einige Grundfunktionen schnell und ohne Handy ansteuern können. Ein Modell gibt es für sage und schreibe 1,50€ von einem deutschen Händler zu beziehen, die Empfängerdiode ist im Preis inbegriffen. So ein Set hatte ich mir irgendwann mal bestellt und natürlich nie verwendet, wie das meiste Zeug in der Kiste. Tja, nur ist das normalerweise keine Fernbedienung für LED-Streifen…
Auch meinem Elegoo Starterset mit Mega 2560 Controllerboard hatte eine Fernbedienung gleicher Bauform beigelegen. Mit völlig anderer Beschriftung, die noch viel weniger für LED-Bänder passen will. Aber nicht schlimm, denn einfarbig sind die Streifen bei mir nur in Weiß an und ich brauche keine Knöpfe für Farben. So weit so gut.
WLED sieht die Verwendung von Fernbedienungen vor, insofern war die „Montage“ des IR-Empfängers kein Problem. Allerdings will meine nur totales Chaos anrichten. Ich muss also die Codes anpassen, aber dafür brauche ich diese erst mal. Also ein kurzes Programm auf den D1 mini und die Codes ausgelesen.
Nun denn, an diesem Punkt verließ mich etwas der Elan, denn ich wollte erst eine weitere Funktion an meinem Lauflicht-Controller freischalten. Es gibt nämlich ein paar Lichtprogramme in WLED, die geräuschabhängig agieren können. Na wenn das mal nicht für mich Spielekind passend ist…! 3 Kabel später war ein Mikrofonmodul an den ESP32 angeschlossen.
Ich musste das Billigmodul enorm weit justieren, bestimmt 10 Umdrehungen, bevor die 2. LED am Modul endlich mal ausging und das Modul „Ruhe“ anzeigte. Dann zurück und fein eingestellt, bis mir das Resultat gefiel.
(Nicht so ruhig wie das vorherige Video… 😉 )
So weit mal diese nette Spielerei. Es gibt natürlich auch weitaus nützlichere Projekte, die man im Rahmen von Home Assistant angehen kann.
So zum Beispiel die Einbindung der Victron /Smart Geräte mit VE.Direct Schnittstelle, wie z.B. meinen SmartSolar 150/35 MPPT Laderegler, dessen Daten man dann anzeigen und auswerten kann. Ob ich auch meinen alten Victron BMV-600S Batteriecomputer anzapfen kann, weiß ich derzeit noch nicht. Es gibt ja auch noch eine ältere Schnittstelle, aber ob ich die habe oder man da Daten raus bekommt…? Wenn es nicht geht, kommt definitiv kein neuer her, denn der alte BMV Batteriemonitor tut brav seinen Dienst. Allerdings käme ich gerne an Daten des oder eines Messshunts…
Was ich auch noch neu machen möchte, ist der D1 mini, der mein DigitalKlo steuert. Also die Getriebemotoren am Feststoffbehälter (welch blumige Umschreibung!) meiner Trenntoilette steuert der, die die Wellen des Rührwerks drehen. Je nach Länge des Tastendrucks spult der Controller verschiedene Programme ab. Das aktuelle Programmchen hatte ich über die Arduino IDE erstellt, wollte es eigentlich demnächst an aktuelle Gegebenheiten anpassen und auch um zeitgesteuerte Zwischenrührungen erweitern… – doch jetzt möchte ich es in der ESPHome Umgebung und mit einer für mich neuen Syntax nochmal ganz neu schreiben. Eine Herausforderung.
Mir gefällt ESPHome enorm gut. Ich habe es auf dem Laptop als Programm und als Erweiterung in meinem Home Assistant. Es flasht verschiedene Controllertypen und sorgt für eine einfache Einbindung der Controller ins eigene Netzwerk. Also nicht wundern, wenn ich am Ende eine Toilettenstatistik führe… 😉
Ja, ich bin wieder voll infiziert…