Oktatóanyag: IoT-eszközök monitorozása és értesítések küldése az Azure Logic Apps használatával

Az Azure Logic Apps használatával figyelheti az IoT Hubról érkező bejövő eszköz telemetriát, és értesítéseket küldhet a riasztások aktiválásakor.

End-to-end diagram

Az Azure Logic Apps segíthet a munkafolyamatok vezénylésében a helyszíni és felhőszolgáltatások, több vállalat és különböző protokollok között. A logikai alkalmazás egy eseményindítóval kezdődik, amelyet egy vagy több olyan művelet követ, amely beépített vezérlőkkel, például feltételekkel és iterátorokkal sorrendbe állítható. Ez a rugalmasság ideális IoT-megoldássá teszi a Logic Appst az IoT monitorozási forgatókönyveihez. Ha például egy eszközről egy IoT Hub-végpontra érkeznek adatok, logikai alkalmazás-munkafolyamatokat kezdeményezhet az adatok Egy Azure Storage-blobban való tárolásához, e-mail-riasztások küldéséhez az adatrendellenességek figyelmeztetéséhez, technikusi látogatás ütemezéséhez, ha egy eszköz hibát jelez, és így tovább.

Az oktatóanyagban az alábbi feladatokat fogja végrehajtani:

Service Bus-üzenetsor létrehozása. Hozzon létre egy útvonalat az IoT Hubon, amely üzeneteket küld a Service Bus-üzenetsorba, ha az üzenetek rendellenes hőmérsékleti értékeket tartalmaznak. Hozzon létre egy logikai alkalmazást, amely figyeli az üzenetsorba érkező üzenetküldést, és e-mail-riasztást küld.

Az eszközön futó ügyfélkód beállít egy alkalmazástulajdonságot, minden olyan telemetriai üzeneten, temperatureAlertamit az IoT Hubnak küld. Ha az ügyfélkód egy adott küszöbérték feletti hőmérsékletet észlel, a tulajdonságot a következő értékre trueállítja be: ellenkező esetben a tulajdonságot a következőre falseállítja be: .

Az IoT Hubra érkező üzenetek az alábbiakhoz hasonlóan néznek ki, a törzsben található telemetriai adatokkal és az temperatureAlert alkalmazástulajdonságokban található tulajdonsággal (a rendszertulajdonságok nem jelennek meg):

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

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Előfeltételek

Az oktatóanyag megkezdése előtt készítse elő a következő előfeltételeket.

Service Bus-névtér és üzenetsor létrehozása

Hozzon létre egy Service Bus-névteret és üzenetsort. A cikk későbbi részében létrehoz egy útválasztási szabályt az IoT Hubban, amely hőmérsékleti riasztást tartalmazó üzeneteket irányít a Service Bus-üzenetsorra. A logikai alkalmazások figyelik a bejövő üzenetek üzenetsorát, és értesítést küldenek minden egyes riasztásról.

Service Bus-névtér létrehozása

  1. Az Azure Portalon a keresősáv használatával keresse meg és válassza ki a Service Bust.

  2. Service Bus-névtér létrehozásához válassza a Létrehozás lehetőséget.

  3. A Névtér létrehozása panelen adja meg a következő információkat:

    Paraméter Érték
    Előfizetés Válassza ki ugyanazt az előfizetést, amely az IoT Hubot tartalmazza.
    Erőforráscsoport Válassza ki ugyanazt az erőforráscsoportot, amely az IoT Hubot tartalmazza.
    Névtér neve Adjon nevet a service bus névterének. A névtérnek egyedinek kell lennie az Azure-ban.
    Helyen Válassza ki ugyanazt a helyet, amelyet az IoT Hub használ.
    Tarifacsomag Válassza az Alapszintű lehetőséget a legördülő listában. Az alapszintű szint elegendő ehhez az oktatóanyaghoz.
  4. Válassza az Áttekintés + létrehozás lehetőséget.

  5. Válassza a Létrehozás lehetőséget.

  6. Várja meg, amíg az üzembe helyezés befejeződik, majd válassza az Erőforrás megnyitása lehetőséget.

Service Bus-üzenetsor hozzáadása a névtérhez

  1. A Service Bus-névtér Áttekintés lapján válassza az Üzenetsor lehetőséget.

    Screenshot of the namespace overview page to add a queue.

  2. A Név mezőben adja meg az üzenetsor nevét. Fogadja el a többi mező alapértelmezett értékeit, és válassza a Létrehozás lehetőséget.

  3. A Service Bus-névtérben válassza a Megosztott hozzáférési szabályzatok lehetőséget az erőforrásmenü Gépház szakaszában.

  4. Válassza ki a RootManageSharedAccessKey szabályzatot annak részleteinek megnyitásához.

  5. Másolja ki az elsődleges kapcsolati sztring értékét, és mentse az oktatóanyag későbbi részében a logikai alkalmazás konfigurálásakor.

Egyéni végpont és útválasztási szabály hozzáadása az IoT Hubhoz

Adjon hozzá egy egyéni végpontot a Service Bus-üzenetsorhoz az IoT Hubhoz. Ezután hozzon létre egy üzenet-útválasztási szabályt, amely hőmérsékleti riasztást tartalmazó üzeneteket irányít arra a végpontra, ahol a logikai alkalmazás felveszi őket. Az útválasztási szabály egy útválasztási lekérdezéssel temperatureAlert = "true"továbbítja az üzeneteket az temperatureAlert eszközön futó ügyfélkód által beállított alkalmazástulajdonság értéke alapján. További információ: Üzenet-útválasztási lekérdezés üzenettulajdonságok alapján.

Egyéni végpont és útvonal hozzáadása

  1. Az Azure Portalon nyissa meg az IoT Hubot.

  2. Az Erőforrás menü Központi beállítások területén válassza az Üzenet útválasztása, majd a Hozzáadás lehetőséget.

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

  3. A Végpont lapon hozzon létre egy végpontot a Service Bus-üzenetsorhoz az alábbi információk megadásával:

    Paraméter Érték
    Végpont típusa Válassza a Service Bus-üzenetsort.
    Végpont neve Adja meg a Service Bus-üzenetsorhoz leképező új végpont nevét.
    Service Bus-névtér A legördülő menüben válassza ki az előző szakaszban létrehozott Service Bus-névteret.
    Service Bus-üzenetsor A legördülő menüben válassza ki a névtérben létrehozott Service Bus-üzenetsort.

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

  4. Válassza a Létrehozás + tovább lehetőséget.

  5. Az Útvonal lapon adja meg a következő információkat, hogy létrehozhasson egy útvonalat, amely a Service Bus-üzenetsor végpontjára mutat:

    Paraméter Érték
    Név Adjon meg egy egyedi nevet az útvonalnak.
    Adatforrás Tartsa meg az eszköz telemetriai üzenetének alapértelmezett adatforrását.
    Útválasztási lekérdezés Adja meg temperatureAlert = "true" a lekérdezési sztringet.

    Screenshot that shows adding a route with a query.

  6. Válassza a Létrehozás + kihagyás elemet.

A Logic Apps konfigurálása értesítésekhez

Az előző szakaszban úgy állította be az IoT Hubot, hogy a hőmérséklet-riasztást tartalmazó üzeneteket a Service Bus-üzenetsorba irányíthassa. Most beállít egy logikai alkalmazást a Service Bus-üzenetsor figyeléséhez, és e-mail értesítést küld, amikor üzenetet ad hozzá az üzenetsorhoz.

Logikai alkalmazás létrehozása

  1. Az Azure Portalon keresse meg és válassza ki a Logic Appst.

  2. Új logikai alkalmazás létrehozásához válassza a Hozzáadás lehetőséget.

  3. Adja meg a következő információkat a Logikai alkalmazás létrehozása alapismeretek lapján:

    Paraméter Érték
    Erőforráscsoport Válassza ki ugyanazt az erőforráscsoportot, amely az IoT Hubot tartalmazza.
    Név Adjon nevet a logikai alkalmazásnak.
    Régió Válasszon egy Önhöz közeli helyet.
    Terv típusa Válassza a Használat lehetőséget, amely elegendő ehhez az oktatóanyaghoz.

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

  4. Válassza az Áttekintés + létrehozás lehetőséget.

  5. Válassza a Létrehozás lehetőséget.

  6. Az üzembe helyezés befejezése után válassza az Erőforrás megnyitása lehetőséget a logikai alkalmazás megnyitásához.

A logikai alkalmazás eseményindítójának konfigurálása

  1. Az Azure Portal logikaialkalmazás-erőforráslapján nyissa meg a Logikai alkalmazás tervezőt az erőforrásmenü Fejlesztői eszközök szakaszában.

  2. A tervezőben görgessen le a Sablonok elemre, és válassza az Üres logikai alkalmazás lehetőséget.

    Screenshot that shows selecting the Blank Logic App template.

  3. Az Összes fülre kattintva megjelenítheti az összes összekötőt és eseményindítót, majd válassza a Service Bus lehetőséget.

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

  4. Az Eseményindítók csoportban válassza a Ha egy vagy több üzenet érkezik egy üzenetsorba (automatikus kiegészítés).

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

  5. Service Bus-kapcsolat létrehozása.

    1. Adjon meg egy Csatlakozás ionnevet, majd illessze be a Service Bus-névtérből másolt Csatlakozás ion sztringet.

    2. Válassza a Létrehozás lehetőséget.

    3. A következő képernyőn a legördülő menüben válassza ki a Service Bus-névtérben létrehozott üzenetsort. Ezután adja meg 175 a Maximális üzenetszámot.

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

  6. A módosítások mentéséhez válassza a Mentés a logikai alkalmazás tervező menüjében lehetőséget.

A logikai alkalmazás műveletének konfigurálása

  1. Válassza az Új lépés lehetőséget a logikai alkalmazás tervezőjében.

  2. SMTP-szolgáltatáskapcsolat létrehozása.

    1. Keresse meg és válassza ki az SMTP-t.

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

    2. Ehhez a lépéshez válassza az E-mail küldése (V3) lehetőséget.

    3. Adjon meg egy Csatlakozás ion nevet, majd töltse ki a többi mezőt az értesítési üzenetek küldéséhez használni kívánt e-mail-fiók SMTP-adataival.

      Az SMTP-adatok megkereséséhez használja az alábbi hivatkozásokat a levelezési szolgáltatótól függően:

      Feljegyzés

      Előfordulhat, hogy a kapcsolat létrehozásához le kell tiltania a TLS/SSL protokollt. Ha ez a helyzet, és a kapcsolat létrejötte után újra engedélyezni szeretné a TLS-t, tekintse meg a szakasz végén található opcionális lépést.

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

    4. Válassza a Létrehozás lehetőséget.

  3. Konfigurálja az E-mail küldése műveletet.

    1. Az E-mail küldése lépés Új paraméter hozzáadása legördülő menüjében válassza ki a következő paramétereket:

      • From
      • Ide:
      • Tárgy
      • Törzs

      A kijelölési mező bezárásához kattintson vagy koppintson a képernyő tetszőleges pontjára.

      Choose SMTP connection email fields to include in email.

    2. Adja meg az előző lépésben kiválasztott e-mail paraméterek alábbi adatait:

      Paraméter Érték
      From Az SMTP-kapcsolathoz konfigurált e-mail-cím.
      Ide: Az az e-mail-cím vagy cím, ahová e-maileket szeretne küldeni.
      Tárgy High temperature detected.
      Törzs High temperature detected.

      Ha megnyílik a Dinamikus tartalom hozzáadása párbeszédpanel, zárja be az Elrejtés lehetőséget. Ebben az oktatóanyagban nem használ dinamikus tartalmat.

      Provide details for SMTP connection email fields.

  4. Az SMTP-kapcsolat mentéséhez válassza a Mentés lehetőséget.

  5. (Nem kötelező) Ha le kellett tiltania a TLS-t, hogy kapcsolatot létesítsen az e-mail-szolgáltatójával, és újra engedélyezni szeretné azt, kövesse az alábbi lépéseket:

    1. A Logikai alkalmazás panel Fejlesztési eszközök csoportjában válassza az API-kapcsolatokat.

    2. Az API-kapcsolatok listájában válassza ki az SMTP-kapcsolatot.

    3. Az SMTP API Csatlakozás ion panel Általános csoportjában válassza az API-kapcsolat szerkesztése lehetőséget.

    4. Az API szerkesztése Csatlakozás ion panelen válassza az SSL engedélyezése?, az e-mail-fiók jelszavának újraküldése, majd a Mentés lehetőséget.

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

A logikai alkalmazás most már készen áll a Service Bus-üzenetsor hőmérsékleti riasztásainak feldolgozására, és értesítések küldésére az e-mail-fiókjába.

A logikai alkalmazás tesztelése

A monitorozási és értesítési folyamat teszteléséhez kezdjen hőmérsékleti üzeneteket küldeni az IoT-eszközről.

  1. Indítsa el az ügyfélalkalmazást az eszközön. Az ügyfélkód véletlenszerűen ad ki telemetriai üzeneteket, és beállítja a temperatureAlert tulajdonságot arra az időpontra true , amikor a hőmérséklet meghaladja a 30 C-ot.

  2. A logikai alkalmazás által küldött e-mail-értesítések fogadását meg kell kezdenie.

    Feljegyzés

    Előfordulhat, hogy az e-mail-szolgáltatónak ellenőriznie kell a feladó személyazonosságát annak ellenőrzéséhez, hogy ön küldte-e az e-mailt.

Az erőforrások eltávolítása

Ha már nincs szüksége az oktatóanyagban létrehozott erőforrásokra, törölje azt és az erőforráscsoportot a portálon. Ehhez válassza ki az IoT Hubot tartalmazó erőforráscsoportot, és válassza a Törlés lehetőséget.

Ha szeretné, a CLI-t is használhatja:

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

Következő lépések

Ebben az oktatóanyagban létrehozott egy logikai alkalmazást, amely összekapcsolja az IoT Hubot és a postaládát a hőmérséklet-figyeléshez és az értesítésekhez.

Az Azure IoT Hub használatának folytatásához és az összes kiterjesztett IoT-forgatókönyv megismeréséhez tekintse meg a következőket: