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.
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.
En aktiv Azure-prenumeration.
En IoT-hubb i din prenumeration.
En klientapp som skickar temperaturdata till din Azure IoT-hubb. Den här självstudien filtrerar meddelanden från enhet till moln baserat på en meddelandeegenskap med namnet
temperatureAlert
. Några exempel som genererar meddelanden med den här egenskapen är:- .NET SDK: SimulatedDevice
- Java SDK: send-event
- Node.js SDK: simple_sample_device
- C SDK: iothub_II_client_shared_sample
- Kodlös: Raspberry Pi onlinesimulator
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
I Azure-portalen använder du sökfältet för att söka efter och välja Service Bus.
Välj Skapa för att skapa ett Service Bus-namnområde.
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. Välj Granska + skapa.
Välj Skapa.
Vänta tills distributionen har slutförts och välj sedan Gå till resurs.
Lägga till en Service Bus-kö i namnområdet
På sidan Översikt i Service Bus-namnområdet väljer du Kö.
Ange ett namn för kön i fältet Namn . Acceptera standardvärdena för de andra fälten och välj Skapa.
I Service Bus-namnområdet väljer du Principer för delad åtkomst i avsnittet Inställningar på resursmenyn.
Välj principen RootManageSharedAccessKey för att öppna dess information.
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
Gå till din IoT-hubb i Azure-portalen.
På resursmenyn under Hubbinställningar väljer du Meddelanderoutning och sedan Lägg till.
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. Välj Skapa + nästa.
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.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
I Azure-portalen söker du efter och väljer Logic Apps.
Välj Lägg till för att skapa en ny logikapp.
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. Välj Granska + skapa.
Välj Skapa.
När distributionen är klar väljer du Gå till resurs för att öppna logikappen.
Konfigurera logikappens utlösare
På resurssidan för logikappen i Azure-portalen öppnar du Logikappdesignern från avsnittet Utvecklingsverktyg på resursmenyn.
Rulla ned till Mallar i designern och välj Tom logikapp.
Välj fliken Alla för att visa alla anslutningsappar och utlösare och välj sedan Service Bus.
Under Utlösare väljer du När ett eller flera meddelanden kommer till en kö (automatiskt slutförda).
Skapa en Service Bus-anslutning.
Ange ett Anslut ionsnamn och klistra sedan in Anslut ionssträngen som du kopierade från Service Bus-namnområdet.
Välj Skapa.
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.
Spara ändringarna genom att välja Spara på logikappens designermeny.
Konfigurera logikappens åtgärd
Välj Nytt steg i logikappdesignern.
Skapa en SMTP-tjänstanslutning.
Sök efter och välj SMTP.
Välj Skicka e-post (V3) som åtgärd för det här steget.
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.
Välj Skapa.
Konfigurera åtgärden Skicka e-post .
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.
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.
Välj Spara för att spara SMTP-anslutningen.
(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:
I fönstret Logikapp går du till Utvecklingsverktyg och väljer API-anslutningar.
I listan över API-anslutningar väljer du SMTP-anslutningen.
I fönstret smtp API Anslut ion går du till Allmänt och väljer Redigera API-anslutning.
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.
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.
Starta klientprogrammet på enheten. Klientkoden matar slumpmässigt ut telemetrimeddelanden och anger
temperatureAlert
egenskapen tilltrue
när temperaturen överstiger 30 C.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: