Microsoft Azure Stream Analytics ist eine Engine für die Verarbeitung von Datenströmen in Echtzeit. Sie bietet die Möglichkeit große Datenmengen die in einer hohen Geschwindigkeit eintreffen in Echtzeit abzufragen, zu filtern, mit weiteren Daten anzureichern, mit Hilfe von ML Modellen Muster und Anomalien zu erkennen und auf diese zu reagieren.
Wir haben im vorherigen Artikel ein simuliertes IoT-Gerät in C# entwickelt und eine automatische Provisionierung des IoT-Gerätes mit Hilfe des Azure Device Provisioning Services für eine IoT-Instanz vorgenommen. Um die Linie beizubehalten, werden wir nun neben dem simulierten IoT-Gerät ein echtes ESP32 Mikrocontroller-Board nutzen um diesen wiederum mit Hilfe des Azure Device Provisioning Services automatisch zu provisionieren.
Der Microsoft Azure Device Provisioning Service ist ein Hilfsdienst der die JIT-Bereitstellung im richtigen IoT-Hub ohne manuelles eingreifen ermöglicht. Der Device Provisioning Service ermöglicht die skalierbare und sichere Bereitstellung von Millionen von Geräten.
Für die Microsoft Azure Beispiele werde ich in Zukunft den Espressif ESP32 und das MXChip AZ3166 IOT Developer Kit Board verwenden. Der Grund ist, dass der Azure IoT Hub Support für den ESP32, aber vor allem für den MX Chip, viel robuster und in der Anwendung und Programmierung viel einfacher ist. Zudem ist der ESP32, genauso wie der MXChip AZ3166, Azure Zertifiziert!
Der Azure IoT Hub ist ein in der Microsoft Azure Cloud gehosteter Managed Service. Es stellt den zentralen Message Hub für die bi-direktionale Kommunikation zwischen der IoT-Lösung und dem IoT Gerät dar. Unterstützt wird die Gerät-zu-Cloud als auch die Cloud-zu-Geräte Kommunikation.
Damit IoT Gerät mit dem Azure IoT Kommunizieren können, müssen sie zuerst im IoT Hub erstellt werden. In diesem Artikel zeige ich euch wie man ein IoT Gerät im IoT Hub erstellt.
Ein Nachrichtenrouting im IoT Hub ermöglicht es, Nachrichten von den Geräten in die Cloud zu senden. Das Ziel kann dabei Azure Storage, Azure Event Hubs oder ein Azure Service Bus sein. Zudem werden wir mit einem simulierten Gerät Daten an diesen IoT Hub senden und auch aus dieser wieder die gesendeten Daten auslesen.
Wir werden mittels eines in C# simulierten Gerätes sowohl den IoT Hub als auch das Nachrichtenrouting in dem Data Lake testen. Somit stellen wir sicher, dass die ersten Komponenten in Azure sauber funktionieren und von aussen ansprechbar sind. So können wir grundsätzliche Fehler frühzeitig ausschließen.