Tag 21: Hausautomation
In dem Versuch des heutigen Tages werden wir die Eigenschaften und Möglichkeiten von MQTT genauer beleuchten, in dem wir ein praktisches Szenario kreieren. In dem Beispiel gibt es ein Gebäude mit zwei Räumen mit jeweils einem Lichtschalter, einem Licht und einem Alarmsensor. Die Lichtschalter schalten das Licht des jeweiligen Raums an oder aus. Die Alarmsensoren aktivieren einen gebäudeweiten Alarm.
Normalerweise würden hier sieben verschiedene Geräte zum Einsatz kommen, die alle über einen MQTT-Broker miteinander verbunden sind. Da Sie aber wahrscheinlich nur einen NanoESP haben, simuliert dieser alle Geräte auf einmal. Deswegen sieht der Aufbau des heutigen Tages etwas kompliziert aus. Als zweites Licht wird übriges heute die LED D3 genutzt. Deswegen wird diese heute nicht anzeigen, ob Sie mit dem WLAN-Verbunden sind. Als Alarmsensoren werden die Tiltsensoren an den Verlängerungskabeln genutzt. Man könnte sie beispielsweise an Türen oder Fensterrahmen befestigen, sodass sie einen Alarm triggern wenn sich der Eingang öffnet. Hinter dem heutigen Türchen befindet sich auch der zweite Sensor.
Das Programm subscribed jetzt zu den Topics:
NanoESP/MQTTID/room1/light
NanoESP/MQTTID/room2/light
NanoESP/MQTTID/+/alarm
Mit den Buttons können Sie nun das Licht in dem jeweiligen Raum aktivieren. Wenn Sie einen Tiltsensor kippen, wird der Alarm ausgelöst. Dieser wird nach 20 Sekunden deaktiviert, oder wenn Sie eine 0 zu dem Alarm-Topic senden, z.B. über die http://www.hivemq.com/try-out/ Webseite. Über den Seriellen Monitor werden Sie zudem über alle Veränderungen informiert.
Die Tilt-Sensoren müssen senkrecht stehen (dann ist der Kontakt durch die innliegende Kugel hergestellt), sonst wird sofort ein neuer Alarm ausgelöst.
Ich werde mich hier ausklinken, denn die sogenannte ‚Hausautomation‘ interessiert mich wenig, wenn dann noch die anfälligen Technik dazu kommt ….
Ich kann nur Jedem raten sich das Video anzuschauen, der Mann spricht mir aus der Seele.
Ich stimme bei allen Dingen nicht immer 100% zu aber Recht hat er schon.
https://www.youtube.com/watch?v=wzRdraG1Cks
Noch einen schönen Advent, ein schönes Weihnachtsfest, einen guten Rutsch.
Auch dir ein schönes Weihnachtsfest. Nimms nicht so tragisch. Früher habe ich auch schon laienhaft mit Elektronik gebastelt. Ich kann dir sagen, es hat wenig funktioniert und dazu war es lange nicht so interessant.
Wenn es keine Tücken gäbe, wäre es arg langweilig, meine ich.
PS: Der Video-Onkel ist langweilig.
schon richtig,
Aber soft- und hardware probleme machen, dass es reichlich dauert, die projekte hinzukriegen. Wenn ich nicht Rentner wäre, hätte ich gar keine Zeit dafür.
apropo Blogg typ: Jemand der Linux als system hat sollte eigentlich besser mit programmen umgehen können.
Das „+“ ist ein „single level wildcard“. Guckt Ihr hier: http://www.hivemq.com/blog/mqtt-essentials-part-5-mqtt-topics-best-practices. Das bedeutet: wenn der Alarm aktiviert wird, muss die Null an NanoESP/MyMQTTiD/room1/alarm oder NanoESP/MyMQTTiD/room2/alarm gesendet werden. Dann wird’s auch wieder schön still. Und der Programmtext muss dafür auch nicht geändert werden.
Danke für den Hinweis, nun funktioniert es so wie es soll…
Dazu noch ne frage?
Wie send ich eine 0 oder 1 um Licht an und aus zu schalten, das wird nirgends erklärt…. was muss hinter die Meldung NanoESP/MyMQTTiD/room1/light??
kommt die 0 direkt dahinter, mit einem / oder : oder ; oder wie, ich bekomme es nicht hin :-(
Das Topic bleibt wie es ist, den Wert in die Message schreiben.
Also ich weiß nicht was ich falsch mache, :-(
Es hat einmal funktioniert,dann nicht mehr, habe den Sketch schon x mal neu auf Board geladen und die Daten bei http://www.hivemq.com/ eingegeben, aber weder Alarm noch Schalter noch Messages kommen auf meinem Rechner an.
bei mir sind erstmal die 2 Bewegungs Sensoren kaputt gegangen beim versuch die in das Kabel zu stecken :( die Beinchen sind fast gänzlich im Sensor verschwunden…
Ist mir bei einem auch passiert. Ich hab ihn wieder rausgezogen, das Teil funktioniert noch.
Danach habe ich nicht mehr versucht die Kabel zu nutzen, sondern zwei separate Steckbretter, die ich hatte.
is hier auch so, einmal aktiviert hört der Alarm nicht mehr auf. Dank dieser Supertollen ungenauen Beschreibung gestern und heute habe ich auch nicht nicht rausgefunden wie das funktionieren soll mit dem 0 senden an den Alarm-Topic.
Zwar kann ich die LEDs schalten, aber mehr nicht.
Bei mir klappt es nur, wenn ich nach den Connect zum Host broker.fkainka.de und dem Add topic „NanoESP/18……..ea“ die Message auf „NanoESP/18……..ea/room2/alarm“ eine 0 sende.
Mit dem „+“ als Wildcard funktioniert es nicht.
das gleiche hier, echte Kontaktprobleme mit den Verlängerungskabeln, zum board und zum sensor! (die sind wirklich nicht hierfür geeignet).
ansonsten geht es wohl im princip – abgesehen vom dauernden gepiepe, das bei mir nur aufhört solange man einen der Taster gedrückt hält. Wenn man die sensoren bewegt kommen nachrichten zum MQTT und auch wenn die taster gedrückt werden. Ich finde die LED geht nur in einem der Räume an/ aus auch wenn der ser. printer und die message was anderes sagen. vielleicht auch noch kontaktprobleme mit dem 2. taster (11-14), an den hab ich nämlich noch keine längeren Beine gelötet.
der erste taster (16 – 19) schaltet die rote LED auf dem steckbrett und der andere die blaue auf dem Nano, so das funktioniert.
Wenn ich versuche 0 an topic: NanoESP/18fe34cfa972/+/alarm zu schicken werde ich in MQTT disconnected (piepen geht weiter, keine nachricht im printer).
Ich habe im Code in Zeile 83 /+/alarm in /alarm geändert, und konnte dannach den Alarm aus und einschalten. Natu´ürlich heißt das Topic dann … NanoESP/MQTTID/alarm
Habe dementsprechend auch die Zeilen 148 und 195 angepasst … damit ich auch die Meldungen vom Board empfange … werde auch disconnected, wenn ich ‚0‘ sende.
Die in anderen Beiträgen genannten Probleme mit Wackelkontakten habe ich ebenso.
Das Prinzip ist gut, das Board auch, leider hapert es an der Stimmigikeit zwischen den gelieferten Bauteilen.
Codeänderung nicht notwendig – Bitte den Kommentar von — thymjan — lesen!
Einmal aktiviert, hört bei mir der Alarm gar nicht auf….