Erstbetreuer: Prof. Dr. Ursula Oesing

Zweitbetreuer: Dipl. Ing. (FH) Stefan Jonker

Firma: Im Fachbereich

Thema:
Konzept und Realisierung einer hardwarenahen Anwendung zur Akquirierung von Sensordaten im Kontext Energiemanagement unter Verwendung der Transporttechnologie MQTT

Einleitung

In dieser Arbeit soll im Rahmen eines praktischen Softwareentwicklungsprojekts eine Möglichkeit zur Überwachung des Energieverbrauchs unterschiedlicher Geräte geschaffen werden. In diesem Rahmen soll zudem untersucht werden, wie sich verschiedene Technologien in diesem und vergleichbaren Kontexten eignen.

Die erstellte Anwendung soll in der Lage sein eine Reihe von Sensordaten, welche mit dem Energieverbrauch verschiedener Geräte in Relation stehen, zu erfassen. Dabei handelt es sich einerseits um Sensordaten, die direkt mit dem Energieverbrauch der einzelnen Geräte in Verbindung stehen (z.B. die aktuell vom Gerät genutzte Leistung). Andererseits sollen indirekt mit dem Energieverbrauch in Verbindung stehende Sensordaten gesammelt werden, um eventuelle Wechselwirkungen später grafisch darstellen zu können. Diese indirekt mit dem Energieverbrauch in Verbindung stehenden Sensordaten sind primär Temperaturdaten und Daten eines Bewegungsmeldemoduls.

Diese Sensordaten sollen von einer skalierbaren Anzahl Sensoren erfasst werden und mittels Raspberry Pis (ca. kreditkartengroße Einplatinencomputer) in ein MQTT-Netzwerk eingespeist werden. MQTT (Message Queuing Telemetry Transport) ist ein Netzwerkprotokoll mit zentralem Punkt (dem MQTT-Broker) zur strukturierten Datenversendung mit einem Nutzersystem und Systemen zur Fehlerbehandlung. Hierbei bilden Raspberry Pis mit jeweils mindestens einem angeschlossenen Sensor Sensorstationen, die in skalierbarer Anzahl im MQTT-Netzwerk vorhanden sein können. Aus diesem MQTT-Netzwerk sollen die Sensordaten in eine Datenbank (einen relationalen Datenbankserver, auf dem Daten in mehreren Datenbanken gespeichert werden können, in denen sich gegenseitig referenzierende Daten wiederum in mehreren Tabellen gespeichert werden können) gespeichert werden, um eine spätere Analyse dieser Sensordaten vornehmen zu können.

Sowohl die aktuellen Sensordaten aus dem MQTT-Netzwerk, als auch die Sensordaten aus der Datenbank, sollen von einer Komponente der im Rahmen dieser Arbeit erstellten Anwendung grafisch aufbereitet angezeigt werden können. Dadurch sollen Optimierungen bezüglich des Energieverbrauchs möglich werden. Einerseits erfolgt dies durch die direkte Analyse der Energieverbrauchsdaten von Emu-Leistungsmessgeräten (EMU Check USB, ein Messgerät, welches unter anderem die momentan genutzte Leistung misst), andererseits durch die Analyse von Wechselwirkungen mit den Temperatur- und den Bewegungsdaten. Die eingangs angesprochene Untersuchung der Eignung gewisser Technologien im genannten Kontext inkludiert somit die Emu-Messgeräte, das MQTT-Protokoll und die Raspberry Pis.

Motivation

Die Motivation für die vorliegende Arbeit setzt sich aus mehreren Bestandteilen zusammen. Zum einen lag der Fokus auf dem Energiemonitoring, zum anderen sollten die Einsatzmöglichkeiten spezifischer Geräte und Technologien im Kontext des Energiemonitorings in einem praktischen Umfeld untersucht werden. Weitergehende Erläuterungen dazu finden sich in den folgenden Unterkapiteln.

Energiemonitoring im aktuellen Kontext

Der Überwachung des Energieverbrauchs und damit in Relation stehender weiterer Werte (wie beispielsweise der Blindleistung) kommt aus ökonomischen und ökologischen Gründen sowie deren Wechselwirkungen eine steigende Relevanz zu. Eine solche Überwachung kann in verschiedenen Größenordnungen stattfinden. Diese Arbeit resultierte aus der Idee, eine Überwachung der verbrauchten Energie (sowie einiger weiterer Parameter) in einigen Räumen der Hochschule Bochum zu implementieren. Die geplante Größenordnung lag daher bei bis zu hundert Sensoren.

Möglichkeiten von Emu-Messgeräten

EMU-Check-USB-Messgerät.

Weiterhin dient diese Arbeit dazu, die Möglichkeiten von EMUCheck-USB-Messgeräten in einem praktischen Kontext zu untersuchen. Bei diesen handelt es sich um Messgeräte, die bei einphasigen 230V 50Hz Verbrauchern die aktuelle Leistung, die Spannung, die Blindleistung sowie einige weitere Parameter messen. Diese Messgeräte bieten über einen USB-Anschluss bzw. eine Verbindung über einen FTDI die Möglichkeit, Daten auszulesen. Die Abkürzung FTDI steht in der Umgangssprache für einem Chip, der eine Schnittstelle zwischen dem UART (bzw. Serial) und dem USB-Protokoll bietet. FTDI ist eigentlich ein Firmenname (Future Technology Devices International). Mit UART wird ein Kommunikationsprotokoll bezeichnet, das von Mikrocontrollern genutzt wird.

Energiemonitoring in Verbindung mit weiteren Kontexten

Ein aktueller Energieverbrauch steht meist in Verbindung mit weiteren kontextuellen Parametern. So kann beispielsweise eine Temperatur, die einen gewissen Wert unterschreitet, zum Einschalten von Heizsystemen führen, die in der Folge Energie verbrauchen. Aufgrund solcher kontextueller Parameter wurden in das im Kontext dieser Arbeit entwickelte System auch ein Sensor für Temperatur und Luftfeuchtigkeit (Dht11) sowie ein Bewegungsmeldemodul integriert. Durch die Betrachtung solcher Daten können Optimierungsmöglichkeiten bezüglich des Energieverbrauchs abgeleitet werden. Ein Beispiel für solch eine ablesbare Optimierungsmöglichkeit wäre, dass man Geräte automatisiert abschaltet, wenn sich aus den Daten des Bewegungsmelders ableiten lässt, dass sich keine Personen mehr im Raum befinden.

Möglichkeiten von MQTT

Zudem sollen in dieser Arbeit die Einsatzmöglichkeiten des Netzwerkprotokolls MQTT betrachtet werden. Hierbei handelt es sich um ein auf den Standardnetzwerkkommunikationsprotokollen TCP und IP basierendes Protokoll. Es bietet zum einen die Möglichkeit, Daten in hierarchische Strukturen (sogenannte Topics) zu unterteilen. Zum anderen können Daten bei unterbrochenen Verbindungen zwischengespeichert und später zugestellt werden (Quality of Service, abgekürzt QoS). MQTT benötigt einen zentralen Server (den MQTT Broker) an welchen Daten mit einem spezifischen Topic geschickt (genannt Publish) werden. Zum Empfangen dieser Daten können Topics abonniert (genannt Subscribe) werden. Somit erhält der abonnierende Client die Daten aller Topics, welche er abonniert hat.

Möglichkeiten von Raspberry Pis

Des Weiteren sollen in dieser Arbeit die Einsatzmöglichkeiten von Raspberry Pis in Kombination mit den genannten Systemen bzw. Technologien in einem praktischen Szenario beleuchtet werden. Bei einem Raspberry Pi handelt es sich um einen meist mit Linux bzw. Raspberry-Pi-OS betriebenen Einplatinencomputer, etwa in der Größe einer Bankkarte, der eine Reihe von Kommunikationsschnittstellen bietet.

Einführung in die Konzeptionierung

Es sei an dieser Stelle ein kurzer Ausblick auf das später folgende Kapitel der Konzeptionierung gegeben. In diesem werden drei im Rahmen dieser Arbeit erstellte, in Java programmierte Softwarekomponenten beschrieben. Diese drei Komponenten sind ‚SensorMqtt‘, ‚MqttSql‘ sowie ‚MqttGui‘. Die Namensgebung dieser drei Komponenten bezieht sich auf den Datenfluss der gesammelten Sensordaten. Diese werden zuerst von ‚SensorMqtt‘ gesammelt und an das MQTT-Netzwerk geschickt. ‚MqttSql‘ nimmt diese Daten an und legt sie in der Datenbank ab. Des Weiteren hat ‚MqttSql‘ auch die Aufgabe, auf Anfrage aus dem MQTTNetz die Daten (aus der Datenbank) über dieses verfügbar zu machen. Abschließend nutzt ‚MqttGui‘ diese Funktion, um Daten abzufragen und anzuzeigen.