Självstudie: Övervaka IoT-enheter och skicka meddelanden med Azure Logic Apps

Använd Azure Logic Apps för att övervaka inkommande enhetstelemetri från IoT Hub och skicka meddelanden när aviseringar utlöses.

End-to-end diagram

Azure Logic Apps kan hjälpa dig att samordna arbetsflöden mellan lokala tjänster och molntjänster, flera företag och olika protokoll. En logikapp börjar med en utlösare som sedan följs av en eller flera åtgärder som kan sekvenseras med hjälp av inbyggda kontroller, till exempel villkor och iteratorer. Den här flexibiliteten gör Logic Apps till en idealisk IoT-lösning för IoT-övervakningsscenarier. Till exempel kan ankomsten av data från en enhet till en IoT Hub-slutpunkt initiera logikapparbetsflöden för att lagra data i en Azure Storage-blob, skicka e-postaviseringar för att varna för dataavvikelser, schemalägga ett teknikerbesök om en enhet rapporterar ett fel och så vidare.

I den här självstudien utför du följande åtgärder:

Skapa en Service Bus-kö. Skapa en väg i din IoT-hubb som skickar meddelanden till Service Bus-kön om meddelandena innehåller avvikande temperaturavläsningar. Skapa en logikapp som bevakar meddelanden som anländer till kön och skickar en e-postavisering.

Klientkoden som körs på enheten anger en programegenskap, temperatureAlert, på varje telemetrimeddelande som skickas till din IoT-hubb. När klientkoden identifierar en temperatur över ett visst tröskelvärde anger den den här egenskapen till true, annars anger den egenskapen till false.

Meddelanden som kommer till din IoT-hubb ser ut ungefär så här, med telemetridata i brödtexten temperatureAlert och egenskapen som finns i programegenskaperna (systemegenskaper visas inte):

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

Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Förutsättningar

Förbered följande förutsättningar innan du påbörjar den här självstudien.

Skapa Service Bus-namnområde och kö

Skapa ett namnområde och en kö för Service Bus. Senare i den här artikeln skapar du en routningsregel i din IoT-hubb för att dirigera meddelanden som innehåller en temperaturavisering till Service Bus-kön. En logikapp övervakar kön för inkommande meddelanden och skickar ett meddelande för varje avisering.

Skapa ett namnområde för Service Bus

  1. I Azure-portalen använder du sökfältet för att söka efter och välja Service Bus.

  2. Välj Skapa för att skapa ett Service Bus-namnområde.

  3. Ange följande information i fönstret Skapa namnområde :

    Parameter Värde
    Abonnemang Välj samma prenumeration som innehåller din IoT-hubb.
    Resursgrupp Välj samma resursgrupp som innehåller din IoT-hubb.
    Namn på namnrymd Ange ett namn för service bus-namnområdet. Namnområdet måste vara unikt i Hela Azure.
    Plats Välj samma plats som din IoT-hubb använder.
    Prisnivå Välj Grundläggande i listrutan. Basic-nivån räcker för den här självstudien.
  4. Välj Granska + skapa.

  5. Välj Skapa.

  6. Vänta tills distributionen har slutförts och välj sedan Gå till resurs.

Lägga till en Service Bus-kö i namnområdet

  1. På sidan Översikt i Service Bus-namnområdet väljer du .

    Screenshot of the namespace overview page to add a queue.

  2. Ange ett namn för kön i fältet Namn . Acceptera standardvärdena för de andra fälten och välj Skapa.

  3. I Service Bus-namnområdet väljer du Principer för delad åtkomst i avsnittet Inställningar på resursmenyn.

  4. Välj principen RootManageSharedAccessKey för att öppna dess information.

  5. Kopiera värdet för Primär anslutningssträng och spara det för att använda det senare i den här självstudien när du konfigurerar logikappen.

Lägga till en anpassad slutpunkt och routningsregel i din IoT-hubb

Lägg till en anpassad slutpunkt för Service Bus-kön till din IoT-hubb. Skapa sedan en regel för meddelanderoutning för att dirigera meddelanden som innehåller en temperaturavisering till slutpunkten, där de hämtas av logikappen. Routningsregeln använder en routningsfråga, , temperatureAlert = "true"för att vidarebefordra meddelanden baserat på värdet temperatureAlert för den programegenskap som angetts av klientkoden som körs på enheten. Mer information finns i Meddelanderoutningsfråga baserat på meddelandeegenskaper.

Lägga till en anpassad slutpunkt och väg

  1. Gå till din IoT-hubb i Azure-portalen.

  2. På resursmenyn under Hubbinställningar väljer du Meddelanderoutning och sedan Lägg till.

    Screenshot that shows location of the Add button, to add a new route in your IoT hub.

  3. På fliken Slutpunkt skapar du en slutpunkt för Service Bus-kön genom att ange följande information:

    Parameter Värde
    Slutpunktstyp Välj Service Bus-kö.
    Slutpunktsnamn Ange ett namn för den nya slutpunkten som mappar till Service Bus-kön.
    Service Bus-namnområde Använd den nedrullningsbara menyn för att välja det Service Bus-namnområde som du skapade i föregående avsnitt.
    Service Bus-kö Använd den nedrullningsbara menyn för att välja den Service Bus-kö som du skapade i namnområdet.

    Screenshot that shows how to create a service bus queue endpoint for your route.

  4. Välj Skapa + nästa.

  5. På fliken Väg anger du följande information för att skapa en väg som pekar på service bus-köns slutpunkt:

    Parameter Värde
    Namn Ange ett unikt namn för vägen.
    Datakälla Behåll standarddatakällan för enhetstelemetrimeddelande .
    Routningsfråga Ange temperatureAlert = "true" som frågesträng.

    Screenshot that shows adding a route with a query.

  6. Välj Skapa + hoppa över berikanden.

Konfigurera Logic Apps för meddelanden

I föregående avsnitt konfigurerar du din IoT-hubb för att dirigera meddelanden som innehåller en temperaturavisering till Service Bus-kön. Nu konfigurerar du en logikapp för att övervaka Service Bus-kön och skicka ett e-postmeddelande när ett meddelande läggs till i kön.

Skapa en logikapp

  1. I Azure-portalen söker du efter och väljer Logic Apps.

  2. Välj Lägg till för att skapa en ny logikapp.

  3. Ange följande information på fliken Grundläggande i Skapa logikapp:

    Parameter Värde
    Resursgrupp Välj samma resursgrupp som innehåller din IoT-hubb.
    Namn Ange ett namn för logikappen.
    Region Välj en plats nära dig.
    Plantyp Välj Förbrukning, vilket räcker för den här självstudien.

    Screenshot that shows creating a logic app in the Azure portal.

  4. Välj Granska + skapa.

  5. Välj Skapa.

  6. När distributionen är klar väljer du Gå till resurs för att öppna logikappen.

Konfigurera logikappens utlösare

  1. På resurssidan för logikappen i Azure-portalen öppnar du Logikappdesignern från avsnittet Utvecklingsverktyg på resursmenyn.

  2. Rulla ned till Mallar i designern och välj Tom logikapp.

    Screenshot that shows selecting the Blank Logic App template.

  3. Välj fliken Alla för att visa alla anslutningsappar och utlösare och välj sedan Service Bus.

    Select Service Bus to start creating your logic app in the Azure portal.

  4. Under Utlösare väljer du När ett eller flera meddelanden kommer till en kö (automatiskt slutförda).

    Select the trigger for your logic app in the Azure portal.

  5. Skapa en Service Bus-anslutning.

    1. Ange ett Anslut ionsnamn och klistra sedan in Anslut ionssträngen som du kopierade från Service Bus-namnområdet.

    2. Välj Skapa.

    3. På nästa skärm använder du den nedrullningsbara menyn för att välja den kö som du skapade i Service Bus-namnområdet. Ange 175 sedan för Maximalt antal meddelanden.

      Screenshot that shows configuring queue settings in the Logic app designer.

  6. Spara ändringarna genom att välja Spara på logikappens designermeny.

Konfigurera logikappens åtgärd

  1. Välj Nytt steg i logikappdesignern.

  2. Skapa en SMTP-tjänstanslutning.

    1. Sök efter och välj SMTP.

      Screenshot that shows selecting an SMTP connection in the logic app designer.

    2. Välj Skicka e-post (V3) som åtgärd för det här steget.

    3. Ange ett Anslut ionsnamn och fyll sedan i resten av fälten med SMTP-informationen för det e-postkonto som du vill använda för att skicka meddelandena.

      Använd följande länkar för att hitta din SMTP-information, beroende på din e-postleverantör:

      Kommentar

      Du kan behöva inaktivera TLS/SSL för att upprätta anslutningen. Om så är fallet och du vill återaktivera TLS när anslutningen har upprättats läser du det valfria steget i slutet av det här avsnittet.

      Screenshot that shows configuring the SMTP connection settings in the logic app designer.

    4. Välj Skapa.

  3. Konfigurera åtgärden Skicka e-post .

    1. I listrutan Lägg till ny parameter i steget Skicka e-post väljer du följande parametrar:

      • Från
      • To
      • Ämne
      • Brödtext

      Klicka eller tryck var som helst på skärmen för att stänga markeringsrutan.

      Choose SMTP connection email fields to include in email.

    2. Ange följande information för de e-postparametrar som du valde i föregående steg:

      Parameter Värde
      Från Den e-postadress som du konfigurerade för SMTP-anslutningen.
      To E-postadressen eller adresserna där du vill skicka e-postaviseringar.
      Ämne High temperature detected.
      Brödtext High temperature detected.

      Om dialogrutan Lägg till dynamiskt innehåll öppnas väljer du Dölj för att stänga den. Du använder inte dynamiskt innehåll i den här självstudien.

      Provide details for SMTP connection email fields.

  4. Välj Spara för att spara SMTP-anslutningen.

  5. (Valfritt) Om du var tvungen att inaktivera TLS för att upprätta en anslutning till din e-postleverantör och vill återaktivera den följer du dessa steg:

    1. I fönstret Logikapp går du till Utvecklingsverktyg och väljer API-anslutningar.

    2. I listan över API-anslutningar väljer du SMTP-anslutningen.

    3. I fönstret smtp API Anslut ion går du till Allmänt och väljer Redigera API-anslutning.

    4. I fönstret Redigera API Anslut ion väljer du Aktivera SSL?, anger lösenordet för ditt e-postkonto igen och väljer Spara.

      Edit SMTP API connection in your logic app in the Azure portal.

Logikappen är nu redo att bearbeta temperaturaviseringar från Service Bus-kön och skicka meddelanden till ditt e-postkonto.

Testa logikappen

Börja skicka temperaturmeddelanden från din IoT-enhet för att testa övervaknings- och meddelandepipelinen.

  1. Starta klientprogrammet på enheten. Klientkoden matar slumpmässigt ut telemetrimeddelanden och anger temperatureAlert egenskapen till true när temperaturen överstiger 30 C.

  2. Du bör börja ta emot e-postaviseringar som skickas av logikappen.

    Kommentar

    Din e-posttjänstleverantör kan behöva verifiera avsändarens identitet för att se till att det är du som skickar e-postmeddelandet.

Rensa resurser

Om du inte längre behöver de resurser som du skapade i den här självstudien tar du bort den och resursgruppen i portalen. Om du vill göra det väljer du den resursgrupp som innehåller din IoT-hubb och väljer Ta bort.

Du kan också använda CLI:

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

Nästa steg

I den här självstudien skapade du en logikapp som ansluter din IoT-hubb och din postlåda för temperaturövervakning och aviseringar.

Om du vill fortsätta att komma igång med Azure IoT Hub och utforska alla utökade IoT-scenarier kan du läsa följande: