... | ... | @@ -19,11 +19,11 @@ In diesem Abschnitt werden die verwendeten Technologien, deren Zusammenspiel und |
|
|
|
|
|
## 3.2.1 Technisches Setup und Technologien
|
|
|
|
|
|
Technologien, die im Rahmen des IoT-Projekts verwendet wurden, sind MQTT (Mosquitto), Node-RED und Node-RED Dashboard. Die Installation von Node-RED und dem MQTT-Broker erfolgte auf einem RaspberryPi 4. Auf den RaspberryPi wurde zuerst das Betriebssystem Raspbian installiert. Nach der erfolgreichen Installation kann eine SSH Verbindung hergestellt werden, damit der Zugriff auf die Raspberry auch z.B. über einen Windows Rechner möglich ist. Nachdem alle notwendigen Konfigurationen abgeschlossen sind, muss Node-RED auf den Pi installiert werden. Außerdem wurde Node-RED auf dem Pi als Service aktiviert, was bedeutet, dass Node-RED bei Systemstart des Raspberry automatisch startet. Anschließend kann Node-RED über den Browser mit http://"DEINE IP":1880 gestartet werden. DEINE IP ist dabei die IP-Adresse der Pi. Für die Umsetzung des MVP muss dann noch das Node-RED Dashboard installiert werden. Dies ist über das Terminal oder direkt über Node-RED möglich. Zuletzt muss noch der MQTT-Broker Mosquitto auf den Pi installiert werden. Eine ausführliche Beschreibung zum Setup ist unter folgendem Link zu finden: https://ownsmarthome.de/2018/01/09/installation-von-node-red-und-mosquitto/
|
|
|
Technologien, die im Rahmen des IoT-Projekts verwendet wurden, sind MQTT (Mosquitto), Node-RED und Node-RED Dashboard. Die Installation von Node-RED und dem MQTT-Broker erfolgte auf einem RaspberryPi 4. Auf den RaspberryPi wurde zuerst das Betriebssystem Raspbian installiert. Nach der erfolgreichen Installation kann eine SSH Verbindung hergestellt werden, damit der Zugriff auf die Raspberry auch z.B. über einen Windows Rechner möglich ist. Nachdem alle notwendigen Konfigurationen abgeschlossen sind, wird Node-RED auf den Pi installiert werden. Außerdem wurde Node-RED auf dem Pi als Service aktiviert, was bedeutet, dass Node-RED bei Systemstart des Raspberry automatisch startet. Anschließend kann Node-RED über den Browser mit http://"DEINE IP":1880 gestartet werden. DEINE IP ist dabei die IP-Adresse der Pi. Für die Umsetzung des MVP wird dann noch das Node-RED Dashboard installiert. Dies ist über das Terminal oder direkt über Node-RED möglich. Zuletzt wurde noch der MQTT-Broker Mosquitto auf den Pi installiert. Eine ausführliche Beschreibung zum Setup ist unter folgendem Link zu finden: https://ownsmarthome.de/2018/01/09/installation-von-node-red-und-mosquitto/
|
|
|
|
|
|
## 3.2.2 MQTT Kommunikation und Datenfluss
|
|
|
|
|
|
Der Prototyp läuft somit komplett auf dem RaspberryPi 4. Der Zugriff auf die Sensordaten findet über Node-RED statt, indem eine Verbindung zum MQTT-Broker aufgebaut wird. Dafür wird der "MQTT Input" Node in Node-RED verwendet. Dafür muss in den Konfigurationen des Nodes ein neuer Broker hinzugefügt werden und ein Topic festgelegt werden. Dieser Topic wird dann abonniert und so können die benötigten Daten vom Broker geholt werden. Folgende Einstellungen sind für die Verbindung zum MQTT-Broker notwendig:
|
|
|
Der Prototyp läuft somit komplett auf dem RaspberryPi 4. Der Zugriff auf die Sensordaten findet über Node-RED statt, indem eine Verbindung zum MQTT-Broker aufgebaut wird. Dafür wird der "MQTT Input" Node in Node-RED verwendet. Hierzu wird in den Konfigurationen des Nodes ein neuer Broker hinzugefügt und ein Topic festgelegt. Dieser Topic wird dann abonniert und so können die benötigten Daten vom Broker geholt werden. Folgende Einstellungen sind für die Verbindung zum MQTT-Broker notwendig:
|
|
|
|
|
|
Server: broker.digitalhhz.smartlab.local
|
|
|
Port: 1883
|
... | ... | @@ -32,7 +32,7 @@ password: Auf Anfrage |
|
|
|
|
|
Ausführliche Beschreibungen zur Nutzung von MQTT über Node-RED sind hier zu finden: https://cookbook.nodered.org/#mqtt
|
|
|
|
|
|
Wichtig ist dabei zu wissen, dass auf die Sensordaten nur zugegriffen werden kann, wenn man mit HHZ Netzwerk verbunden ist. Die Daten fließen anschließend, je nach Wert, entlang des Flows und gelangen zu den Output Nodes. Diese sind in diesem Fall, ein Pop-Up Fenster und die Empfehlung. Diese Informationen erscheinen dann auf dem Dashboard. Außerdem erscheint nach 15 Minuten auf dem Dashboard die Abfrage, ob sich noch jemand im Raum befindet. Damit wurde der manueller Vorrang umgesetzt. Die Meldung bleibt für eine Minute bestehen, außer man schließt das Fenster. Damit ändert sich nichts an dem automatisch aktivierten Flow. Wird aber der "YES"-Button betätigt, wird der laufende Flow verändert und somit erscheint auf dem Dashboard, statt der Empfehlung das Licht auszuschalten, die Information, dass eine Bewegung erkannt wurde. Die umgesetzten Implementierungsaktivitäten sind in den folgenden Abbildungen dargestellt.
|
|
|
Wichtig ist dabei zu wissen, dass auf die Sensordaten nur zugegriffen werden kann, wenn es mit dem HHZ Netzwerk verbunden ist. Die Daten fließen anschließend, je nach Wert, entlang des Flows und gelangen zu den Output Nodes. Diese sind in diesem Fall, ein Pop-Up Fenster und die Empfehlung. Diese Informationen erscheinen dann auf dem Dashboard. Außerdem erscheint nach 15 Minuten auf dem Dashboard die Abfrage, ob sich noch jemand im Raum befindet. Damit wurde der manueller Vorrang umgesetzt. Die Meldung bleibt für eine Minute bestehen, außer der Benutzer schließt das Fenster. Damit ändert sich nichts an dem automatisch aktivierten Flow. Wird aber der "YES"-Button betätigt, wird der laufende Flow verändert und somit erscheint auf dem Dashboard, statt der Empfehlung das Licht auszuschalten, die Information, dass eine Bewegung erkannt wurde. Die umgesetzten Implementierungsaktivitäten sind in den folgenden Abbildungen dargestellt.
|
|
|
|
|
|
Information über die Bewegungserkennung:
|
|
|
|
... | ... | @@ -46,7 +46,7 @@ Manueller Vorrang durch Abfrage: |
|
|
|
|
|

|
|
|
|
|
|
Für den Fall, dass man nicht mit dem HHZ Netzwerk verbunden ist, haben wir eine Version des Flows erstellt, in der die Sensordaten mit dem Node "inject" simuliert werden. Je nach dem welchen inject-Node man betätigt, werden die Werte 1 oder 0 in den Flow weitergeleitet. Dadurch fällt hier der function-Node zu Beginn weg. Der Rest des Prozesses läuft dann wieder identisch ab.
|
|
|
Für den Fall, dass der Benutzer nicht mit dem HHZ Netzwerk verbunden ist, wurde eine Version des Flows erstellt, in der die Sensordaten mit dem Node "inject" simuliert werden. Je nach dem welcher inject-Node betätigt wird, werden die Werte 1 oder 0 in den Flow weitergeleitet. Dadurch fällt hier der function-Node zu Beginn weg. Der Rest des Prozesses läuft dann wieder identisch ab.
|
|
|
|
|
|

|
|
|
|
... | ... | |