Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: IoT Edge 1.5
Wichtig
IoT Edge 1.5 LTS ist das unterstützte Release. IoT Edge 1.4 LTS wurde am 12. November 2024 eingestellt. Wenn Sie ein früheres Release verwenden, finden Sie weitere Informationen unter Aktualisieren von IoT Edge.
In diesem Lernprogramm erstellen Sie einen Azure Stream Analytics-Auftrag im Azure-Portal und stellen ihn als IoT Edge-Modul ohne zusätzlichen Code bereit.
In diesem Tutorial lernen Sie Folgendes:
- Erstellen eines Azure Stream Analytics-Auftrags zum Verarbeiten von Daten auf dem Edge-Gerät.
- Verbinden des neuen Azure Stream Analytics-Auftrags mit anderen IoT Edge-Modulen.
- Bereitstellen des Azure Stream Analytics-Auftrags auf einem IoT Edge-Gerät über das Azure-Portal.
Das Stream Analytics-Modul in diesem Tutorial berechnet die Durchschnittstemperatur der letzten 30 Sekunden. Wenn der Mittelwert 70 erreicht, sendet das Modul eine Warnung für das Gerät, um Maßnahmen zu ergreifen. In diesem Fall besteht die Aktion darin, den simulierten Temperatursensor zurückzusetzen. In einer Produktionsumgebung können Sie diese Funktionalität verwenden, um eine Maschine abzuschalten oder präventive Maßnahmen zu ergreifen, wenn die Temperatur gefährliche Werte erreicht.
Gründe für die Verwendung von Azure Stream Analytics in IoT Edge
Viele IoT-Lösungen verwenden Analysedienste, um Erkenntnisse zu Daten zu gewinnen, die von IoT-Geräten an die Cloud übermittelt werden. Mit Azure IoT Edge verschieben Sie die Azure Stream Analytics-Logik auf das Gerät selbst. Die Verarbeitung von Telemetriedatenströmen am Rand reduziert die Menge der hochgeladenen Daten und die Zeit, die zum Reagieren auf umsetzbare Erkenntnisse benötigt wird. Azure IoT Edge und Azure Stream Analytics integrieren sich, um die Workload-Entwicklung zu vereinfachen.
Azure Stream Analytics verwendet eine strukturierte Abfragesyntax für datenanalyse in der Cloud und auf IoT Edge-Geräten. Weitere Informationen finden Sie in der Azure Stream Analytics-Dokumentation.
Voraussetzungen
Wenn Sie nicht über ein Azure-Konto verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.
Ein Azure IoT Edge-Gerät.
Verwenden Sie einen virtuellen Azure-Computer als IoT Edge-Gerät, indem Sie die Schritte in der Schnellstartanleitung für Linux- oder Windows-Geräte ausführen.
Eine IoT Hub-Instanz in Azure im Tarif „Free“ oder „Standard“.
Erstellen eines Azure Stream Analytics-Auftrags
In diesem Abschnitt erstellen Sie einen Azure Stream Analytics-Auftrag, der:
- Empfängt Daten von Ihrem IoT Edge-Gerät.
- Fragt die Telemetriedaten nach Werten außerhalb eines festgelegten Bereichs ab.
- Führt Aktionen auf dem IoT Edge-Gerät basierend auf den Abfrageergebnissen aus.
Speicherkonto erstellen
Wenn Sie einen Azure Stream Analytics-Auftrag für die Ausführung auf einem IoT Edge-Gerät erstellen, müssen Sie ihn speichern, damit das Gerät darauf zugreifen kann. Sie können ein vorhandenes Azure Storage-Konto verwenden oder ein neues konto erstellen.
Navigieren Sie im Azure-Portal zu Ressource erstellen>Storage>Speicherkonto.
Geben Sie die folgenden Werte an, um Ihr Speicherkonto zu erstellen:
Feld Wert Abonnement Wählen Sie das gleiche Abonnement wie für Ihren IoT Hub. Ressourcengruppe Verwenden Sie dieselbe Ressourcengruppe für alle Testressourcen für die IoT Edge-Schnellstarts und Lernprogramme. Beispielsweise IoTEdgeResources. Name Geben Sie einen eindeutigen Namen für Ihr Speicherkonto an. Standort Wählen Sie einen Standort in Ihrer Nähe aus. Behalten Sie die Standardwerte für die anderen Felder bei, und wählen Sie "Überprüfen+ Erstellen" aus.
Überprüfen Sie Ihre Einstellungen, und wählen Sie dann "Erstellen" aus.
Erstellen eines neuen Auftrags
Wählen Sie im Azure-Portal Folgendes aus:
- Erstellen einer Ressource
- Internet der Dinge im Menü auf der linken Seite
- Geben Sie "Stream Analytics" in die Suchleiste ein, um sie in Azure Marketplace zu finden.
- Wählen Sie Erstellen und dann im Dropdownmenü Stream Analytics-Auftrag aus.
Geben Sie die folgenden Werte an, um Ihren neuen Stream Analytics-Auftrag zu erstellen:
Feld Wert Name Geben Sie einen Namen für Ihren Auftrag an. Beispielsweise IoTEdgeJob Abonnement Wählen Sie das gleiche Abonnement wie für Ihren IoT Hub. Ressourcengruppe Verwenden Sie dieselbe Ressourcengruppe für alle Testressourcen, die Sie während der IoT Edge-Schnellstarts und Lernprogramme erstellen. Beispiel: eine Ressource mit dem Namen IoTEdgeResources Region Wählen Sie einen Standort in Ihrer Nähe aus. Hosting-Umgebung Wählen Sie Edge aus. Mit dieser Option können Sie anstelle der Cloud auf einem IoT Edge-Gerät bereitstellen. Klicken Sie auf Überprüfen + erstellen.
Bestätigen Sie Ihre Optionen, und wählen Sie dann Erstellen aus.
Konfigurieren des Auftrags
Nachdem Sie Ihren Stream Analytics-Auftrag im Azure-Portal erstellt haben, konfigurieren Sie ihn mit einer Eingabe, einer Ausgabe und einer Abfrage , die für die Daten ausgeführt werden soll, die durchlaufen werden.
In diesem Abschnitt wird gezeigt, wie Sie einen Auftrag erstellen, der Temperaturdaten von einem IoT Edge-Gerät empfängt. Sie analysiert die Daten in einem rollierenden 30-Sekunden-Fenster. Wenn die durchschnittliche Temperatur in diesem Zeitfenster 70 Grad überschreitet, sendet der Job eine Benachrichtigung an das IoT-Edge-Gerät.
Hinweis
Sie geben an, woher die Daten kommen und wohin sie gehen, im nächsten Abschnitt Konfigurieren von IoT Edge-Einstellungen, wenn Sie den Auftrag bereitstellen.
Festlegen von Eingabe und Ausgabe
Navigieren Sie im Azure-Portal zu Ihrem Stream Analytics-Auftrag.
Wählen Sie unter "Auftragstopologie" die Option "Eingaben" und dann "Eingabe hinzufügen" aus.
Wählen Sie edge Hub aus der Dropdownliste aus.
Wenn die Edge Hub-Option in der Liste nicht angezeigt wird, haben Sie möglicherweise Ihren Stream Analytics-Auftrag als in der Cloud gehosteten Auftrag erstellt. Versuchen Sie, einen neuen Auftrag zu erstellen, und stellen Sie sicher, dass Sie Edge als Hostumgebung auswählen.
Geben Sie im Bereich Neue Eingabe die Temperatur als Eingabealias ein.
Behalten Sie in den restlichen Feldern die Standardwerte bei, und wählen Sie Speichern.
Wählen Sie unter Auftragstopologie den Eintrag Ausgaben, dann Hinzufügen aus.
Wählen Sie in der Dropdownliste die Option Edge-Hub aus.
Geben Sie im Bereich Neue Ausgabe die Warnung als Ausgabealias ein.
Behalten Sie in den restlichen Feldern die Standardwerte bei, und wählen Sie Speichern.
Erstellen einer Abfrage
Wählen Sie unter Auftragstopologie die Option Abfrage aus.
Ersetzen Sie den Standardtext durch die folgende Abfrage:
SELECT 'reset' AS command INTO alert FROM temperature TIMESTAMP BY timeCreated GROUP BY TumblingWindow(second,30) HAVING Avg(machine.temperature) > 70
In dieser Abfrage sendet der SQL-Code einen Zurücksetzungsbefehl an die Warnungsausgabe, wenn die durchschnittliche Maschinentemperatur in einem 30-sekündigen Fenster 70 Grad erreicht. Der Zurücksetzungsbefehl ist als Aktion in den Sensor vorprogrammiert.
Wählen Sie Abfrage speichern aus.
Konfigurieren von IoT Edge-Einstellungen
Um Ihren Stream Analytics-Auftrag auf einem IoT Edge-Gerät bereitzustellen, ordnen Sie Ihren Azure Stream Analytics-Auftrag einem Speicherkonto zu. Wenn Sie Ihren Auftrag bereitstellen, exportiert die Auftragsdefinition als Container in das Speicherkonto.
Wählen Sie in Ihrem Stream Analytics-Dienst unter dem Menü "Einstellungen " die Option "Speicherkontoeinstellungen" aus.
Wählen Sie die Option Blobspeicher/ADLS Gen 2 aus Ihren Abonnements auswählen aus.
Ihr Azure-Speicherkonto wird automatisch auf der Seite angezeigt. Wird es nicht angezeigt, müssen Sie einen Speicher erstellen. Wenn Sie einen anderen Speicher als den im Feld " Speicherkonto " aufgeführten Speicher auswählen müssen, wählen Sie ihn im Dropdownmenü aus.
Wählen Sie "Speichern" aus, wenn Sie Änderungen vorgenommen haben.
Bereitstellen des Auftrags
Sie können den Azure Stream Analytics-Auftrag jetzt auf Ihrem IoT Edge-Gerät bereitstellen.
In diesem Abschnitt verwenden Sie den Assistenten zum Festlegen von Modulen im Azure-Portal zum Erstellen eines Bereitstellungsmanifests. Ein Bereitstellungsmanifest ist eine JSON-Datei mit Beschreibungen für alle Module, die auf einem Gerät bereitgestellt werden. Das Manifest enthält außerdem die Containerregistrierungen, welche die Modulimages speichern, die Verwaltung der Module und die Kommunikationsmöglichkeiten für die Module untereinander. Ihr IoT Edge-Gerät ruft das Bereitstellungsmanifest aus IoT Hub ab und verwendet die Informationen darin zur Bereitstellung und Konfiguration aller seiner zugewiesenen Module.
In diesem Tutorial stellen Sie zwei Module bereit. Das erste ist das Modul SimulatedTemperatureSensor, das einen Sensor für Temperatur und Luftfeuchtigkeit simuliert. Das zweite ist Ihr Stream Analytics-Auftrag. Das Sensormodul stellt den Datenstrom bereit, der von Ihrer Auftragsabfrage analysiert wird.
Navigieren Sie im Azure-Portal zu Ihrem IoT Hub.
Wählen Sie im Menü Geräteverwaltung die Option Geräte und dann das IoT Edge-Gerät aus, um es zu öffnen.
Wählen Sie Module festlegen aus.
Wenn Sie zuvor das SimulatedTemperatureSensor-Modul auf diesem Gerät bereitgestellt haben, wird es unter Umständen automatisch aufgefüllt. Führen Sie andernfalls die folgenden Schritte aus, um das Modul hinzuzufügen:
- Wählen Sie + Hinzufügen und dann IoT Edge-Modul aus.
- Geben Sie SimulatedTemperatureSensor als Name ein.
- Geben Sie als Bild-URI mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5 ein.
- Lassen Sie die restlichen Standardeinstellungen unverändert, und wählen Sie Hinzufügen aus.
Fügen Sie Ihren Azure Stream Analytics Edge-Auftrag wie folgt hinzu:
- Wählen Sie + Hinzufügen und anschließend Azure Stream Analytics-Modul aus.
- Wählen Sie das Abonnement und den erstellten Azure Stream Analytics Edge-Auftrag aus.
- Wählen Sie Speichern aus.
Nach dem Speichern Ihrer Änderungen werden die Details Ihres Stream Analytics-Auftrags in dem von Ihnen erstellten Speichercontainer veröffentlicht.
Nachdem die Stream Analytics-Ergänzung bereitgestellt wurde, vergewissern Sie sich, dass auf der Seite Module festlegen zwei neue Module angezeigt werden.
Klicken Sie auf Überprüfen + erstellen. Das Bereitstellungsmanifest wird angezeigt.
Klicken Sie auf Erstellen.
Auf der Seite Module festlegen Ihres Geräts sollten nach einigen Minuten die Module aufgelistet und ausgeführt werden. Aktualisieren Sie die Seite, wenn keine Module angezeigt werden, oder warten Sie einige Minuten, und aktualisieren Sie sie dann erneut.
Grundlegendes zu den beiden neuen Modulen
Wählen Sie auf der Registerkarte Module festlegen Ihres Geräts den Namen Ihres Stream Analytics-Moduls aus, um zur Seite IoT Edge-Modul aktualisieren zu gelangen. Hier können Sie die Einstellungen aktualisieren.
Auf der Registerkarte Einstellungen ist der Image-URI angegeben, der auf ein Azure Stream Analytics-Standardimage verweist. Dieses einzelne Image wird für jedes Stream Analytics-Modul verwendet, das für ein IoT Edge-Gerät bereitgestellt wird.
Auf der Registerkarte Einstellungen für Modulzwilling ist der JSON-Code angegeben, der die ASA-Eigenschaft (Azure Stream Analytics) ASAJobInfo definiert. Der Wert dieser Eigenschaft verweist auf die Auftragsdefinition in Ihrem Speichercontainer. Mithilfe dieser Eigenschaft wird das Stream Analytics-Image mit Ihren individuellen Auftragsdetails konfiguriert.
Das Stream Analytics-Modul hat standardmäßig den gleichen Namen wie der Auftrag, auf dem es basiert. Der Modulname kann bei Bedarf auf dieser Seite geändert werden, dies ist jedoch nicht erforderlich.
Wählen Sie Anwenden aus, wenn Sie Änderungen vorgenommen haben, oder Abbrechen, wenn Sie keine Änderungen vorgenommen haben.
Zuweisen von Routen zu Ihren Modulen
Wählen Sie auf der Seite Module für Gerät festlegen:<Ihr Gerätename> die Option Weiter: Routen aus.
Auf der Registerkarte Routen definieren Sie, wie Nachrichten zwischen Modulen und dem IoT Hub übergeben werden. Nachrichten werden mit Name-Wert-Paaren erstellt.
Fügen Sie die Routennamen und -werte mit den in der folgenden Tabelle gezeigten Paaren hinzu. Ersetzen Sie
{moduleName}
durch den Namen Ihres Azure Stream Analytics-Moduls. Dieses Modul sollte den gleichen Namen haben, der in der Modulliste Ihres Geräts auf der Seite Module festlegen im Azure-Portal angezeigt wird.Name Wert TelemetrieInDieCloud FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
alertsToCloud FROM /messages/modules/{moduleName}/* INTO $upstream
alertsToReset FROM /messages/modules/{moduleName}/* INTO BrokeredEndpoint("/modules/SimulatedTemperatureSensor/inputs/control")
telemetryToAsa FROM /messages/modules/SimulatedTemperatureSensor/* INTO BrokeredEndpoint("/modules/{moduleName}/inputs/temperature")
Die Routen, die Sie hier deklarieren, definieren den Fluss der Daten durch das IoT Edge-Gerät. Die Telemetriedaten von „SimulatedTemperatureSensor“ werden an IoT Hub und an die Eingabe temperature (Temperatur) gesendet, die im Stream Analytics-Auftrag konfiguriert wurde. Die Meldungen der Ausgabe alert (Warnung) werden an IoT Hub und an das SimulatedTemperatureSensor-Modul gesendet, um den Zurücksetzungsbefehl auszulösen.
Klicken Sie auf Weiter: Überprüfen + erstellen.
Auf der Registerkarte Überprüfen + erstellen sehen Sie, wie die im Assistenten angegebenen Informationen in ein JSON-Bereitstellungsmanifest konvertiert werden.
Wenn Sie mit der Überprüfung des Manifests fertig sind, wählen Sie Erstellen aus, um die Einstellung Ihres Moduls abzuschließen.
Anzeigen von Daten
Wechseln Sie zu Ihrem IoT Edge-Gerät, um die Interaktion zwischen dem Azure Stream Analytics-Modul und dem SimulatedTemperatureSensor-Modul anzuzeigen.
Hinweis
Wenn Sie einen virtuellen Computer für ein Gerät verwenden, verwenden Sie die Azure Cloud Shell , um direkt auf alle azure authentifizierten Dienste zuzugreifen.
Überprüfen Sie, ob alle Module in Docker ausgeführt werden:
iotedge list
Zeigen Sie alle Systemprotokolle und Metrikdaten an. Ersetzen Sie {moduleName} durch den Namen Ihres Azure Stream Analytics-Moduls:
iotedge logs -f {moduleName}
Sehen Sie sich anhand der Sensorprotokolle an, wie sich der Zurücksetzungsbefehl auf das SimulatedTemperatureSensor-Modul auswirkt:
iotedge logs SimulatedTemperatureSensor
Sie können beobachten, wie die Temperatur des Computers allmählich steigt, bis sie 30 Sekunden lang 70 Grad beträgt. Dann löst das Stream Analytics-Modul eine Zurücksetzung aus, und die Computertemperatur fällt zurück auf 21.
Bereinigen von Ressourcen
Wenn Sie mit dem nächsten empfohlenen Artikel fortfahren möchten, behalten Sie die von Ihnen erstellten Ressourcen und Konfigurationen bei, und verwenden Sie sie wieder. Sie können auch dasselbe IoT Edge-Gerät als Testgerät weiter nutzen.
Löschen Sie andernfalls die lokalen Konfigurationen und Azure-Ressourcen, die Sie in diesem Artikel verwendet haben, um Gebühren zu vermeiden.
Löschen von Azure-Ressourcen
Das Löschen von Azure-Ressourcen und -Ressourcengruppen kann nicht rückgängig gemacht werden. Achten Sie daher darauf, dass Sie nicht versehentlich die falsche Ressourcengruppe oder die falschen Ressourcen löschen. Wenn Sie den IoT Hub in einer vorhandenen Ressourcengruppe erstellt haben, die Ressourcen enthält, die Sie behalten möchten, löschen Sie nur die IoT Hub-Ressource selbst, nicht die Ressourcengruppe.
So löschen Sie die Ressourcen:
Melden Sie sich beim Azure-Portal an, und wählen Sie anschließend Ressourcengruppen aus.
Wählen Sie den Namen der Ressourcengruppe aus, die Ihre IoT Edge-Testressourcen enthält.
Überprüfen Sie die Liste der Ressourcen, die Ihre Ressourcengruppe enthält. Wenn Sie alle löschen möchten, klicken Sie auf Ressourcengruppe löschen. Wenn Sie nur einige Ressourcen löschen möchten, wählen Sie die jeweiligen Ressourcen aus, um sie einzeln zu löschen.
Nächste Schritte
In diesem Lernprogramm richten Sie einen Azure Stream Analytics-Auftrag ein, um Daten von Ihrem IoT Edge-Gerät zu analysieren. Sie haben das Azure Stream Analytics-Modul auf Ihrem IoT Edge-Gerät geladen, um Temperatursteigerungen lokal zu verarbeiten und darauf zu reagieren und den aggregierten Datenstrom an die Cloud zu senden. Wenn Sie erfahren möchten, wie Azure IoT Edge Ihnen beim Erstellen weiterer Lösungen helfen kann, probieren Sie das nächste Lernprogramm aus.