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.
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, temperatureAlert
amit 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.
Aktív Azure-előfizetés.
Egy IoT Hub az előfizetésében.
Egy ügyfélalkalmazás, amely hőmérsékleti adatokat küld az Azure IoT Hubnak. Ez az oktatóanyag az eszközről a felhőbe irányuló üzeneteket szűri a nevű
temperatureAlert
üzenettulajdonság alapján. Néhány példa, amely ezzel a tulajdonsággal hoz létre üzeneteket:- .NET SDK: SimulatedDevice
- Java SDK: küldési esemény
- Node.js SDK: simple_sample_device
- C SDK: iothub_II_client_shared_sample
- Kód nélküli: Raspberry Pi online szimulátor
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
Az Azure Portalon a keresősáv használatával keresse meg és válassza ki a Service Bust.
Service Bus-névtér létrehozásához válassza a Létrehozás lehetőséget.
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. Válassza az Áttekintés + létrehozás lehetőséget.
Válassza a Létrehozás lehetőséget.
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
A Service Bus-névtér Áttekintés lapján válassza az Üzenetsor lehetőséget.
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.
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.
Válassza ki a RootManageSharedAccessKey szabályzatot annak részleteinek megnyitásához.
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
Az Azure Portalon nyissa meg az IoT Hubot.
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.
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. Válassza a Létrehozás + tovább lehetőséget.
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.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
Az Azure Portalon keresse meg és válassza ki a Logic Appst.
Új logikai alkalmazás létrehozásához válassza a Hozzáadás lehetőséget.
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. Válassza az Áttekintés + létrehozás lehetőséget.
Válassza a Létrehozás lehetőséget.
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
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.
A tervezőben görgessen le a Sablonok elemre, és válassza az Üres logikai alkalmazás lehetőséget.
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.
Az Eseményindítók csoportban válassza a Ha egy vagy több üzenet érkezik egy üzenetsorba (automatikus kiegészítés).
Service Bus-kapcsolat létrehozása.
Adjon meg egy Csatlakozás ionnevet, majd illessze be a Service Bus-névtérből másolt Csatlakozás ion sztringet.
Válassza a Létrehozás lehetőséget.
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.
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
Válassza az Új lépés lehetőséget a logikai alkalmazás tervezőjében.
SMTP-szolgáltatáskapcsolat létrehozása.
Keresse meg és válassza ki az SMTP-t.
Ehhez a lépéshez válassza az E-mail küldése (V3) lehetőséget.
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.
Válassza a Létrehozás lehetőséget.
Konfigurálja az E-mail küldése műveletet.
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.
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.
Az SMTP-kapcsolat mentéséhez válassza a Mentés lehetőséget.
(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:
A Logikai alkalmazás panel Fejlesztési eszközök csoportjában válassza az API-kapcsolatokat.
Az API-kapcsolatok listájában válassza ki az SMTP-kapcsolatot.
Az SMTP API Csatlakozás ion panel Általános csoportjában válassza az API-kapcsolat szerkesztése lehetőséget.
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.
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.
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őpontratrue
, amikor a hőmérséklet meghaladja a 30 C-ot.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:
Felhőbeli eszközök üzenetkezelése a Visual Studio Code Azure IoT Hub-bővítményével
Eszközök kezelése a Visual Studio Code Azure IoT Hub-bővítményével
Az IoT Hub valós idejű érzékelői adatainak megjelenítése a Power BI használatával
Valós idejű érzékelőadatok megjelenítése webalkalmazás használatával az IoT Hubról
A Logic Apps használata távoli monitorozáshoz és értesítésekhez