Day 21: House automation
In today’s test, we’ll illuminate the characteristics and possibilities of MQTT in more detail by creating a practical scenario. In the example, there is a building with two rooms, each of which has a light switch, a light and an alarm sensor. The light switch switches the light of the respective room on or off. The alarm sensors activate a building-wide alarm.
Normally, seven different devices would be used here, which are all connected to each other through an MQTT broker. But since we probably have only one NanoESP, this will simulate all devices. For this reason, today’s layout looks somewhat complicated. The LED D3 is used today as the second light. Therefore, today it won’t show you whether you’re connected to the WLAN. The tilt sensors are used on the extension cables as alarm sensors. A person could, for example, attach them to doors or windows so that they trigger an alarm if the entry opens. Behind today’s door is the second sensor.
The programme now subscribes to the following topics, where MyMQTTiD is replaced with your ID:
NanoESP/MyMQTTiD/room1/light
NanoESP/MyMQTTiD/room2/light
NanoESP/MyMQTTiD/+/alarm
You can now use the buttons to activate the light in the respective room. If you tip a tilt sensor, the alarm is triggered. It is deactivated either after 20 seconds or if you send a 0 to the alarm topic, e.g. through the http://www.hivemq.com/try-out/ webpage. You are also informed of all changes through the serial monitor.
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….