1.Infrastruktur
Das WLAN-Subnetz: "IoT-Lab"
Es ermöglicht es den Laboren, mobile Sensoren und Automatisierungs-Baugruppen als "Thing" im Sinne des"Internet of Things", an die WLAN-Infrastruktur der Hochschule anzubinden.
Das Sub-Netz stellt einen geschützten Bereich dar, in dem die WLAN-fähigen IoT-Devices untereinander kommunizieren. Der IoT-Netzbereich hat keine direkte Verbindung zum restlichen Hochschulnetz. Dies ermöglicht, dass die IoT-Devices experimentell, im Entwicklungsstadium betrieben werden können und dennoch die IT-Sicherheit gewährleistet ist. Die DVZ nimmt die Neuanmeldungen der IoT-Devices entgegen.
IoT- Datenvermittlung zwischen LaborPC / Poolrechner/ Campus Cluster
Die Kommunikation mit den IoT-Devices vom Arbeitsplatzrechner im LAN aus, oder über das Internet, beispielsweise zur Messdatenerfassung, erfolgt über einen IoT-Datenbroker (Daten-Vermittler) der zwischen dem IoT-Netz und dem Hochschulnetz vermittelt (siehe Abb.). Der IoT-Datenbroker ist auf einem Rechner der DVZ zentral installiert und wird fachbereichsübergreifend administriert. Damit können die Labore der Fachbereiche oder auch Studierende von außerhalb der Hochschule aus, die WLAN-Devices in Echtzeit ansprechen oder Messdaten abrufen.
Auf dem Cluster-Headnode liegen Beispiele und Anleitungen in C, Python und Matlab, für Sensor- und Automatisierungstechnik, wie man WLAN-Sensoren und IoT-Devices programmiert und an das IOT-WLAN der Hochschule anmeldet.
2. Anwendung
Grundlegendes Vorgehen zur Anbindung von IoT-Devices über den "mqtt"-Datenbroker
Die hier Angegebenen Schritte beschreiben nur die allgemeine Vorgehensweise. Die detailierten Anleitungen finden Sie unter: ~/cluster-public/IOT_LAB/doc
Die Kommunikation der Devices untereinander und mit Messrechnern verläuft über das mqtt-Protokoll. → http://mqtt.org/ MQTT (Message Queuing Telemetry Transport). Das Protokoll ist ein offenes Nachrichtenprotokoll für Machine-to-Machine-Kommunikation (M2M). Es hat sich als weit verbreitetes Internet-of-Things-Standardprotokoll durchgesetzt.
Die wesentlichen Schritte, um ein IOT-Device in Betrieb zu nehmen, sind:
- Ein IoT-Device (hier: WLAN-fähige Mini-Baugruppe mit angeschlossenen Sensoren/Aktoren) auswählen, bzw. kaufen.
- Auf einem lokalen Rechner die, zu dem IOT-Device passende, gegebenenfalls mitgelieferte Programmierungebung ( - beispielsweise Adruino IDE) installieren und das Device über USB mit dem Rechner verbinden. Lokale Funktionen des Devices testen.
- Sicherstellen, dass in Ihrem Gebäudeteil das IoT-WLAN ausgestrahlt wird. Mit dem Smartphone können vorhandene Wlan Netze angezeigt werden. Evtl. DVZ anrufen 64-911
- Das Device bei der DVZ anmelden. https://www.fh-muenster.de/datenverarbeitungszentrale/service/formulare/zulassung-geraete-rechnernetz.php Dazu muss die MAC-Adresse des IOT-Device bekannt sein, bzw. vorab mit einem lokalen PC per USB vom Device ausgelesen werden.
- Das IoT-Client-Programm für das IOT-Device schreiben, bzw. ein Beispiel für das eigene IOT-Device anpassen. Das Programm auf das Device per USB uploaden. Damit Daten über das mqtt-Datenprotokoll versendet oder empfangen werden können, muss, gegebenenfalls auf dem Device die mqtt-Client-library hinzugefügt werden. (→ siehe 'Installationsanleitung Client') Danach kann das Device gestartet werden.
- Überprüfen, ob sich das Device richtig mit dem mqtt-Broker verbunden hat. Das Device dazu noch vorerst am lokalen Rechner angeschlossen lassen und mit dem Serial-Monitor über USB die Ausgabe überwachen.
- Je nach Anwendungsfall, einen weiteren Client wählen, der sich nun ebenfalls mit dem mqtt-Broker verbindet, um Sensordaten zu empfangen oder um Steuersignale an das Device zu senden. Dies kann entweder ein weiteres IoT-Device oder ein Client-Programm auf dem eigenen Laborrechner, oder ein Messprogramm auf einem Cluster-Desktop sein.
Beispiele, Anleitungen und Sourcecode auf dem Campus-Cluster
Sie sind zu finden unter: ~/cluster-public/IoT_LAB
- Software und Doku zur Programmierumgebung (IDE) der IOT-Devices /tools
- Beispiele zum upload auf bekannte, mobile IoT-Devices /examples/small_devices
- Dokumentation zum IoT-Lab /doc
- ausführbare Beispielprogramme, die Messdaten abrufen und anzeigen /examples/mqtt_read_data
- ausführbare Beispielprogramme, die Daten an den Broker senden /examples/mqtt_send_data