Architekturempfehlung und How-to Data Processing mit Azure Stream Analytics und Azure Functions. In diesem Beitrag geben wir zwei Architekturempfehlungen, zeigen, wie diese umgesetzt werden können, und visualisieren die durch IoT Central akquirierten Daten in einem Power BI Dashboard.Hier gelangst Du zum ersten Teil des Blogbeitrags.
Neben dem Data Ingest ist auch das Data Processing für viele Unternehmen im Industrial Internet of Things (IIoT) noch eine große Herausforderung. Wie Unternehmen erfolgreich IoT-Projekte basierend auf einem 6-Punkte-Plan umsetzen, ist hier nachzulesen. Ein einfacher Start, industrielle Geräte an die Cloud anzubinden, wurde hier beschrieben. Dort ist aufgezeigt, wie Daten eines Industrieroboters mit IoT Central aus einem OPC-UA Server ausgelesen und mittels IoT Central in einem Azure Blob Storage gespeichert werden können.
In der Industrie wird die Nachfrage nach Cloud-Computing-Plattformen wie Microsoft Azure immer größer. Die dadurch ermöglichte Skalierbarkeit und der angebotene IoT Stack bieten eine schnelle Möglichkeit zum Ingesting, Processing und Analysieren von industriellen Datenquellen wie SCADA und zum Anbinden verschiedener ERP- und MES-Systeme.
Nachdem wir im ersten Teil der Data-Processing-Reihe auf den Service Azure Synapse eingegangen sind und zwei Architekturempfehlungen zum Batch und (Near-)Realtime Processing gegeben haben, werden wir im zweiten Teil auf die Serverless-Verarbeitung mit Azure Stream Analytics und Azure Functions eingehen.
(Near-)Realtime Processing mit Azure Stream Analytics
Im Industrial Internet of Things gibt es Millionen von Sensoren, für die hochperformante Analysen und (Near-)Realtime-Einblicke in die Daten geschaffen werden sollen. Azure Stream Analytics (ASA) bietet die Möglichkeit, mit nur wenigen Klicks verschiedene Datenquellen zu verbinden und wichtige Insights in die Daten zu schaffen. Mit ASA on IoT Edge können Analysemodelle gerätenah deployt werden, und somit kann in Echtzeit auf die Gerätedaten reagiert werden. In einem von Microsoft veröffentlichten Blogbeitrag werden acht Vorteile der Nutzung von Azure Stream Analytics beschrieben.
Im ersten Schritt wurden die durch IoT Central bereitgestellten Daten über den Eventhub an ASA weitergeleitet, mittels einer benutzerdefinierten C#-Funktion transformiert und anschließend in Power BI visualisiert.
Der Azure Blob Storage wird verwendet, um die Daten zu historisieren und die von ASA durchgeführte Analyse mit weiteren Informationen anzureichern. Die von dem Eventhub bereitgestellten Daten befinden sich im Parquet-Format und werden in zwei zentralen Schritten transformiert.
Die benötigten Roboterdaten befinden sich in der binären body-Spalte und müssen zunächst in ein lesbares Format gebracht werden. Mithilfe eines Transformationsauftrags in C# findet die Konvertierung statt und wir erhalten ein Json-String-Format.
Die im String verschachtelten Spalten werden mithilfe einer weiteren C#-Funktion entpackt und in ein Power BI Dataset geschrieben. Im Tutorial Visualisieren von betrügerischen Anrufen in Power BI wird beschrieben, wie ASA mit dem Eventhub verbunden und ein Stream-Analytics-Auftrag eingerichtet wird.
Das gezeigte Vorgehen mit der Datenakquise durch IoT Central ist für die Anfänge mit Azure IoT und das schnelle Visualisieren von IoT-Daten sehr gut geeignet. Der nächste Schritt ist das Anbinden der IoT-Geräte über den Azure IoT Hub und die Nutzung der Azure IoT Edge Runtime.
(Near-)Realtime Processing mit Azure Functions
Eine weitere Möglichkeit, IoT-Daten in Azure zu verarbeiten, ist die Verwendung von Azure Functions. In unserer Architekturempfehlung verwenden wir Azure Functions, um die Daten aus dem Eventhub zu lesen und anschließend in der Azure Cosmos DB zu speichern. Mithilfe von Azure Synapse Link wird eine Integration zwischen der Cosmos DB und Azure Synapse Analytics hergestellt.
Dadurch können Echtzeitreports anhand der in Azure Cosmos DB gespeicherten Daten erstellt und für komplexere Analysen, Azure Synapse Analytics, herangezogen werden. Mithilfe von Synapse können abschließend die Daten zur Historisierung und zum Training von Machine-Learning-Modellen im Azure Data Lake Storage gespeichert werden.
Datenvisualisierung mit Power BI
In allen vier vorgestellten Architekturen wurden die Daten mit weiteren Key-Performance-Indikatoren (KPI) angereichert (siehe auch IoT Data Processing – Teil 1: Azure Synapse Analytics). Mit Azure Stream Analytics können die Berechnungen von weiteren KPIs in zusätzlichen Transformationsabfragen durch C# oder SQL-Funktionen durchgeführt werden. Unter Verwendung von Azure Functions können diese Transformationen in deren Code integriert oder anschließend durch die Verknüpfung mit Azure Synapse Analytics durchgeführt werden. Im umgesetzten Use Case wurden zusätzlich der Throughput, die Downtime und die Downtime-Rate berechnet und anschließend in dem Power BI Dashboard visualisiert.
Außerdem wurden die Soll-Taktzeit und die aktuelle Taktzeit sowie die Soll-Stückzahl und die aktuelle Stückzahl über die Zeit dargestellt. Abschließend sind die unterschiedlichen Fehlertypen und der Energie- und Luftverbrauch der aktuellen Schicht abgebildet.
Darüber hinaus gibt es weitere Parameter zur Performancemessung von Industrieanlagen, wie die Over All Equipment Efficiency (OEE) für Produktionsanlagen und die Mean Time Between Failures (MTBF). Diese sollen in diesem Beitrag nicht unterschlagen werden und gehören mitunter zu den wichtigsten KPIs der Industrie. Aufgrund der simulierten Daten konnten diese jedoch nicht realitätsnah berechnet und somit für unsere vorgestellte IoT-End-to-End-Lösung nicht berücksichtigt werden.
Du willst Deine IoT-Daten in die Cloud bringen oder im nächsten Schritt mit Visualisierungen, Reportings und Predictive Maintenance einsteigen?
Wir unterstützen Dich bei jedem Schritt Deiner Reise ins Internet of Things!