Sdílet prostřednictvím


Kurz: Nasazení Azure Stream Analytics jako modulu IoT Edge

Použitelné pro:IoT Edge 1.5 zaškrtnuto IoT Edge 1.5

Důležité

IoT Edge 1.5 LTS je podporovaná verze. IoT Edge 1,4 LTS dosáhl konce životnosti 12. listopadu 2024. Pokud používáte starší verzi, přečtěte si téma Update IoT Edge.

V tomto kurzu vytvoříte na portálu Azure úlohu Azure Stream Analytics a nasadíte ji jako modul IoT Edge bez dalšího kódu.

V tomto návodu se naučíte, jak:

  • Vytvořte úlohu Azure Stream Analytics pro zpracování dat na okraji sítě.
  • Propojte novou úlohu Azure Stream Analytics s dalšími moduly IoT Edge.
  • Z portálu Azure nasaďte úlohu Azure Stream Analytics na zařízení IoT Edge.

Diagram zobrazující architekturu datových proudů, včetně přípravy a nasazení úlohy Azure Stream Analytics job.

Modul Stream Analytics v tomto kurzu počítá průměrnou teplotu v posuvném 30sekundovém okně. Když průměr dosáhne 70, modul odešle upozornění, že zařízení provede akci. V tomto případě je akcí resetování simulovaného senzoru teploty. V produkčním prostředí můžete tuto funkci použít k vypnutí počítače nebo k preventivním opatřením, když teplota dosáhne nebezpečných úrovní.

Proč používat Azure Stream Analytics v IoT Edge?

Řada řešení IoT využívá analytické služby k získání přehledu o datech při jejich příchodu do cloudu ze zařízení IoT. Pomocí Azure IoT Edge přesunete logiku Azure Stream Analytics do samotného zařízení. Zpracování datových proudů telemetrie na hraničních zařízeních snižuje množství nahraných dat a dobu potřebnou k reakci na užitečné přehledy. Azure IoT Edge a Azure Stream Analytics se integrují pro zjednodušení vývoje pracovních úloh.

Azure Stream Analytics používá syntaxi strukturovaného dotazu pro analýzu dat v cloudu a na IoT Edge zařízeních. Další informace najdete v dokumentaci k Azure Stream Analytics.

Požadavky

Pokud účet Azure nemáte, vytvořte si účet free než začnete.

  • Zařízení Azure IoT Edge.

    Pro použití virtuálního počítače Azure jako zařízení IoT Edge postupujte podle kroků v rychlém startu pro Linux nebo Windows zařízení.

  • Bezplatná nebo standardní úroveň IoT Hub v Azure.

Vytvořte úlohu Azure Stream Analytics

V této části vytvoříte Azure Stream Analytics úlohu, která:

  • Přijímá data z vašeho zařízení IoT Edge.
  • Dotazuje telemetrická data na hodnoty mimo nastavený rozsah.
  • Provede akci na IoT Edge zařízení na základě výsledků dotazu.

Vytvoření účtu úložiště

Když vytvoříte úlohu Azure Stream Analytics pro spuštění na IoT Edge zařízení, musíte ji uložit, aby k ní mělo přístup. Můžete použít existující účet Azure Storage nebo vytvořit nový.

  1. Na portálu Azure přejděte na Vytvoření prostředku > Storage > účet úložiště.

  2. Zadejte následující hodnoty pro vytvoření účtu úložiště:

    Pole Hodnota
    Předplatné Zvolte stejné předplatné jako pro vaše centrum IoT.
    Skupina prostředků Pro všechny testovací prostředky použijte stejnou skupinu prostředků pro rychlý začátek a tutoriály IoT Edge. Například IoTEdgeResources.
    Název Zadejte jedinečný název účtu úložiště.
    Umístění Vyberte umístění blízko vás.
  3. Ponechte výchozí hodnoty pro ostatní pole a vyberte Zkontrolovat a vytvořit.

  4. Zkontrolujte nastavení a pak vyberte Vytvořit.

Vytvoření nové úlohy

  1. Na portálu Azure vyberte:

    1. Vytvořit zdroj
    2. Internet věcí z nabídky vlevo
    3. Na panelu hledání napište Stream Analytics a najděte ho v Azure Marketplace
    4. V rozevírací nabídce vyberte Vytvořit a pak úlohu Stream Analytics.
  2. Zadejte následující hodnoty pro vytvoření nové úlohy Stream Analytics:

    Pole Hodnota
    Název Zadejte název úlohy. Například IoTEdgeJob
    Předplatné Zvolte stejné předplatné jako pro vaše centrum IoT.
    Skupina prostředků Stejnou skupinu prostředků použijte pro všechny testovací prostředky, které vytvoříte během IoT Edge rychlých startů a kurzů. Například prostředek s názvem IoTEdgeResources.
    Oblast Zvolte umístění, které je blízko vás.
    Hostitelské prostředí Vyberte Edge. Tato možnost umožňuje nasazení do IoT Edge zařízení místo cloudu.
  3. Vyberte možnost Zkontrolovat a vytvořit.

  4. Potvrďte možnosti a pak vyberte Vytvořit.

Nakonfigurujte svou úlohu

Po vytvoření úlohy Stream Analytics na portálu Azure ho nakonfigurujte pomocí input, output a query ke spuštění dat, která procházejí.

Tato část ukazuje, jak vytvořit úlohu, která přijímá teplotní data ze zařízení IoT Edge. Analyzuje data ve 30sekundovém intervalu. Pokud průměrná teplota v daném okně překročí 70 stupňů, úloha odešle upozornění na IoT Edge zařízení.

Poznámka:

Určete, odkud data pocházejí a kam míří v části Konfigurujte nastavení IoT Edge, když nasadíte úlohu.

Nastavení vstupu a výstupu

  1. Na portálu Azure přejděte k úloze Stream Analytics.

  2. V části Topologie úlohy vyberte Vstupy a pak vyberte Přidat vstup.

  3. V rozevíracím seznamu zvolte Edge Hub .

    Pokud v seznamu možnost Edge Hub nevidíte, možná jste vytvořili úlohu Stream Analytics jako úlohu hostované v cloudu. Zkuste vytvořit novou úlohu a ujistěte se, že jako hostitelské prostředí vyberete Edge .

  4. V podokně Nový vstup zadejte teplotu jako alias vstupu.

  5. V ostatních polích nechte výchozí hodnoty a vyberte Uložit.

  6. V části Topologie úlohy vyberte Výstupy a pak vyberte Přidat.

  7. V rozevíracím seznamu zvolte Edge Hub.

  8. V podokně Nový výstup zadejte upozornění jako alias pro výstup.

  9. V ostatních polích nechte výchozí hodnoty a vyberte Uložit.

Vytvoření dotazu

  1. V části Topologie úlohy vyberte Dotaz.

  2. Nahraďte výchozí text následujícím dotazem:

    SELECT  
        'reset' AS command
    INTO
       alert
    FROM
       temperature TIMESTAMP BY timeCreated
    GROUP BY TumblingWindow(second,30)
    HAVING Avg(machine.temperature) > 70
    

    V tomto dotazu odešle kód SQL do výstupu výstrahy příkaz reset, pokud průměrná teplota počítače v 30sekundovém okně dosáhne 70 stupňů. Příkaz resetování je předem naprogramován do senzoru jako akce.

  3. Vyberte Uložit dotaz.

Konfigurace nastavení IoT Edge

Pokud chcete nasadit úlohu Stream Analytics na IoT Edge zařízení, přidružte úlohu Azure Stream Analytics k účtu úložiště. Když úlohu nasadíte, definice úlohy exportuje do účtu úložiště jako kontejner.

  1. Ve službě Stream Analytics v nabídce Nastavení vyberte nastavení účtu úložiště.

  2. V možnosti Předplatná vyberte Úložiště objektů blob nebo ADLS Gen2.

  3. Váš účet úložiště Azure se na stránce automaticky zobrazí. Pokud ho nevidíte, ujistěte se, že vytvoříte úložiště. Pokud potřebujete zvolit jiné úložiště než úložiště uvedené v poli Účet úložiště , vyberte ho z rozevírací nabídky.

  4. Pokud jste provedli nějaké změny, vyberte Uložit .

Nasazení úlohy

Teď jste připraveni nasadit úlohu Azure Stream Analytics na IoT Edge zařízení.

V této části použijete průvodce Set Modules na portálu Azure k vytvoření manifestu deployment. Manifest nasazení je soubor JSON, který popisuje všechny moduly, které se nasazují do zařízení. Manifest také ukazuje registry kontejnerů, které ukládají image modulů, jak se mají moduly spravovat a jak spolu můžou moduly komunikovat. Vaše IoT Edge zařízení načte manifest nasazení z IoT Hub a pak pomocí informací v něm nasadí a nakonfiguruje všechny jeho přiřazené moduly.

Pro účely tohoto kurzu nasadíte dva moduly. První je SimulatedTemperatureSensor, což je modul, který simuluje senzor teploty a vlhkosti. Druhá je vaše úloha ve Stream Analytics. Modul senzoru poskytuje datový proud, který dotaz na úlohu analyzuje.

  1. Na portálu Azure přejděte do centra IoT.

  2. Vyberte Zařízení v nabídce Správa zařízení a poté vyberte své IoT Edge zařízení, abyste ho otevřeli.

  3. Vyberte Set modules (Nastavit moduly).

  4. Pokud jste na toto zařízení dříve nasadili modul SimulatedTemperatureSensor, může se automaticky vyplnit. Pokud ne, přidejte modul následujícím postupem:

    1. Vyberte + Přidat a zvolte IoT Edge Module.
    2. Jako název zadejte SimulatedTemperatureSensor.
    3. Jako identifikátor URI obrázku zadejte mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5.
    4. Ponechte ostatní výchozí nastavení a pak vyberte Přidat.
  5. Přidejte úlohu Azure Stream Analytics Edge pomocí následujících kroků:

    1. Vyberte + Přidat a zvolte Azure Stream Analytics Module.
    2. Vyberte své předplatné a úlohu Azure Stream Analytics Edge, kterou jste vytvořili.
    3. Vyberte Uložit.

    Po uložení změn se podrobnosti úlohy Stream Analytics publikují do kontejneru úložiště, který jste vytvořili.

  6. Po dokončení nasazení přidání Stream Analytics ověřte, že se na stránce Nastavit moduly zobrazí dva nové moduly .

    Snímek obrazovky s potvrzením, že jsou na vašem zařízení dva nové moduly Snímek obrazovky také ukazuje, kde se nachází tlačítko Zkontrolovat a vytvořit.

  7. Vyberte možnost Zkontrolovat a vytvořit. Zobrazí se manifest nasazení.

  8. Vyberte Vytvořit.

  9. Na stránce Nastavit moduly zařízení by se po několika minutách měly zobrazit uvedené a spuštěné moduly. Aktualizujte stránku, pokud se nezobrazují moduly, nebo počkejte několik minut a pak ji znovu aktualizujte.

Vysvětlení dvou nových modulů

  1. Na kartě Nastavení modulů zařízení vyberte název modulu Stream Analytics a přejděte na stránku Aktualizace IoT Edge modulu. Tady můžete nastavení aktualizovat.

    Karta Settings obsahuje identifikátor URI Image URI, který odkazuje na standardní image Azure Stream Analytics. Tato jedna image se používá pro každý modul Stream Analytics, který se nasadí do IoT Edge zařízení.

    Karta Nastavení modulových dvojčat zobrazuje JSON definující vlastnost systému Azure Stream Analytics (ASA) nazvanou ASAJobInfo. Hodnota této vlastnosti odkazuje na definici úlohy ve vašem úložném kontejneru. Tato vlastnost je způsobem, jakým je image Stream Analytics nakonfigurována s podrobnostmi o konkrétní úloze.

    Ve výchozím nastavení má modul Stream Analytics stejný název jako úloha, na které je založená. Pokud chcete, můžete změnit název modulu na této stránce, ale není to nutné.

  2. Pokud jste provedli změny, vyberte Použít, pokud jste neprovedli žádné změny, vyberte Zrušit.

Přiřaďte trasy svým modulům

  1. Na stránce Nastavit moduly na zařízení:< název vašeho zařízení> vyberte Další: Trasy.

  2. Na kartě Routes definujete, jak se zprávy předávají mezi moduly a IoT Hub. Zprávy se vytvářejí pomocí párů název a hodnota.

    Přidejte názvy a hodnoty tras pomocí párů zobrazených v následující tabulce. Nahraďte instance {moduleName} názvem modulu Azure Stream Analytics. Tento modul by měl být stejný název, který vidíte v seznamu modulů vašeho zařízení na stránce Sazení modulů, jak je znázorněno na portálu Azure.

    Snímek obrazovky ukazující názvy modulů Stream Analytics na vašem zařízení IoT Edge v Azure portálu.

    Název Hodnota
    telemetrieDoCloudu FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
    upozorněníDoCloudu FROM /messages/modules/{moduleName}/* INTO $upstream
    upozornění k resetování FROM /messages/modules/{moduleName}/* INTO BrokeredEndpoint("/modules/SimulatedTemperatureSensor/inputs/control")
    telemetrieToAsa FROM /messages/modules/SimulatedTemperatureSensor/* INTO BrokeredEndpoint("/modules/{moduleName}/inputs/temperature")

    Trasy, které zde deklarujete, definují tok dat prostřednictvím IoT Edge zařízení. Telemetrická data ze SimulatedTemperatureSensor se odesílají do IoT Hub, a do vstupu temperature nakonfigurovaného v úloze Stream Analytics. Výstupní zprávy alert se odesílají do IoT Hub a do modulu SimulatedTemperatureSensor, který aktivuje příkaz resetování.

  3. Vyberte Další: Zkontrolovat a vytvořit.

  4. Na kartě Zkontrolovat a vytvořit uvidíte, jak se informace zadané v průvodci převedou na manifest nasazení JSON.

  5. Po dokončení kontroly manifestu vyberte Vytvořit a dokončete nastavení modulu.

Zobrazit data

Přejděte na své IoT Edge zařízení, abyste viděli interakci mezi modulem Azure Stream Analytics a modulem SimulatedTemperatureSensor.

Poznámka:

Pokud pro zařízení používáte virtuální počítač, použijte Azure Cloud Shell pro přímý přístup ke všem Azure ověřeným službám.

  1. Zkontrolujte, že v Dockeru běží všechny moduly:

    iotedge list  
    
  2. Zobrazte si všechny systémové protokoly a data metrik. Nahraďte {moduleName} názvem modulu Azure Stream Analytics:

    iotedge logs -f {moduleName}  
    
  3. Podívejte se, jak příkaz resetování ovlivňuje SimulatedTemperatureSensor zobrazením protokolů snímačů:

    iotedge logs SimulatedTemperatureSensor
    

    Teplotu stroje můžete sledovat postupně, dokud nedosáhne 70 stupňů po dobu 30 sekund. Potom modul Stream Analytics aktivuje resetování a teplota přístroje klesne na 21.

    Snímek obrazovky s příkazem reset v výstupu protokolů modulu

Vyčištění prostředků

Pokud chcete pokračovat k dalšímu doporučenému článku, ponechte prostředky a konfigurace, které jste vytvořili, a znovu je použijte. Můžete také dál používat stejné IoT Edge zařízení jako testovací zařízení.

Jinak odstraňte místní konfigurace a Azure prostředky, které jste použili v tomto článku, abyste se vyhnuli poplatkům.

Odstraňte prostředky Azure

Odstranění prostředků a skupin prostředků v Azure nelze vrátit zpět. Dávejte pozor, abyste nechtěně neodstranili nesprávnou skupinu prostředků nebo jednotlivé prostředky. Pokud jste vytvořili IoT Hub uvnitř existující skupiny prostředků, která obsahuje prostředky, které chcete zachovat, odstraňte pouze samotný IoT Hub prostředek, nikoli skupinu prostředků.

Chcete-li odstranit prostředky:

  1. Přihlaste se k portálu Azure a vyberte Sourcové skupiny.
  2. Vyberte název skupiny prostředků, která obsahuje vaše IoT Edge testovací prostředky.
  3. Zkontrolujte seznam prostředků, které vaše skupina prostředků obsahuje. Pokud chcete odstranit všechny prostředky, můžete vybrat možnost Odstranit skupinu prostředků. Pokud chcete odstranit jenom některé z nich, vyberte jednotlivé prostředky, abyste je odstranili jednotlivě.

Další kroky

V tomto kurzu nastavíte úlohu Azure Stream Analytics pro analýzu dat z vašeho IoT Edge zařízení. Načetli jste modul Azure Stream Analytics na zařízení IoT Edge, abyste mohli zpracovávat a reagovat na zvýšení teploty místně, a odeslali agregovaný datový proud do cloudu. Pokud se chcete dozvědět, jak vám Azure IoT Edge pomoct vytvářet další řešení, pokračujte dalším kurzem.

Vyvíjejte moduly Azure IoT Edge pomocí Visual Studio Code