MQTT, Homie, Lampe

3 Nov

Nachdem für die Raumklima-Sensoren mein rustikaler erster Raspberry Pi sich als MQTT-Broker verdient macht, wollte ich meine SmartLED-Lampe auch mit anhängen. Ein paar erste Versuche mit Copy-Paste und Zu-Fuß-Programmieren kehre ich lieber unter den Teppich. Stattdessen verweise ich auf Homie, das mir die Arbeit deutlich leichter gemacht hat – nach etwas hakeligem Einstieg.

Die Konfiguration war … interessant; wenn das Homie-System auf dem Microcontroller keine Datei im Flash-Speicher findet, macht es beim ersten Start einen eigenen WLAN-Punkt auf und wartet darauf, eine JSON-Datei mit den nötigen Werten übertragen zu bekommen. Das kann man von Hand, oder auch mit einer Web-App, d.h. eine HTML-Seite mit Javascript die die Eingaben in die nötige Textdatei aufbereitet und schickt. Also „Im normalen Netzwerk die Seite im Browser öffnen, dann das Netzwerk umschalten und hoffen.“

Der Laptop verband sich zwar mit dem kleinen WLAN-AP in der Lampe, bekam aber die Datenverbindung dann nicht auf die Reihe: Jede Anfrage blieb unbeantwortet. Auch der nächste Versuch mit dem Handy war eher schwierig, weil die Konfigurations-Oberfläche als Zip-Datei heruntergeladen werden muss, um sie dann unter Android als kleine Website zu entpacken und aufzurufen. Das hat mit dem Dolphin-Browser funktioniert, aber … auch hier keine Daten.

Merkwürdig. Außerdem bewegte sich im seriellen Fenster vom Arduino, das auf dem PC läuft, gar nichts. Vielleicht doch einfach mal den Klassiker jeder Telefon-Hotline ausprobieren?

Ein einfacher Neustart (Strom aus, Strom an) an der Lampe war dann alles, was nötig war. Ab da ging’s auf Anhieb mit dem Verbinden und Erst-Einrichten, und nach ein paar letzten Verständnis-Klemmen bzgl. wo was im MQTT-Topic-Baum auftaucht, konnte ich gar nicht mehr aufhören mit „Ooooh, das könnte ich auch noch zu einem MQTT-Bedienfeld machen“.

FastLED kümmert sich um die Lampen-Ansteuerung, und die eingebauten Farbverläufe habe ich mal als erste schnelle Voreinstellungen integriert: Rainbow, Ocean, Clouds, Lava, Forest, Party.

Aber da geht noch was! (bzw. nächste Baustelle: Erstmal den Topics-Baum bereinigen, momentan habe ich da zu vieles doppelt drin und will die Steuerkanäle sinnvoll zusammenfassen: aus

devices/12345678/speed/speed
devices/12345678/level/level
devices/12345678/pattern/pattern
devices/12345678/stretch/stretch

sollte doch besser sowas wie

devices/12345678/led/speed
devices/12345678/led/level
devices/12345678/led/pattern
devices/12345678/led/stretch

werden …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

1 × drei =