Kurz: Monitorování zařízení IoT a odesílání oznámení pomocí Azure Logic Apps
Pomocí Azure Logic Apps můžete monitorovat příchozí telemetrii zařízení ze služby IoT Hub a odesílat oznámení při aktivaci upozornění.
Azure Logic Apps vám může pomoct orchestrovat pracovní postupy napříč místními a cloudovými službami, několika podniky a různými protokoly. Aplikace logiky začíná triggerem, za kterým následuje jedna nebo více akcí, které se dají sekvencovat pomocí předdefinovaných ovládacích prvků, jako jsou podmínky a iterátory. Díky této flexibilitě je Logic Apps ideálním řešením IoT pro scénáře monitorování IoT. Například přijetí dat ze zařízení v koncovém bodu ioT Hubu může iniciovat pracovní postupy aplikace logiky, které budou ukládat data do objektu blob služby Azure Storage, odesílat e-mailová upozornění, která varují před datovými anomáliemi, naplánovat návštěvu technika, pokud zařízení hlásí selhání atd.
V tomto kurzu provedete následující úlohy:
Vytvořte frontu služby Service Bus. Vytvořte trasu ve službě IoT Hub, která odesílá zprávy do fronty služby Service Bus, pokud zprávy obsahují neobvyklé čtení teploty. Vytvořte aplikaci logiky, která sleduje zasílání zpráv přicházejících do fronty a odesílá e-mailové upozornění.
Klientský kód spuštěný na vašem zařízení nastaví vlastnost aplikace, a to při každé zprávě telemetrie, temperatureAlert
kterou odesílá do centra IoT. Když kód klienta zjistí teplotu nad danou prahovou hodnotou, nastaví tuto vlastnost na true
; jinak nastaví vlastnost na false
.
Zprávy přicházející do vašeho centra IoT vypadají podobně jako následující s telemetrickými daty obsaženými v těle a temperatureAlert
vlastností obsažených ve vlastnostech aplikace (systémové vlastnosti se nezobrazují):
{
"body": {
"messageId": 18,
"deviceId": "Raspberry Pi Web Client",
"temperature": 27.796111770668457,
"humidity": 66.77637926438427
},
"applicationProperties": {
"temperatureAlert": "false"
}
}
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Požadavky
Před zahájením tohoto kurzu připravte následující požadavky.
Aktivní předplatné Azure.
Centrum IoT ve vašem předplatném.
Klientská aplikace, která odesílá data o teplotě do centra Azure IoT. Tento kurz filtruje zprávy typu zařízení-cloud na základě vlastnosti zprávy s názvem
temperatureAlert
. Mezi ukázky, které generují zprávy s touto vlastností, patří:- .NET SDK: SimulatedDevice
- Java SDK: send-event
- Node.js SDK: simple_sample_device
- C SDK: iothub_II_client_shared_sample
- Bez kódu: Online simulátor Raspberry Pi
Vytvoření oboru názvů a fronty služby Service Bus
Vytvořte oboru názvů a frontu Service Bus. Později v tomto článku vytvoříte ve službě IoT Hub pravidlo směrování, které bude směrovat zprávy, které obsahují upozornění na teplotu ve frontě služby Service Bus. Aplikace logiky monitoruje frontu příchozích zpráv a odesílá oznámení pro každou výstrahu.
Vytvoření oboru názvů služby Service Bus
Na webu Azure Portal pomocí vyhledávacího panelu vyhledejte a vyberte Service Bus.
Vyberte Vytvořit a vytvořte obor názvů služby Service Bus.
V podokně Vytvořit obor názvů zadejte následující informace:
Parametr Hodnota Předplatné Zvolte stejné předplatné, které obsahuje vaše centrum IoT. Skupina prostředků Zvolte stejnou skupinu prostředků, která obsahuje vaše centrum IoT. Název oboru názvů Zadejte název oboru názvů služby Service Bus. Obor názvů musí být jedinečný v rámci Azure. Místo Zvolte stejné umístění, které používá vaše centrum IoT. Cenová úroveň V rozevíracím seznamu vyberte Základní . Pro účely tohoto kurzu stačí úroveň Basic. Vyberte Zkontrolovat a vytvořit.
Vyberte Vytvořit.
Počkejte, až se nasazení dokončí, a pak vyberte Přejít k prostředku.
Přidání fronty služby Service Bus do oboru názvů
Na stránce Přehled vašeho oboru názvů služby Service Bus vyberte Fronta.
Do pole Název zadejte název fronty. Přijměte výchozí hodnoty pro ostatní pole a vyberte Vytvořit.
V oboru názvů služby Service Bus vyberte zásady sdíleného přístupu v části Nastavení nabídky prostředků.
Vyberte zásadu RootManageSharedAccessKey a otevřete její podrobnosti.
Zkopírujte hodnotu Primární připojovací řetězec a uložte ji, abyste ji mohli použít později v tomto kurzu při konfiguraci aplikace logiky.
Přidání vlastního koncového bodu a pravidla směrování do centra IoT
Přidejte do centra IoT vlastní koncový bod pro frontu Service Bus. Pak vytvořte pravidlo směrování zpráv pro přímé zprávy, které obsahují upozornění na teplotu na tento koncový bod, kde je vyzvedne vaše aplikace logiky. Pravidlo směrování používá směrovací dotaz k temperatureAlert = "true"
předávání zpráv na základě hodnoty temperatureAlert
vlastnosti aplikace nastavené klientským kódem spuštěným na zařízení. Další informace najdete v tématu Dotaz směrování zpráv na základě vlastností zprávy.
Přidání vlastního koncového bodu a trasy
Na webu Azure Portal přejděte do centra IoT.
V nabídce prostředků v části Nastavení centra vyberte Směrování zpráv a pak vyberte Přidat.
Na kartě Koncový bod vytvořte koncový bod pro frontu služby Service Bus zadáním následujících informací:
Parametr Hodnota Typ koncového bodu Vyberte frontu služby Service Bus. Název koncového bodu Zadejte název nového koncového bodu, který se mapuje na frontu služby Service Bus. Obor názvů služby Service Bus Pomocí rozevírací nabídky vyberte obor názvů služby Service Bus, který jste vytvořili v předchozí části. Fronta služby Service Bus Pomocí rozevírací nabídky vyberte frontu Service Bus, kterou jste vytvořili ve svém oboru názvů. Vyberte Vytvořit + další.
Na kartě Trasa zadejte následující informace a vytvořte trasu, která odkazuje na koncový bod fronty služby Service Bus:
Parametr Hodnota Název Zadejte jedinečný název trasy. Zdroj dat Ponechte výchozí zdroj dat telemetrie zařízení. Dotaz směrování Zadejte temperatureAlert = "true"
jako řetězec dotazu.Vyberte Vytvořit a přeskočit rozšiřování.
Konfigurace Logic Apps pro oznámení
V předchozí části nastavíte centrum IoT tak, aby směrovat zprávy obsahující upozornění na teplotu do fronty služby Service Bus. Teď nastavíte aplikaci logiky pro monitorování fronty služby Service Bus a odeslání e-mailového oznámení při každém přidání zprávy do fronty.
Vytvoření aplikace logiky
Na webu Azure Portal vyhledejte a vyberte Logic Apps.
Vyberte Přidat a vytvořte novou aplikaci logiky.
Na kartě Základy aplikace logiky zadejte následující informace:
Parametr Hodnota Skupina prostředků Vyberte stejnou skupinu prostředků, která obsahuje vaše centrum IoT. Název Zadejte název aplikace logiky. Oblast Vyberte umístění blízko vás. Typ plánu Vyberte Consumption, což je dostačující pro účely tohoto kurzu. Vyberte Zkontrolovat a vytvořit.
Vyberte Vytvořit.
Po dokončení nasazení vyberte Přejít k prostředku a otevřete aplikaci logiky.
Konfigurace triggeru aplikace logiky
Na stránce prostředku aplikace logiky na webu Azure Portal otevřete návrháře aplikace logiky v části Vývojové nástroje v nabídce prostředků.
V návrháři se posuňte dolů na Šablony a vyberte Prázdnou aplikaci logiky.
Výběrem karty Vše zobrazíte všechny konektory a triggery a pak vyberete Service Bus.
V části Triggery vyberte Při doručení jedné nebo více zpráv do fronty (automatické dokončování).
Vytvořte připojení služby Service Bus.
Zadejte název Připojení ionu a vložte řetězec Připojení ion, který jste zkopírovali z oboru názvů služby Service Bus.
Vyberte Vytvořit.
Na další obrazovce pomocí rozevírací nabídky vyberte frontu, kterou jste vytvořili v oboru názvů služby Service Bus. Potom zadejte
175
maximální počet zpráv.
Výběrem možnosti Uložit v nabídce návrháře aplikace logiky uložte provedené změny.
Konfigurace akce aplikace logiky
V návrháři aplikace logiky vyberte Nový krok .
Vytvořte připojení služby SMTP.
Vyhledejte a vyberte SMTP.
Jako akci pro tento krok vyberte Odeslat e-mail (V3 ).
Zadejte název Připojení ion a potom vyplňte zbývající pole informacemi SMTP pro e-mailový účet, který chcete použít k odesílání zpráv s oznámením.
Pomocí následujících odkazů vyhledejte informace SMTP v závislosti na poskytovateli pošty:
Poznámka:
K navázání připojení možná budete muset zakázat protokol TLS/SSL. Pokud se jedná o tento případ a po navázání připojení chcete protokol TLS znovu povolit, podívejte se na volitelný krok na konci této části.
Vyberte Vytvořit.
Nakonfigurujte akci Odeslat e-mail.
V rozevíracím seznamu Přidat nový parametr v kroku Odeslat e-mail vyberte následující parametry:
- Od
- Na
- Předmět
- Text
Kliknutím nebo klepnutím na libovolné místo na obrazovce zavřete okno výběru.
Zadejte následující informace pro parametry e-mailu, které jste vybrali v předchozím kroku:
Parametr Hodnota Od E-mailová adresa, kterou jste nakonfigurovali pro připojení SMTP. Na E-mailová adresa nebo adresy, na které chcete odesílat e-maily s oznámením. Předmět High temperature detected
.Text High temperature detected
.Pokud se otevře dialogové okno Přidat dynamický obsah , zavřete ho výběrem možnosti Skrýt . V tomto kurzu nepoužíváte dynamický obsah.
Výběrem možnosti Uložit uložte připojení SMTP.
(Volitelné) Pokud jste museli protokol TLS zakázat, abyste vytvořili připojení ke svému poskytovateli e-mailu a chcete ho znovu povolit, postupujte takto:
V podokně aplikace logiky v části Vývojové nástroje vyberte připojení rozhraní API.
V seznamu připojení rozhraní API vyberte připojení SMTP.
V podokně Připojení ion rozhraní SMTP v části Obecné vyberte Upravit připojení rozhraní API.
V podokně Upravit rozhraní API Připojení ion vyberte Povolit SSL?, zadejte znovu heslo pro váš e-mailový účet a vyberte Uložit.
Aplikace logiky je teď připravená zpracovávat upozornění na teplotu z fronty služby Service Bus a odesílat oznámení do vašeho e-mailového účtu.
Otestování aplikace logiky
Začněte odesílat zprávy o teplotě ze zařízení IoT a otestujte kanál monitorování a oznámení.
Spusťte na svém zařízení klientskou aplikaci. Kód klienta náhodně vypíše telemetrické zprávy a vlastnost nastaví
temperatureAlert
na, kdyžtrue
teplota překročí 30 C.Měli byste začít přijímat e-mailová oznámení odesílaná aplikací logiky.
Poznámka:
Váš poskytovatel e-mailových služeb možná bude muset ověřit identitu odesílatele, abyste měli jistotu, že e-mail odesíláte vy.
Vyčištění prostředků
Pokud už nepotřebujete prostředky, které jste vytvořili v tomto kurzu, odstraňte je a skupinu prostředků na portálu. Uděláte to tak, že vyberete skupinu prostředků, která obsahuje centrum IoT, a vyberete Odstranit.
Můžete použít také rozhraní příkazového řádku:
# Delete your resource group and its contents
az group delete --name <RESOURCE_GROUP_NAME>
Další kroky
V tomto kurzu jste vytvořili aplikaci logiky, která propojuje centrum IoT a vaši poštovní schránku pro monitorování teploty a oznámení.
Pokud chcete pokračovat v začátcích se službou Azure IoT Hub a prozkoumat všechny rozšířené scénáře IoT, projděte si následující:
Správa zasílání zpráv cloudových zařízení pomocí rozšíření Azure IoT Hub pro Visual Studio Code
Správa zařízení pomocí rozšíření Azure IoT Hub pro Visual Studio Code
Použití Power BI k vizualizaci dat snímačů ze služby IoT Hub v reálném čase
Použití webové aplikace k vizualizaci dat snímačů v reálném čase z centra IoT