IoT Szenario: Speichern und Anzeigen von Temperatursensordaten mit Azure Diensten

Jannik Weyrich
Blog von BRICKMAKERS
2 min readApr 10, 2018

*Den Beitrag in voller Länge findet ihr jetzt HIER*

Wer sich mit Azure und Microsoft beschäftigt, kommt um das Thema IoT nicht herum. Es existieren zahlreiche spezialisierte Azure Dienste für IoT Szenarien.

Da wir bei BRICKMAKERS neben der Software auch eine ausgeprägte Leidenschaft zum Basteln pflegen, haben Philipp und ich ein IoT-Proof-of-Concept rund um die neuen Azure Services gebaut.

Uns ging es hierbei zunächst darum ein echtes Problem zu lösen und dies sinnvoll mit den neuesten Azure Technologien zu verbinden. Wir wollten ein kostengünstiges System bauen, mit dem man über Wlan Temperaturverlaufsdaten dauerhaft speichern und jederzeit abrufen kann. Dies ist z.B. bei der Vermietung von Ferienwohnungen interessant.

Dabei herausgekommen ist eine Architektur bestehend aus: Einem Mikrocontroller mit Wlan (ESP8266), DHT11 Temperatursensoren, Azure IoT Hub, Azure Stream Analytics, Azure Cosmos DB, Azure Functions und einer React Web App.

Was sich zunächst wie reines “Buzzword Bingo” anhört, hat durchaus eine praktische Relevanz und ist vor allem auch für große Business-Anwendungen interessant. Denn selbst bei einem so vermeintlich trivialen Anwendungsfall wie dem Messen von Lufttemperatur und Luftfeuchtigkeit fallen je nach Systemgröße enorme Datenmengen an, die sich mit IoT Hub und Co. elegant verarbeiten lassen. Mit der vorgehend beschriebenen Architektur lassen sich auch einzelne Teile leicht austauschen und/oder weitere Einzelservices integrieren. So könnte man z.B. neben dem Temperaturszenario noch weitere Sensoren hinzufügen. (z.B. Relais zur Überprüfung ob Fenster/Türen offen stehen o.ä.)

Im folgenden Artikel beschreiben wir die Architektur und Azure Services zum Erfassen, Verarbeiten, Speichern und Ausgeben von IoT Daten mit Code-Beispielen.

Die Architektur zum Erfassen, Verarbeiten und Anzeigen von IoT-Temperaturdaten

Erfassen und Speichern der IoT-Daten

IoT Device — ESP8266 Wifi Chip und DHT11 Sensor

Hinweise zur Einrichtung der Entwicklungsumgebung für den ESP8266 Wifi Chip findet ihr auf Philipp’s Blog. Wir verwenden den günstigen DHT11 Sensor zum Erfassen von Temperatur- und Luftfeuchtigkeitsdaten.

Mit dem hier verfügbaren Programm, das man auf den ESP8266 aufspielt, verbinden wir den ESP8266 Wifi Chip mit einem Wlan und senden die gemessene Temperatur und Luftfeuchtigkeit an das Azure IoT Hub. Um eine sichere Kommunikation zum IoT Hub zu gewährleisten, verwenden wir die Azure IoT Hub Arduino Library.

Folgende Abhänigigkeiten müssen noch installiert werden:

  • AzureIoTHub
  • AzureIoTUtility
  • AzureIoTProtocol_MQTT
  • ArduinoJson
  • DHT sensor library
  • Adafruit Unified Sensor

Da es für dieses Szenario ausreicht nur alle 15 Minuten Daten zu senden, haben wir den Deep Sleep Modus für den ESP8266 implementiert. So verbraucht der Chip wesentlich weniger Strom.

Azure IoT Hub

--

--