Kurz: Vývoj IoT Edge modulů pomocí Windows kontejnerů

Platí pro:  Ikona ano IoT Edge 1.1

Pomocí Visual Studio můžete vyvíjet a nasazovat kód pro Windows zařízení s IoT Edge.

Poznámka

IoT Edge 1.1 LTS je kanál poslední verze, který podporuje Windows kontejnery. Od verze 1.2 se Windows kontejnery nepodporují. Zvažte použití nebo přechod na IoT Edge pro Linux na Windows, abyste IoT Edge na Windows zařízeních.

Tento kurz vás provede vývojem a nasazením vlastního kódu do IoT Edge zařízení. Tento kurz je užitečným předpokladem pro další kurzy, které se podrobněji vztahují ke konkrétním programovacím jazykům nebo službám Azure.

V tomto kurzu se používá příklad nasazení modulu C# do Windows zařízení. Tento příklad byl vybrán, protože se jedná o nejběžnější scénář vývoje. Pokud vás zajímá vývoj v jiném jazyce nebo plánujete nasazovat služby Azure jako moduly, bude pro vás tento kurz stále užitečný, když se chcete dozvědět víc o vývojových nástrojích. Jakmile pochopíte koncepty vývoje, můžete se k podrobnostem rozhodnout podle preferovaného jazyka nebo služby Azure.

V tomto kurzu se naučíte:

  • Nastavte si vývojový počítač.
  • Pomocí IoT Edge nástrojů pro Visual Studio a vytvořte nový projekt.
  • Sestavte projekt jako kontejner a uložte ho do registru kontejneru Azure.
  • Nasaďte kód do IoT Edge zařízení.

Požadavky

Počítač pro vývoj:

  • Windows 10 s aktualizací 1809 nebo novější.
  • V závislosti na vašich předvolbách vývoje můžete použít vlastní počítač nebo virtuální počítač.
    • Ujistěte se, že váš vývojový počítač podporuje vnořenou virtualizaci. Tato funkce je nezbytná pro spuštění modulu kontejneru, který nainstalujete v další části.
  • Nainstalujte Git.

Zařízení Azure IoT Edge v Windows:

  • Instalace a správa Azure IoT Edge s Windows kontejnery.
  • Doporučujeme nespouštět aplikace IoT Edge vývojovém počítači, ale pokud je to možné, použijte samostatné zařízení. Tento rozdíl mezi vývojovým strojem a IoT Edge přesněji odráží skutečný scénář nasazení a pomáhá zachovat různé koncepty přímo.

Cloudové prostředky:

  • Centrum IoT úrovně Free nebo Standard v Azure.

Pokud ještě nemáte předplatné Azure,vytvořte si bezplatný účet před tím, než začnete.

Klíčové koncepty

Tento kurz vás provede vývojem modulu IoT Edge. Modul IoT Edge, nebo jen krátce jen modul, je kontejner, který obsahuje spustitelný kód. Jeden nebo více modulů můžete nasadit do IoT Edge zařízení. Moduly provádějí konkrétní úlohy, jako je ingestování dat ze senzorů, provádění analýz dat nebo operací čištění dat nebo odesílání zpráv do centra IoT. Další informace najdete v tématu Principy Azure IoT Edge modulech.

Při vývoji IoT Edge modulů je důležité pochopit rozdíl mezi vývojový počítač a cílovým IoT Edge, na kterém se modul nakonec nasadí. Kontejner, který sestavíte pro váš kód modulu, se musí shodovat s operačním systémem cílového zařízení. Pro Windows kontejnerů je tento koncept jednodušší, protože Windows kontejnery běží pouze v Windows operačních systémech. Můžete ale například použít svůj počítač pro vývoj Windows k vytváření modulů pro linuxová IoT Edge zařízení. V tomto scénáři byste se muset ujistit, že na vašem vývojovém počítači běží kontejnery Linuxu. Během tohoto kurzu mějte na paměti rozdíl mezi operačním systémem vývojového počítače a operačním systémem kontejneru.

Tento kurz se zaměřuje Windows zařízení s IoT Edge. Windows IoT Edge zařízení používají Windows kontejnery. K vývoji pro Visual Studio zařízení doporučujeme Windows, abyste ho mohli používat v tomto kurzu. Můžete použít Visual Studio Code, i když existují rozdíly v podpoře mezi těmito dvěma nástroji.

Následující tabulka uvádí podporované vývojové scénáře pro Windows kontejnery v Visual Studio Code a Visual Studio.

Visual Studio Code Visual Studio 2017/2019
Služby Azure Azure Functions
Azure Stream Analytics
Jazyky C# (ladění se nepodporuje) C
C#
Další informace Azure IoT Edge pro Visual Studio Code Azure IoT Edge Tools pro Visual Studio 2017
Azure IoT Edge Tools pro Visual Studio 2019

Instalace modulu kontejnerů

IoT Edge moduly jsou zabalené jako kontejnery, takže ke sestavování a správě kontejnerů potřebujete na vývojovém počítači modul kontejnerů. Vzhledem k mnoha funkcím a oblíbenosti kontejnerového modulu doporučujeme pro vývoj používat Docker Desktop. S Docker Desktopem na Windows můžete přepínat mezi kontejnery Linuxu a kontejnery Windows, abyste mohli snadno vyvíjet moduly pro různé typy IoT Edge zařízení.

K instalaci na vývojový počítač použijte dokumentaci k Dockeru:

  • Instalace aplikace Docker Desktop pro Windows

    • Při instalaci Docker Desktopu pro Windows se zobrazí dotaz, jestli chcete použít Linux nebo Windows kontejnery. Pro tento kurz použijte Windows kontejnery. Další informace najdete v tématu Přepínání mezi kontejnery Windows a Linuxem.

Nastavení Visual Studio a nástrojů

Rozšíření IoT pro Visual Studio vám pomohou při vývoji IoT Edge modulů. Tato rozšíření poskytují šablony projektů, automatizují vytváření manifestu nasazení a umožňují monitorovat a spravovat IoT Edge zařízení. V této části nainstalujete Visual Studio rozšíření IoT Edge a pak nastavíte účet Azure pro správu prostředků IoT Hub v rámci Visual Studio.

V tomto kurzu se naučíte kroky vývoje pro Visual Studio 2019. Pokud používáte verzi Visual Studio 2017 (verze 15.7 nebo novější), postup je podobný. Pokud byste raději chtěli použít Visual Studio Code, přečtěte si pokyny v tématu Použití Visual Studio Code k vývoji a ladění modulů pro Azure IoT Edge.

  1. Připravte Visual Studio 2019 na vývojovém počítači.

    • Pokud ještě nemáte na vývojovém počítači Visual Studio, nainstalujte Visual Studio 2019 s následujícími úlohami:

      • Vývoj pro Azure
      • Vývoj desktopových aplikací pomocí C++
      • Vývoj multiplatformních aplikací pomocí rozhraní .NET Core
    • Pokud už máte na vývojovém počítači Visual Studio 2019, přidejte požadované úlohy podle kroků v Visual Studio a přidejte požadované úlohy.

  2. Stáhněte a nainstalujte Azure IoT Edge Tools pro Visual Studio 2019.

    Pokud používáte verzi Visual Studio 2017 (verze 15.7 nebo novější), stáhněte a nainstalujte si Azure IoT Edge Tools pro Visual Studio 2017.

  3. Po dokončení instalace otevřete Visual Studio 2019 a vyberte Pokračovat bez kódu.

  4. Vyberte Zobrazit > Průzkumník cloudu.

  5. V Průzkumníku cloudu vyberte ikonu profilu a přihlaste se ke svému účtu Azure, pokud ještě nejste přihlášení.

  6. Po přihlášení se budou uvedená vaše předplatná Azure. Rozbalte předplatné, které obsahuje vaše centrum IoT.

  7. V rámci svého předplatného rozbalte IoT Hubs a pak své centrum IoT. Měl by se zobrazit seznam zařízení IoT a pomocí tohoto průzkumníka je můžete spravovat.

    Přístup IoT Hub v Průzkumníku cloudu

Vytvoření registru kontejneru

V tomto kurzu pomocí rozšíření Azure IoT Tools sestavíte modul a ze souborů se vytvoří Image kontejneru . Tuto image pak nasdílíte do registru, ve kterém se ukládají a spravují vaše image. Nakonec nasadíte svou image z registru pro spuštění na zařízení IoT Edge.

K uložení imagí kontejneru můžete použít libovolný registr kompatibilní s Docker. K disAzure Container Registry a Dockerjsou dvě oblíbené služby Docker Registry. V tomto kurzu se používá služba Azure Container Registry.

Pokud ještě nemáte registr kontejnerů, postupujte podle těchto kroků a vytvořte nový v Azure:

  1. Na webu Azure Portal vyberte Vytvořit prostředek > Kontejnery > Container Registry.

  2. Zadejte následující hodnoty pro vytvoření registru kontejneru:

    Pole Hodnota
    Předplatné V rozevíracím seznamu vyberte předplatné.
    Skupina prostředků Pro všechny testovací prostředky, které vytvoříte v průběhu rychlých startů a kurzů pro IoT Edge, doporučujeme použít stejnou skupinu prostředků. Například IoTEdgeResources.
    Název registru Zadejte jedinečný název.
    Umístění Zvolte umístění, které je blízko vás.
    SKU Vyberte Basic.
  3. Vyberte Vytvořit.

  4. Po vytvoření registru kontejneru ho vyhledejte a v levém podokně vyberte přístupové klíče z nabídky, která se nachází v části Nastavení.

  5. Kliknutím povolíte uživateli s oprávněními správce zobrazit uživatelské jméno a heslo pro váš registr kontejnerů.

  6. Zkopírujte hodnoty pro přihlašovací server, uživatelské jméno a heslo a uložte je někam do vhodného. Tyto hodnoty použijete v celém rámci tohoto kurzu k poskytnutí přístupu k registru kontejneru.

    Kopírovat přihlašovací server, uživatelské jméno a heslo pro registr kontejnerů

Vytvoření nového projektu modulu

Rozšíření Azure IoT Edge Tools poskytuje šablony projektů pro všechny podporované IoT Edge modulů v Visual Studio. Tyto šablony mají všechny soubory a kód, které potřebujete k nasazení pracovního modulu pro testování IoT Edge, nebo poskytují výchozí bod pro přizpůsobení šablony pomocí vlastní obchodní logiky.

  1. Vyberte Soubor > Nový > Project...

  2. V okně nového projektu vyhledejte IoT Edge a zvolte Azure IoT Edge (Windows amd64). Klikněte na Next (Další).

    Vytvoření nového Azure IoT Edge projektu

  3. V okně konfigurace nového projektu přejmenujte projekt a řešení na něco popisného, například CSharpTutorialApp. Kliknutím na Vytvořit vytvořte projekt.

    Konfigurace nového Azure IoT Edge projektu

  4. V okně Přidat modul nakonfigurujte v projektu následující hodnoty:

    Pole Hodnota
    Visual Studio Šablony Vyberte Modul C#.
    Název modulu Přijměte výchozí IotEdgeModule1.
    Adresa URL úložiště Úložiště imagí zahrnuje název registru kontejneru a název image kontejneru. Image kontejneru je předem vyplněna z hodnoty názvu projektu modulu. Nahraďte localhost:5000 hodnotou Přihlašovací server z registru kontejneru Azure. Hodnotu Přihlašovací server můžete načíst ze stránky Přehled vašeho registru kontejneru v Azure Portal.

    Konečné úložiště obrázků vypadá jako <registry name> .azurecr.io/iotedgemodule1.

    Konfigurace projektu pro cílové zařízení, typ modulu a registr kontejneru

  5. Vyberte Přidat a vytvořte modul.

Jakmile se nový projekt načte do okna Visual Studio, seznamte se s vytvořenými soubory:

  • Projekt IoT Edge S názvem CSharpTutorialApp.
    • Složka Modules obsahuje odkazy na moduly zahrnuté v projektu. V tomto případě by to měl být jenom IotEdgeModule1.
    • Skrytý soubor .env obsahuje přihlašovací údaje k vašemu registru kontejneru. Tyto přihlašovací údaje se sdílí s vaším IoT Edge, aby měl přístup ke čtení imagí kontejneru.
    • Soubor deployment.template.json je šablona, která vám pomůže vytvořit manifest nasazení. Manifest nasazení je soubor, který přesně definuje, které moduly chcete nasadit do zařízení, jak by měly být nakonfigurovány a jak spolu navzájem a v cloudu mohou komunikovat.

      Tip

      V části Přihlašovací údaje registru se adresa automaticky vyplňuje z informací, které jste poskytli při vytváření řešení. Referenční proměnné uživatelského jména a hesla uložené v souboru .env. To je z bezpečnostních opatření, protože soubor .env se v Gitu ignoruje, ale šablona nasazení ne.

  • Projekt IoT Edge modulu s názvem IotEdgeModule1.
    • Soubor program.cs obsahuje výchozí kód modulu C#, který je součástí šablony projektu. Výchozí modul přebírá vstup ze zdroje a předává ho do IoT Hub.
    • Soubor module.json obsahuje podrobnosti o modulu, včetně plného úložiště i image, verze image a souboru Dockerfile, který se má použít pro každou podporovanou platformu.

Nastavení IoT Edge runtime

Při IoT Edge prostředků nasazení se jako výchozí použije nejnovější stabilní IoT Edge modulu runtime. V současné době je nejnovější stabilní verze 1.2.

Windows kontejnery se podporují pouze ve verzi dlouhodobé podpory 1.1 nebo ve starší verzi 1.0. Pokud chcete vyvíjet moduly pro zařízení s Windows kontejnery, aktualizujte verzi modulu runtime IoT Edge v Visual Studio tak, aby odpovídala IoT Edge na těchto zařízeních.

  1. V Průzkumník řešení klikněte pravým tlačítkem na název projektu a vyberte Nastavit IoT Edge runtime verze.

    Klikněte pravým tlačítkem na název projektu a vyberte IoT Edge verzi modulu runtime.

  2. Pomocí rozevírací nabídky zvolte verzi modulu runtime, ve které IoT Edge vaše zařízení běží, a pak výběrem OK uložte provedené změny.

  3. Znovu vygenerování manifestu nasazení s novou verzí modulu runtime Klikněte pravým tlačítkem na název projektu a vyberte Vygenerovat nasazení pro IoT Edge.

Zadejte přihlašovací údaje registru agentovi IoT Edge registru.

Modul runtime IoT Edge vaše přihlašovací údaje registru k přetátažení imagí kontejneru do IoT Edge zařízení. Rozšíření IoT Edge pokusí získat informace o registru kontejneru z Azure a naplnit je v šabloně nasazení.

  1. Ve svém řešení modulu otevřete soubor deployment.template.json.

  2. Najděte vlastnost registryCredentials v $edgeAgent požadovaných vlastností. Adresa registru by se měla automaticky vyplnit z informací, které jste poskytli při vytváření projektu, a pak by pole uživatelského jména a hesla měla obsahovat názvy proměnných. Příklad:

    "registryCredentials": {
      "<registry name>": {
        "username": "$CONTAINER_REGISTRY_USERNAME_<registry name>",
        "password": "$CONTAINER_REGISTRY_PASSWORD_<registry name>",
        "address": "<registry name>.azurecr.io"
      }
    }
    
  3. Ve svém řešení modulu otevřete soubor .env. (Ve výchozím nastavení je v okně Průzkumník řešení skrytý, takže možná budete muset vybrat tlačítko Zobrazit všechny soubory, aby se mohlo zobrazit.)

  4. Přidejte hodnoty Uživatelské jméno a Heslo, které jste zkopírované ze svého registru kontejneru Azure.

  5. Uložte změny do souboru .env.

Poznámka

Tento kurz používá přihlašovací údaje správce pro Azure Container Registry které jsou vhodné pro vývojové a testovací scénáře. Až budete připraveni na produkční scénáře, doporučujeme použít ověřování s nejmenšími oprávněními, jako jsou instanční objekty. Další informace najdete v tématu Správa přístupu ke svému registru kontejneru.

Kontrola vzorového kódu

Šablona řešení, kterou jste vytvořili, obsahuje vzorový kód pro IoT Edge modulu. Tento ukázkový modul jednoduše přijímá zprávy a předává je dál. Funkce kanálu ukazuje důležitý koncept v IoT Edge, což je způsob, jakým moduly vzájemně komunikují.

Každý modul může mít více vstupních a výstupních front deklarovaných ve svém kódu. Centrum IoT Edge běžící na zařízení směruje zprávy z výstupu jednoho modulu do vstupu jednoho nebo více modulů. Konkrétní kód pro deklarování vstupů a výstupů se v jednotlivých jazycích liší, ale koncept je stejný ve všech modulech. Další informace o směrování mezi moduly najdete v tématu Deklarace tras.

Ukázkový kód jazyka C#, který je součástí šablony projektu, používá třídu ModuleClient ze sady SDK IoT Hub pro .NET.

  1. V souboru program.cs vyhledejte metodu SetInputMessageHandlerAsync.

  2. Metoda SetInputMessageHandlerAsync nastaví vstupní frontu pro příjem příchozích zpráv. Prohlédněte si tuto metodu a podívejte se, jak inicializuje vstupní frontu s názvem input1.

    Vyhledání názvu vstupu v konstruktoru SetInputMessageHandlserAsync

  3. Dále vyhledejte metodu SendEventAsync.

  4. Metoda SendEventAsync zpracovává přijaté zprávy a nastaví výstupní frontu pro jejich předání. Zkontrolujte tuto metodu a zkontrolujte, že inicializuje výstupní frontu s názvem output1.

    Vyhledejte název výstupu v konstruktoru SendEventAsync.

  5. Otevřete soubor deployment.template.json.

  6. Vyhledejte vlastnost modules objektu $edgeAgent požadované vlastnosti.

    Tady by měly být uvedené dva moduly. Jedním z nich je modul SimulatedTemperatureSensor, který je ve výchozím nastavení součástí všech šablon a poskytuje simulovaná data o teplotě, která můžete použít k testování modulů. Druhý je modul IotEdgeModule1, který jste vytvořili v rámci tohoto projektu.

    Tato vlastnost modules deklaruje, které moduly by měly být součástí nasazení do zařízení nebo zařízení.

  7. Vyhledejte vlastnost routes $edgeHub požadovaných vlastností.

    Jednou z funkcí modulu IoT Edge Hub je směrování zpráv mezi všemi moduly v nasazení. Zkontrolujte hodnoty ve vlastnosti routes. Jedna trasa, IotEdgeModule1ToIoTHub, používá zástupný znak (* _) k zahrnutí jakékoli zprávy přicházející z jakékoli výstupní fronty v * modulu IotEdgeModule1. Tyto zprávy se převedou do složky _$upstream*, což je vyhrazený název, který IoT Hub. Druhá trasa sensorToIotEdgeModule1 přebírá zprávy přicházející z modulu SimulatedTemperatureSensor a směruje je do vstupní fronty input1 modulu IotEdgeModule1.

    Kontrola tras v souboru deployment.template.json

Sestavení a nabízení řešení

Prohlédněte si kód modulu a šablonu nasazení, abyste porozuměli některým klíčovým konceptům nasazení. Teď jste připravení sestavit image kontejneru IotEdgeModule1 a na push ji do registru kontejneru. S rozšířením IoT Tools pro Visual Studio tento krok také vygeneruje manifest nasazení na základě informací v souboru šablony a informací o modulu ze souborů řešení.

Přihlášení k Dockeru

Zadejte přihlašovací údaje registru kontejneru do Dockeru na vývojovém počítači, aby mohl image kontejneru uložit do registru.

  1. Otevřete PowerShell nebo příkazový řádek.

  2. Přihlaste se k Dockeru pomocí přihlašovacích údajů registru kontejneru Azure, které jste uložili po vytvoření registru.

    docker login -u <ACR username> -p <ACR password> <ACR login server>
    

    Může se zobrazit upozornění zabezpečení, které doporučuje použití --password-stdin . I když se tento osvědčený postup doporučuje pro produkční scénáře, je nad rámec tohoto kurzu. Další informace najdete v referenčních informacích k přihlášení dockeru.

Sestavení a nabízení

Váš vývojový počítač teď má přístup k registru kontejneru a vaše IoT Edge zařízení budou také. Je čas přeměnit kód projektu na image kontejneru.

  1. Klikněte pravým tlačítkem na složku projektu CSharpTutorialApp a vyberte Build and Push IoT Edge Modules .)

    Sestavování a nabízení IoT Edge modulů

    Příkaz build a push spustí tři operace. Nejprve v řešení vytvoří novou složku s názvem config, která obsahuje úplný manifest nasazení sestavený z informací v šabloně nasazení a dalších souborech řešení. Za druhé se spustí k sestavení image kontejneru na základě docker build příslušného souboru dockerfile pro vaši cílovou architekturu. Pak se spustí a docker push nasoudí úložiště i image do registru kontejneru.

    Tento proces může při příštím spuštění příkazů trvat několik minut, ale je rychlejší.

  2. V nově vytvořené složce config otevřete soubor deployment.windows-amd64.json. (Složka config se nemusí v seznamu Průzkumník řešení Visual Studio. Pokud je to váš případ, vyberte ikonu Zobrazit všechny soubory na hlavním Průzkumník řešení panelu.)

  3. Vyhledejte parametr image části IotEdgeModule1. Všimněte si, že image obsahuje úplné úložiště obrázků s názvem, verzí a značkou architecture ze souboru module.json.

  4. Otevřete soubor module.json ve složce IotEdgeModule1.

  5. Změňte číslo verze image modulu. (Verze, nikoli verze $schema-version.) Můžete například zvýšit číslo verze opravy na 0.0.2, jako bychom provedli malou opravu v kódu modulu.

    Tip

    Verze modulů umožňují řízení verzí a umožňují testovat změny na malé sadě zařízení před nasazením aktualizací do produkčního prostředí. Pokud před sestavením a nasazováním nezvětšíte verzi modulu, přepíšete úložiště v registru kontejneru.

  6. Uložte změny do souboru module.json.

  7. Znovu klikněte pravým tlačítkem na složku projektu CSharpTutorialApp a znovu vyberte Build and Push IoT Edge Modules (Sestavit a IoT Edge moduly).

  8. Znovu otevřete soubor deployment.windows-amd64.json. Všimněte si, že při spuštění příkazu build and push se nový soubor nevytyčil. Stejný soubor se aktualizoval tak, aby odrážel změny. Image IotEdgeModule1 teď odkazuje na verzi kontejneru 0.0.2. Tato změna v manifestu nasazení je způsob, jak IoT Edge zařízení, že existuje nová verze modulu, kterou si můžete vyžádat.

  9. Pokud chcete dál ověřit, co příkaz build a push udělal, přejděte na Azure Portal a přejděte do registru kontejneru.

  10. V registru kontejneru vyberte Úložiště a pak iotedgemodule1. Ověřte, že se obě verze image nasadily do registru.

    Zobrazení obou verzí image v registru kontejneru

Řešení potíží

Pokud při sestavování a nasazování image modulu narazíte na chyby, často to musí s konfigurací Dockeru na vývojovém počítači. Ke kontrole konfigurace použijte následující kontroly:

  • Spouštěl jste docker login příkaz pomocí přihlašovacích údajů, které jste zkopíroval z registru kontejneru? Tyto přihlašovací údaje se liší od přihlašovacích údajů, které používáte pro přihlášení k Azure.
  • Je vaše úložiště kontejnerů správné? Má váš správný název registru kontejneru a správný název modulu? Otevřete soubor module.json ve složce IotEdgeModule1 a zkontrolujte ho. Hodnota úložiště by měla vypadat jako <registry name> .azurecr.io/iotedgemodule1.
  • Pokud jste pro svůj modul použili jiný název než IotEdgeModule1, je tento název v celém řešení konzistentní?
  • Je na vašem počítači spuštěný stejný typ kontejnerů, které se chytáte? Tento kurz je pro Windows IoT Edge zařízení, takže vaše soubory Visual Studio by měly mít příponu windows-amd64 a Docker Desktop by měl Windows kontejnery.

Nasazení modulů do zařízení

Ověřili jste, že sestavené image kontejneru jsou uložené v registru kontejneru, takže je čas je nasadit do zařízení. Ujistěte se, IoT Edge je vaše zařízení v provozu.

  1. Otevřete Průzkumníka cloudu v Visual Studio rozbalte podrobnosti o centru IoT.

  2. Vyberte název zařízení, na které chcete zařízení nasadit. V seznamu Akce vyberte Vytvořit nasazení.

    Vytvoření nasazení pro jedno zařízení

  3. V Průzkumníku souborů přejděte do složky config vašeho projektu a vyberte soubor deployment.windows-amd64.json. Tento soubor se často nachází na adrese . C:\Users\<username>\source\repos\CSharpTutorialApp\CSharpTutorialApp\config\deployment.windows-amd64.json

    Nepoužívejte soubor deployment.template.json, který nemá všechny hodnoty image modulu.

  4. Rozbalte podrobnosti o vašem IoT Edge v Průzkumníku cloudu a zobrazte moduly na vašem zařízení.

  5. Pomocí tlačítka Aktualizovat aktualizujte stav zařízení, abyste viděli, že jsou na vašem zařízení nasazené moduly SimulatedTemperatureSensor a IotEdgeModule1.

    Zobrazení modulů spuštěných na IoT Edge zařízení

Zobrazení zpráv ze zařízení

Kód IotEdgeModule1 přijímá zprávy prostřednictvím vstupní fronty a předává je prostřednictvím výstupní fronty. Manifest nasazení deklaroval trasy, které předaly zprávy ze SimulatedTemperatureSensor do IotEdgeModule1, a pak předaly zprávy z IotEdgeModule1 do IoT Hub. Nástroje Azure IoT Edge pro Visual Studio umožňují zobrazit zprávy přicházející na IoT Hub jednotlivých zařízení.

  1. V Visual Studio Průzkumník cloudu vyberte název zařízení, IoT Edge jste nasadili.

  2. V nabídce Actions (Akce) vyberte Start Monitoring Built-in Event Endpoint (Zahájit monitorování integrovaného koncového bodu událostí).

  3. Sledujte část Výstup v Visual Studio a podívejte se na zprávy přicházející do vašeho centra IoT.

    Spuštění obou modulů může trvat několik minut. Modul IoT Edge runtime musí přijmout nový manifest nasazení, stáhnout image modulu z modulu runtime kontejneru a pak spustit každý nový modul.

    Zobrazení příchozích zpráv ze zařízení do cloudu

Zobrazení změn na zařízení

Pokud chcete vidět, co se děje na vašem zařízení, pomocí příkazů v této části si prohlédněte modul runtime IoT Edge moduly spuštěné na vašem zařízení.

Příkazy v této části jsou pro vaše IoT Edge, ne pro vývojový počítač. Pokud pro své zařízení IoT Edge, připojte se k virtuálnímu počítači. V Azure přejděte na stránku přehledu virtuálního počítače a vyberte Připojení přístup k připojení ke vzdálené ploše. Na zařízení otevřete příkaz nebo okno PowerShellu a spusťte iotedge příkazy.

  • Zobrazit vše moduly nasazené do vašeho zařízení a zkontrolujte jejich stav:

    iotedge list
    

    Měly by se zobrazit čtyři moduly: IoT Edge modulu runtime, SimulatedTemperatureSensor a IotEdgeModule1. Všechny čtyři by měly být uvedené jako spuštěné.

  • Zkontrolujte protokoly pro konkrétní modul:

    iotedge logs <module name>
    

    IoT Edge rozlišují velká a malá písmena.

    Protokoly SimulatedTemperatureSensor a IotEdgeModule1 by měly zobrazovat zprávy, které zpracovávají. Modul edgeAgent zodpovídá za spuštění ostatních modulů, takže jeho protokoly budou mít informace o implementaci manifestu nasazení. Pokud některý modul není uvedený nebo není spuštěný, v protokolech edgeAgent se pravděpodobně zobrazí chyby. Modul edgeHub zodpovídá za komunikaci mezi moduly a IoT Hub. Pokud jsou moduly v provozu, ale zprávy nejsou přicházející do vašeho centra IoT, v protokolech EdgeHubu pravděpodobně dojde k chybám.

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

Pokud máte v plánu pokračovat k dalšímu doporučenému článku, můžete si vytvořené prostředky a konfigurace uschovat a znovu je použít. Také můžete dál používat stejné zařízení IoT Edge jako testovací zařízení.

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

Odstranění prostředků Azure

Odstranění prostředků Azure a skupin prostředků je nevratná akce. Ujistěte se, že nechtěně neodstraníte nesprávnou skupinu prostředků nebo prostředky. Pokud Centrum IoT vytvoříte ve stávající skupině prostředků, která obsahuje prostředky, které chcete zachovat, odstraňte jenom samotný prostředek služby IoT Hub, nikoli skupinu prostředků.

Odstranění prostředků:

  1. Přihlaste se k portálu Azure Portal a potom vyberte Skupiny prostředků.

  2. Vyberte název skupiny prostředků, která obsahuje vaše testovací prostředky služby IoT Edge.

  3. Zkontrolujte seznam prostředků, které jsou obsaženy ve vaší skupině prostředků. Pokud chcete odstranit všechny prostředky, můžete vybrat možnost Odstranit skupinu prostředků. Pokud chcete odstranit pouze některé prostředky, můžete na ně kliknout a odstranit je jednotlivě.

Další kroky

V tomto kurzu jste na vývojovém počítači nastavili Visual Studio 2019 a nasadili jste z něj první IoT Edge modulu. Teď, když znáte základní koncepty, zkuste do modulu přidat funkcionalitu, aby mohl analyzovat data, která přes něj procházejí. Zvolte upřednostňovaný jazyk:

C C#