Projektarbeit „Smart Home“

Eine modulierbare Smart Home-Umgebung zur Erkennung von Personen in Räumen der Hochschule

In dieser Projektarbeit des Studiengangs Medizintechnik wurde eine Smart Home-Umgebung entwickelt, um die Auslastung von Laboren der Hochschule überwachen zu können. Die Umgebung wurde mit Hilfe von eigens entwickelten Sensoren und außerdem kommerziell erhältlichen Sensoren überwacht und in einem Webinterface daraufhin analysiert, ausgewertet und dargestellt.

Aufbau der Smart Home-Umgebung

Ein Raspberry Pi dient als Basis der Smart Home-Umgebung. Auf diesem Linux basierten Computer wurde die Umgebung über einzeln installierbare Software-Pakete realisiert und in drei verschiedene Teile gegliedert:

  1. Node-RED übernimmt die Logik und das darstellen der Benutzeroberfläche
  2. Mosquitto (MQTT) dient dem Transport der erfassten Daten
  3. Homegear und piVCCU stellen die Schnittstelle für die kommerziellen Sensoren dar.

Node-RED

Node-RED ist ein auf der Plattform node.js basierendes und in JavaScript geschriebenes grafisches Entwicklungswerkzeug. Die Entwicklung von Funktionsabläufen, wie beispielsweise die Steuerung von einer HomeMatic Steckdose, findet im Browser statt. Dazu ist zudem keine zusätzliche Software notwendig. Das Node-RED Dashboard ist eine Erweiterungsmöglichkeit für Node-RED und ermöglicht unter anderem die Konfiguration einer grafischen Benutzeroberfläche (siehe Abb. 1). Der User kann aus diesem Grund die Sensordaten visualisieren und daraufhin die Sensoren steuern. Das Tool Node-RED stellt ein bereits integriertes Package-System zur Verfügung. Der Entwickler kann dadurch Erweiterungen einfach nachinstallieren. Weiterhin ist die einfache Handhabung via Drag & Drop, die zahlreichen Erweiterungsmöglichkeiten und außerdem die kurze Einarbeitungszeit ein Pluspunkt für die Nutzung von Node-RED in der Projektarbeit gewesen.

https://nodered.org/

Abb. 1: Visualisierung der Sensordaten in einem Node-RED Dashboard

Die Erstellung von Funktionsabläufen geschieht in sogenannten Arbeitsblättern/Flows. Durch Drag & Drop von einzelnen Bausteinen, sind deshalb einfache Abläufe schnell erstellt. Somit lässt sich der Tür-Sensor von HomeMatic mit lediglich vier Nodes umsetzen (Abb. 3).

Abb. 2: Arbeitsblatt zu dem HomeMatic Door Sensor

Sensoren

Für das Projekt wurden einerseits HomeMatic Produkte und andererseits Eigenbau Sensoren verwendet. Ein HomeMatic-IP Präsenzmelder ist für die Anwesenheit von Personen durch die Erfassung feinster Bewegungen im Einsatz und ein HomeMatic Türsensor stellt fest, ob beispielsweise eine Tür geöffnet oder geschlossen wurde.

Im weiteren Hinblick auf die Präsenzdetektion und Bewertung der exakten Personenanzahl im Raum wurden kostengünstige PIR-Sensoren ausgewählt, da diese einen hohen Stellenwert als Bewegungsmelder haben. Ein ESP8266 Microcontroller wurde als Schnittstelle und erste Logikeinheit zwischen dem besagten PIR-Sensor und Node-RED eingesetzt, da so eine Datenübertragung zwischen den einzelnen Protokollen möglich ist. Die Auswertung dieser aufgenommenen Daten findet im Node-RED Dashboard statt.

Abb. 3: Bewegungsmelder – PIR-Sensor

Analog zum PIR-Sensor wurde auch ein Ultraschallsensor umgesetzt. Zwei HC-SR04 Sensoren errechnen 10 mal in der Sekunde die aktuelle Entfernung zur nächsten Oberfläche aus der Echozeit. Passiert nun eine Person dieses Messfeld, ändert sich folglich die Entfernung signifikant. Man kann nun aus den Daten in Node-RED ablesen, welcher Sensor zuerst ausgelöst hat. Abschließend kann die Logik der Software also bewerten, ob die Person den Raum betreten oder verlassen hat.

Abb. 4: Bewegungssensor – HC-SR04

MQTT

Die erfassten Daten der Sensoren werden über das IoT-Protokoll MQTT an Node-RED übertragen. Der MQTT-Broker Mosquitto, welcher auf dem Raspberry Pi ist, bekommt alle Daten der Sensoren zugesendet. MQTT unterscheidet zuvor die Teilnehmer des Netzwerkes in einen Broker und mehrere Clients auf. Der Raspberry Pi ist in unserem Fall der Broker. Die Sensoren, aber auch Node-RED, sind Clients. Erkennt zum Beispiel ein PIR-Sensor Bewegung, sendet dieser anschließend die Nachricht „Bewegung erkannt“ an den MQTT-Broker auf dem Raspberry Pi. Der Broker empfängt daraufhin die Nachricht und leitet sie an einen Client weiter. Dieser empfangende Client hat vorher beim Broker angemeldet, dass er alle Nachrichten des PIR-Sensors empfangen möchte.