Freigeben über


Lernprogramm: Überwachen von IoT-Geräten und Senden von Benachrichtigungen mit Azure Logic Apps

Verwenden Sie Azure Logic Apps, um eingehende Gerätetelemetrie über IoT Hub zu überwachen und Benachrichtigungen zu senden, wenn Warnungen ausgelöst werden.

Ende-zu-Ende-Diagramm

Mit Azure Logic Apps können Sie Workflows lokal und cloudübergreifend, mehrere Unternehmen und verschiedene Protokolle koordinieren. Eine Logik-App beginnt mit einem Trigger, gefolgt von einer oder mehreren Aktionen, die mit integrierten Steuerelementen wie Bedingungen und Iteratoren sequenziert werden können. Diese Flexibilität macht Logic Apps zu einer idealen IoT-Lösung für IoT-Überwachungsszenarien. Beispielsweise kann das Eintreffen von Daten von einem Gerät an einem IoT Hub-Endpunkt Logik-App-Workflows initiieren, um die Daten in einem Azure Storage-Blob zu speichern, E-Mail-Benachrichtigungen zu senden, um Datenanomalien zu warnen, einen Technikerbesuch zu planen, wenn ein Gerät einen Fehler meldet usw.

In diesem Lernprogramm führen Sie die folgenden Aufgaben aus:

Erstellen Sie eine Servicebus-Warteschlange. Erstellen Sie eine Route in Ihrem IoT-Hub, die Nachrichten an die Servicebus-Warteschlange sendet, wenn die Nachrichten anomale Temperaturwerte enthalten. Erstellen Sie eine Logik-App, die auf Nachrichten überwacht, die in der Warteschlange ankommen, und sendet eine E-Mail-Benachrichtigung.

Der clientcode, der auf Ihrem Gerät ausgeführt wird, legt für jede Telemetrienachricht, die er an Ihren IoT-Hub sendet, temperatureAlerteine Anwendungseigenschaft fest. Wenn der Clientcode eine Temperatur über einem bestimmten Schwellenwert erkennt, setzt dieser die Eigenschaft auf true; andernfalls setzt er die Eigenschaft auf false.

Nachrichten, die an Ihrem IoT-Hub ankommen, sehen ähnlich wie folgt aus, wobei die Im Textkörper enthaltenen Telemetriedaten und die temperatureAlert Eigenschaft in den Anwendungseigenschaften enthalten sind (Systemeigenschaften werden nicht angezeigt):

{
  "body": {
    "messageId": 18,
    "deviceId": "Raspberry Pi Web Client",
    "temperature": 27.796111770668457,
    "humidity": 66.77637926438427
  },
  "applicationProperties": {
    "temperatureAlert": "false"
  }
}

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Voraussetzungen

Bereiten Sie die folgenden Voraussetzungen vor, bevor Sie mit diesem Lernprogramm beginnen.

Erstellen des ServiceBus-Namespaces und der Warteschlange

Erstellen Sie einen Service Bus-Namespace und eine Service Bus-Warteschlange. Später in diesem Artikel erstellen Sie eine Routingregel in Ihrem IoT-Hub, um Nachrichten zu leiten, die eine Temperaturwarnung für die Servicebus-Warteschlange enthalten. Eine Logik-App überwacht die Warteschlange für eingehende Nachrichten und sendet eine Benachrichtigung für jede Warnung.

Erstellen eines ServiceBus-Namespace

  1. Verwenden Sie im Azure-Portal die Suchleiste, um nach Service Bus zu suchen und auszuwählen.

  2. Wählen Sie "Erstellen" aus, um einen Servicebusnamespace zu erstellen.

  3. Geben Sie im Bereich "Namespace erstellen " die folgenden Informationen an:

    Parameter Wert
    Subscription Wählen Sie dasselbe Abonnement aus, das Ihren IoT-Hub enthält.
    Ressourcengruppe Wählen Sie dieselbe Ressourcengruppe aus, die Ihren IoT-Hub enthält.
    Namespacename Geben Sie einen Namen für Ihren Servicebusnamespace an. Der Namespace muss in Azure eindeutig sein.
    Ort Wählen Sie denselben Speicherort aus, den Ihr IoT-Hub verwendet.
    Preisniveau Wählen Sie " Einfach " aus der Dropdownliste aus. Die Stufe "Einfach" reicht für dieses Lernprogramm aus.
  4. Klicken Sie auf Überprüfen + erstellen.

  5. Wählen Sie "Erstellen" aus.

  6. Warten Sie, bis die Bereitstellung abgeschlossen ist, und wählen Sie dann Zur Ressource wechseln aus.

Hinzufügen einer Servicebus-Warteschlange zum Namespace

  1. Wählen Sie auf der Seite "Übersicht" des Service Bus-Namespace die Option "Warteschlange" aus.

    Screenshot der Namespaceübersichtsseite zum Hinzufügen einer Warteschlange.

  2. Geben Sie im Feld "Name " einen Namen für die Warteschlange an. Übernehmen Sie die Standardwerte für die anderen Felder, und wählen Sie "Erstellen" aus.

  3. Wählen Sie im Service Bus-Namespace im Abschnitt "Einstellungen" des Ressourcenmenüs "Freigegebene Zugriffsrichtlinien" aus.

  4. Wählen Sie die RootManageSharedAccessKey-Richtlinie aus, um die Details zu öffnen.

  5. Kopieren Sie den Wert der primären Verbindungszeichenfolge , und speichern Sie sie, um sie später in diesem Lernprogramm zu verwenden, wenn Sie die Logik-App konfigurieren.

Hinzufügen einer benutzerdefinierten Endpunkt- und Routingregel zu Ihrem IoT-Hub

Fügen Sie ihrem IoT-Hub einen benutzerdefinierten Endpunkt für die Servicebus-Warteschlange hinzu. Erstellen Sie dann eine Nachrichtenweiterleitungsregel, um Nachrichten zu leiten, die eine Temperaturwarnung für diesen Endpunkt enthalten, in der sie von Ihrer Logik-App aufgenommen werden. Die Routingregel verwendet eine Routingabfrage, temperatureAlert = "true", um Nachrichten basierend auf dem Wert der Anwendungseigenschaft temperatureAlert, die vom Clientcode auf dem Gerät festgelegt wurde, weiterzuleiten. Weitere Informationen finden Sie unter Nachrichtenweiterleitungsabfrage basierend auf Nachrichteneigenschaften.

Hinzufügen eines benutzerdefinierten Endpunkts und einer Route

  1. Wechseln Sie im Azure-Portal zu Ihrem IoT-Hub.

  2. Wählen Sie im Ressourcenmenü unter "Hubeinstellungen" die Option "Nachrichtenrouting " und dann "Hinzufügen" aus.

    Screenshot der Position der Schaltfläche

  3. Erstellen Sie auf der Registerkarte "Endpunkt " einen Endpunkt für Ihre Servicebus-Warteschlange, indem Sie die folgenden Informationen angeben:

    Parameter Wert
    Endpunkttyp Wählen Sie die Servicebuswarteschlange aus.
    Endpunktname Geben Sie einen Namen für den neuen Endpunkt an, der Ihrer Servicebus-Warteschlange zugeordnet ist.
    Service Bus-Namespace Verwenden Sie das Dropdownmenü, um den ServiceBus-Namespace auszuwählen, den Sie im vorherigen Abschnitt erstellt haben.
    Service Bus-Warteschlange Verwenden Sie das Dropdownmenü, um die ServiceBus-Warteschlange auszuwählen, die Sie in Ihrem Namespace erstellt haben.

    Screenshot, der zeigt, wie Sie einen Dienstenbus-Warteschlangenendpunkt für Ihre Route erstellen.

  4. Wählen Sie "Erstellen+ weiter" aus.

  5. Geben Sie auf der Registerkarte " Route " die folgenden Informationen ein, um eine Route zu erstellen, die auf Ihren ServiceBus-Warteschlangenendpunkt verweist:

    Parameter Wert
    Name Geben Sie einen eindeutigen Namen für die Route an.
    Datenquelle Behalten Sie die Standardmäßige Datenquelle für Gerätetelemetrienachrichten bei .
    Routingabfrage Geben Sie temperatureAlert = "true" als Abfragezeichenfolge ein.

    Screenshot, der das Hinzufügen einer Route mit einer Abfrage zeigt.

  6. Wählen Sie "Erstellen+ Überspringen von Anreicherungen" aus.

Konfigurieren von Logik-Apps für Benachrichtigungen

Im vorherigen Abschnitt richten Sie Ihren IoT-Hub ein, um Nachrichten mit einer Temperaturwarnung an Ihre Servicebus-Warteschlange weiterzuleiten. Jetzt richten Sie eine Logik-App ein, um die Servicebus-Warteschlange zu überwachen und eine E-Mail-Benachrichtigung zu senden, wenn eine Nachricht der Warteschlange hinzugefügt wird.

Erstellen einer Logik-App

  1. Suchen Sie im Azure-Portal nach Logik-Apps, und wählen Sie sie aus.

  2. Wählen Sie "Hinzufügen" aus, um eine neue Logik-App zu erstellen.

  3. Geben Sie die folgenden Informationen auf der Registerkarte " Grundlagen " der Logik-App ein:

    Parameter Wert
    Ressourcengruppe Wählen Sie dieselbe Ressourcengruppe aus, die Ihren IoT-Hub enthält.
    Name Geben Sie einen Namen für Ihre Logik-App an.
    Region Wählen Sie einen Standort in Ihrer Nähe aus.
    Plantyp Wählen Sie "Verbrauch" aus, der für dieses Lernprogramm ausreichend ist.

    Screenshot, der das Erstellen einer Logik-App im Azure-Portal zeigt.

  4. Klicken Sie auf Überprüfen + erstellen.

  5. Wählen Sie "Erstellen" aus.

  6. Nachdem die Bereitstellung abgeschlossen ist, wählen Sie "Zur Ressource wechseln " aus, um Ihre Logik-App zu öffnen.

Konfigurieren des Logik-App-Triggers

  1. Öffnen Sie auf der Ressourcenseite ihrer Logik-App im Azure-Portal den Logik-App-Designer im Abschnitt "Entwicklungstools " des Ressourcenmenüs.

  2. Scrollen Sie im Designer nach unten zu Vorlagen, und wählen Sie Leere Logik-App aus.

    Screenshot, der die Auswahl der Vorlage

  3. Wählen Sie die Registerkarte "Alle " aus, um alle Connectors und Trigger anzuzeigen, und wählen Sie dann "Service Bus" aus.

    Wählen Sie Service Bus aus, um mit dem Erstellen Ihrer Logik-App im Azure-Portal zu beginnen.

  4. Wählen Sie unter "Trigger"die Option "Wenn eine oder mehrere Nachrichten in einer Warteschlange eingehen (automatisch abgeschlossen)" aus.

    Wählen Sie den Trigger für Ihre Logik-App im Azure-Portal aus.

  5. Erstellen Sie eine Servicebusverbindung.

    1. Geben Sie einen Verbindungsnamen an, und fügen Sie dann die Verbindungszeichenfolge ein, die Sie aus Ihrem Service Bus-Namespace kopiert haben.

    2. Wählen Sie "Erstellen" aus.

    3. Verwenden Sie im nächsten Bildschirm das Dropdownmenü, um die Warteschlange auszuwählen, die Sie im Service Bus-Namespace erstellt haben. Geben Sie 175 dann für die maximale Nachrichtenanzahl ein.

      Screenshot der Konfiguration von Warteschlangeneinstellungen im Logik-App-Designer.

  6. Wählen Sie im Menü "Logik-App-Designer speichern " aus, um Ihre Änderungen zu speichern.

Konfigurieren der Logik-App-Aktion

  1. Wählen Sie " Neuer Schritt " im Logik-App-Designer aus.

  2. Erstellen Sie eine SMTP-Dienstverbindung.

    1. Suchen Sie nach SMTP und wählen Sie es aus.

      Screenshot der Auswahl einer SMTP-Verbindung im Logik-App-Designer.

    2. Wählen Sie "E-Mail senden" (V3) als Aktion für diesen Schritt aus.

    3. Geben Sie einen Verbindungsnamen an, und füllen Sie dann die restlichen Felder mit den SMTP-Informationen für das E-Mail-Konto aus, das Sie zum Senden der Benachrichtigungen verwenden möchten.

      Verwenden Sie die folgenden Links, um Ihre SMTP-Informationen abhängig von Ihrem E-Mail-Anbieter zu finden:

      Hinweis

      Möglicherweise müssen Sie TLS/SSL deaktivieren, um die Verbindung herzustellen. Wenn dies der Fall ist und Sie TLS nach dem Herstellen der Verbindung erneut aktivieren möchten, lesen Sie den optionalen Schritt am Ende dieses Abschnitts.

      Screenshot der Konfiguration der SMTP-Verbindungseinstellungen im Logik-App-Designer.

    4. Wählen Sie "Erstellen" aus.

  3. Konfigurieren Sie die Aktion "E-Mail senden" .

    1. Wählen Sie im Dropdownmenü "Neuen Parameter hinzufügen " im Schritt " E-Mail senden " die folgenden Parameter aus:

      • From
      • Zu
      • Betreff
      • Körper

      Klicken oder tippen Sie auf eine beliebige Stelle auf dem Bildschirm, um das Auswahlfeld zu schließen.

      Wählen Sie E-Mail-Felder für die SMTP-Verbindung aus, die in E-Mails eingeschlossen werden sollen.

    2. Geben Sie die folgenden Informationen für die E-Mail-Parameter ein, die Sie im vorherigen Schritt ausgewählt haben:

      Parameter Wert
      From Die E-Mail-Adresse, die Sie für die SMTP-Verbindung konfiguriert haben.
      Zu Die E-Mail-Adresse oder Adressen, an die Sie Benachrichtigungs-E-Mails senden möchten.
      Betreff High temperature detected.
      Körper High temperature detected.

      Wenn das Dialogfeld "Dynamische Inhalte hinzufügen " geöffnet wird, wählen Sie "Ausblenden" aus, um ihn zu schließen. In diesem Lernprogramm verwenden Sie keine dynamischen Inhalte.

      Geben Sie Details für E-Mail-Felder für SMTP-Verbindungen an.

  4. Wählen Sie "Speichern" aus, um die SMTP-Verbindung zu speichern.

  5. (Optional) Wenn Sie TLS deaktivieren mussten, um eine Verbindung mit Ihrem E-Mail-Anbieter herzustellen und sie erneut zu aktivieren, führen Sie die folgenden Schritte aus:

    1. Wählen Sie im Bereich "Logik-App" unter "Entwicklungstools" API-Verbindungen aus.

    2. Wählen Sie in der Liste der API-Verbindungen die SMTP-Verbindung aus.

    3. Wählen Sie im Bereich smtp-API-Verbindung unter "Allgemein" die Option "API-Verbindung bearbeiten" aus.

    4. Wählen Sie im Bereich "API-Verbindung bearbeiten" die Option "SSL aktivieren", geben Sie das Kennwort für Ihr E-Mail-Konto erneut ein, und wählen Sie "Speichern" aus.

      Bearbeiten Sie die SMTP-API-Verbindung in Ihrer Logik-App im Azure-Portal.

Ihre Logik-App ist jetzt bereit, Temperaturwarnungen aus der Servicebus-Warteschlange zu verarbeiten und Benachrichtigungen an Ihr E-Mail-Konto zu senden.

Testen der Logik-App

Beginnen Sie mit dem Senden von Temperaturmeldungen von Ihrem IoT-Gerät, um die Überwachungs- und Benachrichtigungspipeline zu testen.

  1. Starten Sie die Clientanwendung auf Ihrem Gerät. Der Client-Code gibt zufällig Telemetriemeldungen aus und setzt die Eigenschaft temperatureAlert auf true, wenn die Temperatur 30 °C überschreitet.

  2. Sie sollten mit dem Empfangen von E-Mail-Benachrichtigungen beginnen, die von der Logik-App gesendet werden.

    Hinweis

    Möglicherweise muss Ihr E-Mail-Dienstanbieter die Absenderidentität überprüfen, um sicherzustellen, dass Sie die E-Mail senden.

Bereinigen von Ressourcen

Wenn Sie die in diesem Lernprogramm erstellten Ressourcen nicht mehr benötigen, löschen Sie sie und die Ressourcengruppe im Portal. Wählen Sie dazu die Ressourcengruppe aus, die Ihren IoT-Hub enthält, und wählen Sie "Löschen" aus.

Alternativ können Sie die CLI verwenden:

# Delete your resource group and its contents
az group delete --name <RESOURCE_GROUP_NAME>

Nächste Schritte

In diesem Lernprogramm haben Sie eine Logik-App erstellt, die Ihren IoT-Hub und Ihr Postfach für die Temperaturüberwachung und Benachrichtigungen verbindet.

Weitere Informationen zu den ersten Schritten mit Azure IoT Hub und zur Erkundung aller erweiterten IoT-Szenarien finden Sie in den folgenden Themen: