Kurz: vývoj modulů IoT Edge s využitím kontejnerů pro Linux
Platí pro:
IoT Edge 1,1
IoT Edge 1,2
pomocí Visual Studio Code můžete vyvíjet a nasazovat kód do zařízení s IoT Edge.
V rychlém startu jste vytvořili zařízení IoT Edge a nasadili modul z Azure Marketplace. Tento kurz vás provede vývojem a nasazením vlastního kódu do zařízení IoT Edge. Tento článek je vhodným předpokladem pro ostatní kurzy, které vám pojdou podrobněji o konkrétních programovacích jazycích nebo službách Azure.
V tomto kurzu se používá příklad nasazení modulu C# na zařízení se systémem Linux. Tento příklad jste zvolili, protože se jedná o nejběžnější scénář pro vývojáře pro IoT Edge řešení. I v případě, že plánujete použití jiného jazyka nebo nasazení služby Azure, tento kurz je stále užitečný pro další informace o vývojářských nástrojích a konceptech. Dokončete tento Úvod do procesu vývoje a pak zvolte preferovaný jazyk nebo službu Azure, které chcete podrobně do podrobností.
V tomto kurzu se naučíte:
- Nastavte počítač pro vývoj.
- pomocí nástrojů IoT Edge pro Visual Studio Code vytvořte nový projekt.
- Sestavte projekt jako kontejner a uložte ho do služby Azure Container Registry.
- Nasaďte kód do zařízení IoT Edge.
Požadavky
Vývojový počítač:
- V závislosti na vašich předvolbách pro vývoj můžete použít svůj 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í kontejnerového modulu, který nainstalujete v následující části.
- Většina operačních systémů, které mohou spustit kontejnerový modul, lze použít k vývoji IoT Edge moduly pro zařízení se systémem Linux. v tomto kurzu se používá Windows počítač, ale odkazuje na známé rozdíly na macOS nebo Linux.
- Nainstalujte Git, abyste si mohli stáhnout balíčky šablon modulů dále v tomto kurzu.
- Rozšíření jazyka C# pro Visual Studio Code (využívající OmniSharp).
- .NET Core 2.1 SDK.
Zařízení Azure IoT Edge:
- Doporučujeme, abyste ve vývojovém počítači nespouštěli IoT Edge, ale místo toho použijte samostatné zařízení. Toto rozlišení mezi vývojovým počítačem a IoT Edgeým zařízením přesněji odráží skutečný scénář nasazení a pomáhá udržet různé koncepty rovnou.
- Pokud nemáte k dispozici druhé zařízení, pomocí článku rychlý Start vytvořte zařízení IoT Edge v Azure pomocí virtuálního počítače se systémem Linux.
Cloudové prostředky:
- Centrum IoT na bezplatné nebo standardní úrovni 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. IoT Edge modul, nebo někdy jenom modul pro krátké, je kontejner se spustitelným kódem. Jeden nebo více modulů můžete nasadit do zařízení IoT Edge. Moduly provádějí konkrétní úkoly, jako je ingestování dat ze senzorů, čištění a analýza dat nebo posílání zpráv do služby IoT Hub. Další informace najdete v tématu principy Azure IoT Edgech modulů.
Při vývoji IoT Edgech modulů je důležité pochopit rozdíl mezi vývojovým počítačem a cílovým IoT Edge zařízením, kde se modul bude nakonec nasazovat. Kontejner, který sestavíte pro uložení kódu vašeho modulu, se musí shodovat s operačním systémem cílového zařízení. nejběžnějším scénářem je například někdo, který vyvíjí modul na Windows počítač, který cílí na zařízení se systémem Linux se IoT Edge. V takovém případě by byl operační systém kontejneru Linux. Při procházení tohoto kurzu mějte na paměti rozdíl mezi vývojovým operačním systémem a operačním systémem kontejneru.
Tip
pokud používáte IoT Edge pro Linux v Windows, pak cílové zařízení ve vašem scénáři je virtuální počítač se systémem Linux, nikoli hostitel Windows.
V tomto kurzu se cílí na zařízení s IoT Edge s kontejnery Linux. Můžete použít preferovaný operační systém, pokud váš vývojový počítač používá kontejnery Linux. pro vývoj s kontejnery pro Linux doporučujeme použít Visual Studio Code, takže tento kurz bude používat. můžete použít i Visual Studio, i když existují rozdíly v podpoře mezi dvěma nástroji.
následující tabulka uvádí podporované vývojové scénáře pro kontejnery Linux v Visual Studio Code a Visual Studio.
| Visual Studio Code | Visual Studio 2017/2019 | |
|---|---|---|
| Architektura zařízení se systémem Linux | Linux AMD64 Linux ARM32 |
Linux AMD64 Linux ARM32 |
| Služby Azure | Azure Functions Azure Stream Analytics Azure Machine Learning |
|
| Jazyky | C C# Java Node.js Python |
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 |
Poznámka
Podpora pro zařízení se systémem Linux ARM64 je k dispozici ve verzi Public Preview. další informace najdete v tématu vývoj a ladění ARM64 IoT Edgech modulů v Visual Studio Code (preview).
V tomto kurzu se naučíte postup vývoje Visual Studio Code. pokud místo toho chcete použít Visual Studio, přečtěte si pokyny v tématu použití Visual Studio 2019 k vývoji a ladění modulů pro Azure IoT Edge.
Nainstalovat modul pro kontejnery
Moduly IoT Edge jsou zabaleny jako kontejnery, takže potřebujete kontejnerový modul na svém vývojovém počítači, abyste je mohli sestavovat a spravovat. Kvůli podpoře funkcí a oblíbenosti doporučujeme použít Docker Desktop pro vývoj. docker Desktop on Windows umožňuje přepínat mezi kontejnery Linux 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 Docker:
Instalace aplikace Docker Desktop pro Windows
- při instalaci docker desktopu pro Windows se zobrazí dotaz, zda chcete použít kontejnery pro Linux nebo Windows. Toto rozhodnutí můžete kdykoli změnit pomocí snadného přepínače. Pro tento kurz používáme kontejnery Linux, protože naše moduly jsou cílené na zařízení se systémem Linux. další informace najdete v tématu přepínání mezi kontejnery Windows a Linux.
Informace o instalaci najdete v tématu Docker CE pro různé platformy Linux.
- pro Subsystém Windows pro Linux (WSL) nainstalujte docker Desktop pro Windows.
nastavení VS Code a nástrojů
k vývoji IoT Edgech modulů použijte rozšíření IoT pro Visual Studio Code. Tato rozšíření poskytují šablony projektů, automatizují vytváření manifestu nasazení a umožňují vám monitorovat a spravovat IoT Edge zařízení. v této části nainstalujete Visual Studio Code a rozšíření IoT a pak nastavíte účet Azure pro správu prostředků IoT Hub v rámci Visual Studio Code.
nainstalujte Visual Studio Code na svém vývojovém počítači.
Po dokončení instalace vyberte Zobrazit > rozšíření.
vyhledejte Azure IoT Tools, což je ve skutečnosti kolekce rozšíření, která vám pomůžou pracovat se zařízeními IoT Hub a IoT, a také vyvíjet moduly IoT Edge.
Vyberte Nainstalovat. Každé zahrnuté rozšíření se nainstaluje jednotlivě.
Po dokončení instalace rozšíření otevřete paletu příkazů výběrem možnosti Zobrazit > paletu příkazů.
V paletě příkazů vyhledejte a vyberte Azure: přihlásit se. Podle pokynů se přihlaste ke svému účtu Azure.
Na paletě příkazů znovu vyhledejte a vyberte Azure IoT Hub: Select IoT Hub. Podle pokynů vyberte své předplatné Azure a centrum IoT.
Otevřete oddíl průzkumníka Visual Studio Code výběrem ikony na panelu aktivit na levé straně nebo výběrem možnosti Průzkumník > zobrazení.
V dolní části části průzkumníka rozbalte sbalený Azure IoT Hub / Zařízení. Měla by se zobrazit zařízení a IoT Edge zařízení přidružená k centru IoT, které jste vybrali na paletě příkazů.

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:
Na webu Azure Portal vyberte Vytvořit prostředek > Kontejnery > Container Registry.
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. Vyberte Vytvořit.
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í.
Kliknutím povolíte uživateli s oprávněními správce zobrazit uživatelské jméno a heslo pro váš registr kontejnerů.
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.

Vytvoření nového projektu modulu
Rozšíření Azure IoT Tools poskytuje šablony projektů pro všechny podporované IoT Edge modulů v Visual Studio Code. 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.
Pro tento kurz používáme šablonu modulu C#, protože se jedná o nejčastěji použítou šablonu.
Vytvoření šablony projektu
Na paletě Visual Studio Code příkazů vyhledejte a vyberte Azure IoT Edge: Nové IoT Edge řešení. Postupujte podle pokynů a pomocí následujících hodnot vytvořte řešení:
| Pole | Hodnota |
|---|---|
| Vybrat složku | Zvolte umístění na vývojovém počítači, ve kterém VS Code vytvoří soubory řešení. |
| Zadejte název řešení | Zadejte popisný název řešení nebo přijměte výchozí řešení EdgeSolution. |
| Vyberte šablonu modulu | Zvolte Modul C#. |
| Zadejte název modulu | Přijměte výchozí vzorový modul. |
| Zadejte pro modul úložiště imagí Dockeru | Úložiště imagí zahrnuje název registru kontejneru a název image kontejneru. Image kontejneru je předem vyplněna z názvu, který jste poskytli v posledním kroku. 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/samplemodule. |

Jakmile se nové řešení načte do okna Visual Studio Code, seznamte se s vytvořenými soubory:
Složka .vscode obsahuje soubor s názvem launch.json, který se používá pro ladění modulů.
Složka modules obsahuje složku pro každý modul ve vašem řešení. Právě teď by to měl být pouze SampleModule nebo jakýkoliv název, který jste modulu dali. Složka SampleModule obsahuje hlavní kód programu, metadata modulu a několik souborů Dockeru.
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.debug.template.json a soubor deployment.template.json jsou šablony, které vám pomůžou 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. Soubory šablon používají ukazatele pro některé hodnoty. Při transformaci šablony na skutečný manifest nasazení jsou ukazatele nahrazeny hodnotami převzatých z jiných souborů řešení. V šabloně nasazení vyhledejte dva běžné zástupné symboly:
- V části Přihlašovací údaje registru se adresa automaticky vyplňuje z informací, které jste poskytli při vytváření řešení. Uživatelské jméno a heslo ale odkazují na proměnné uložené v souboru .env. Tato konfigurace je pro zabezpečení, protože soubor .env se v Gitu ignoruje, ale šablona nasazení ne.
- V části SampleModule se image kontejneru nevyplní, i když jste při vytváření řešení za předpokladu, že jste úložiště i image poskytli. Tento zástupný symbol odkazuje na soubor module.json ve složce SampleModule. Když do tohoto souboru nasádáte, uvidíte, že pole image obsahuje úložiště, ale také hodnotu značky, která je tvořená verzí a platformou kontejneru. Verzi můžete iterovat ručně v rámci vývojového cyklu a vybrat platformu kontejnerů pomocí přepínače, který představíme později v této části.
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 verze 1.2. Pokud vyvíjíte moduly pro zařízení s dlouhodobou verzí podpory 1.1 nebo starší verzí 1.0, aktualizujte verzi IoT Edge Runtime v Visual Studio Code tak, aby odpovídala.
Vyberte View > Command Palette (Zobrazit paletu příkazů).
Na paletě příkazů zadejte a spusťte příkaz Azure IoT Edge: Set default IoT Edge runtime version( Nastavit výchozí verzi modulu runtime).
V seznamu zvolte verzi modulu runtime, IoT Edge vaše zařízení běží.
Po výběru nové verze modulu runtime se manifest nasazení dynamicky aktualizuje tak, aby odrážel změnu imagí modulu runtime.
Zadejte přihlašovací údaje registru agentovi IoT Edge registru.
V souboru prostředí jsou uložené přihlašovací údaje pro registr kontejneru, které soubor sdílí s modulem runtime IoT Edge. Modul runtime tyto přihlašovací údaje potřebuje k natažení imagí kontejneru do IoT Edge zařízení.
Poznámka
Pokud jste hodnotu localhost:5000 nenahradí hodnotou přihlašovacího serveru z registru kontejneru Azure, v kroku Vytvoření šablony projektu budou chybět soubory .env a registryCredentials manifestu nasazení.
Rozšíření IoT Edge pokusí vyžádat přihlašovací údaje registru kontejneru z Azure a naplnit je v souboru prostředí. Zkontrolujte, jestli už vaše přihlašovací údaje nejsou zahrnuté. Pokud ne, přidejte je teď:
- Ve svém řešení modulu otevřete soubor .env.
- Přidejte hodnoty uživatelského jména a hesla, které jste zkopíroval z registru kontejneru Azure.
- 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 nebo tokeny v rámci úložiště. Další informace najdete v tématu Správa přístupu ke svému registru kontejneru.
Výběr cílové architektury
V současné Visual Studio Code vyvíjet moduly C# pro zařízení s Linuxem AMD64 a ARM32v7. Musíte vybrat architekturu, na kterou u každého řešení cílíte, protože to má vliv na způsob, jakým se kontejner sesít a spustit. Výchozí hodnota je Linux AMD64.
Otevřete paletu příkazů a vyhledejte Azure IoT Edge: Set Default Target Platform for Edge Solution(Nastavit výchozí cílovou platformu pro řešení Edge) nebo vyberte ikonu zástupce na bočním panelu v dolní části okna.

Na paletě příkazů vyberte ze seznamu možností cílovou architekturu. Pro tento kurz používáme virtuální počítač Ubuntu jako zařízení IoT Edge, takže si zachováme výchozí amd64.
Kontrola vzorového kódu
Šablona řešení, kterou jste vytvořili, obsahuje vzorový kód pro IoT Edge modul. 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 deklaraci 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 z IoT Hub SDK pro .NET.
Otevřete soubor Program.cs, který je ve složce modules/SampleModule/.
V souboru program.cs vyhledejte metodu SetInputMessageHandlerAsync.
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.

Dále vyhledejte metodu SendEventAsync.
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.

Otevřete soubor deployment.template.json.
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, aby poskytoval Simulovaná data o teplotě, která můžete použít k otestování modulů. Druhý je modul SampleModule , který jste vytvořili jako součást tohoto řešení.
V dolní části souboru vyhledejte požadované vlastnosti pro modul $edgeHub .
Jednou z funkcí modulu centra IoT Edge je směrování zpráv mezi všemi moduly v nasazení. Zkontrolujte hodnoty ve vlastnosti Routes . Jedna trasa, SampleModuleToIoTHub, používá zástupný znak (* * _) k označení všech zpráv přicházejících z libovolných výstupních front v modulu SampleModule. Tyto zprávy patří do _ $-Stream *, což je vyhrazený název, který označuje IoT Hub. Druhá trasa, sensorToSampleModule, přebírá zprávy přicházející z modulu SimulatedTemperatureSensor a směruje je do vstupní fronty input1 , kterou jste viděli inicializováni v kódu SampleModule.

Sestavení a nabízení řešení
Zkontrolovali jste kód modulu a šablonu nasazení, abyste pochopili některé koncepty nasazení. Nyní jste připraveni sestavit image kontejneru SampleModule a vložit ji do registru kontejneru. s rozšířením nástrojů IoT pro Visual Studio Code tento krok také generuje manifest nasazení na základě informací v souboru šablony a informací o modulu ze souborů řešení.
Přihlásit se k Docker
Poskytněte přihlašovací údaje registru kontejneru do Docker, aby mohli ukládat image kontejneru do registru.
otevřete Visual Studio Code integrated terminal výběrem možnosti zobrazit > terminál.
Přihlaste se k Docker pomocí přihlašovacích údajů služby Azure Container Registry, 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í nástroje
--password-stdin. I když se tento osvědčený postup doporučuje u produkčních scénářů, je mimo rozsah tohoto kurzu. Další informace najdete v tématu přihlašovací Reference k Docker .Přihlášení ke službě Azure Container Registry
az acr login -n <ACR registry name>
Sestavení a vložení
Visual Studio Code má teď přístup k vašemu registru kontejneru, takže je čas převést kód řešení na image kontejneru.
v průzkumníku Visual Studio Code klikněte pravým tlačítkem myši na soubor deployment. template. json a vyberte sestavení a nabízené IoT Edge řešení.

Příkaz Build a push spustí tři operace. Nejprve vytvoří novou složku v řešení s názvem config , která obsahuje úplný manifest nasazení, a vyplní informace v šabloně nasazení a dalších souborech řešení. Za druhé se spustí
docker buildsestavení image kontejneru na základě vhodné souboru Dockerfile pro vaši cílovou architekturu. Pak se spustí a nahrajedocker pushúložiště imagí do registru kontejneru.Tento proces může trvat několik minut poprvé, ale při příštím spuštění příkazů je rychlejší.
Otevřete soubor Deployment. amd64. JSON ve složce nově vytvořená konfigurace. Název souboru odráží cílovou architekturu, takže se bude lišit, pokud vyberete jinou architekturu.
Všimněte si, že dva parametry, které obsahovaly zástupné symboly nyní, jsou vyplněny odpovídajícími hodnotami. Část registryCredentials obsahuje uživatelské jméno a heslo v registru, které jste si vyžádali ze souboru. env. SampleModule má úplné úložiště imagí se značkou názvu, verze a architektury ze souboru Module. JSON.
Otevřete soubor Module. JSON ve složce SampleModule.
Změňte číslo verze image modulu. (Verze, nikoli verze $schema.) Například Zvyšte číslo verze opravy na 0.0.2 , jako kdyby jsme v kódu modulu udělali malou opravu.
Tip
Verze modulů umožňují správu verzí a umožňují testovat změny v malých sadě zařízení před nasazením aktualizací do produkčního prostředí. Pokud před vytvořením a vložením nezvýšíte verzi modulu, přepíšete úložiště v registru kontejneru.
Uložte změny do souboru Module. JSON.
Znovu klikněte pravým tlačítkem na soubor Deployment. template. JSON a znovu vyberte sestavení a nabízená IoT Edge.
Znovu otevřete soubor Deployment. amd64. JSON . Všimněte si, že nový soubor nebyl vytvořen při opětovném spuštění příkazu Build a push. Místo toho byl stejný soubor aktualizován tak, aby odrážel změny. Obrázek SampleModule nyní odkazuje na verzi 0.0.2 kontejneru.
Chcete-li dále ověřit, co byl příkaz Build and push, přejděte na Azure Portal a přejděte do registru kontejneru.
V registru kontejneru vyberte úložiště a pak SampleModule. Ověřte, zda byly do registru vloženy obě verze bitové kopie.

Řešení potíží
Pokud narazíte na chyby při sestavování a vkládání image modulu, často je třeba provést konfiguraci Docker na vašem vývojovém počítači. Ke kontrole konfigurace použijte následující kontroly:
- Spustili jste
docker loginpříkaz s použitím přihlašovacích údajů, které jste zkopírovali z registru kontejneru? Tyto přihlašovací údaje se liší od těch, které používáte k přihlášení do 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 SampleModule, abyste zkontrolovali. Hodnota úložiště by měla vypadat jako <registry name> . azurecr.IO/SampleModule.
- Pokud jste pro modul použili jiný název než SampleModule , znamená to, že se tento název v rámci řešení konzistentně používá?
- Je váš počítač se spuštěným stejným typem kontejnerů, které vytváříte? tento kurz je určen pro zařízení se systémem Linux IoT Edge, takže Visual Studio Code by měl být na bočním panelu amd64 nebo arm32v7 a docker Desktop by měl spouštět kontejnery Linux.
Nasadit moduly do zařízení
Ověřili jste, že jsou sestavené image kontejneru uložené v registru kontejnerů, takže je čas je nasadit do zařízení. Ujistěte se, že je zařízení IoT Edge spuštěné.
v průzkumníkovi Visual Studio Code v části Azure IoT Hub rozbalte zařízení , abyste viděli seznam zařízení IoT.
Klikněte pravým tlačítkem na zařízení IoT Edge, do kterého chcete nasadit, a pak vyberte vytvořit nasazení pro jedno zařízení.

V Průzkumníku souborů přejděte do konfigurační složky a pak vyberte soubor Deployment. amd64. JSON .
Nepoužívejte soubor Deployment. template. JSON, ve kterém nejsou k dispozici přihlašovací údaje registru kontejneru nebo hodnoty imagí modulu. Pokud cílíte na zařízení ARM32 pro Linux, manifest nasazení bude pojmenovaný Deployment. arm32v7. JSON.
V části zařízení rozbalte moduly a zobrazte seznam nasazených a spuštěných modulů. Klikněte na tlačítko pro obnovení. Měli byste vidět nové moduly SimulatedTemperatureSensor a SampleModule běžící na vašem zařízení.
Spuštění modulů může trvat několik minut. Modul runtime IoT Edge musí přijmout nový manifest nasazení, Stáhnout image modulu z modulu runtime kontejneru a pak začít každý nový modul.

Zobrazit zprávy ze zařízení
Kód SampleModule přijímá zprávy přes vstupní frontu a předává je spolu s její výstupní frontou. Manifest nasazení deklaroval trasy, které předaly zprávy do SampleModule z SimulatedTemperatureSensor, a pak přesměrují zprávy od SampleModule do IoT Hub. nástroje Azure IoT tools for Visual Studio Code umožňují zobrazovat zprávy při jejich doručování IoT Hub z jednotlivých zařízení.
v průzkumníku Visual Studio Code klikněte pravým tlačítkem na zařízení IoT Edge, které chcete monitorovat, a pak vyberte spustit sledování integrovaného koncového bodu události.
podívejte se na okno výstup v Visual Studio Code a zobrazte zprávy přicházející ve službě IoT hub.

Zobrazit změny na zařízení
Pokud chcete zjistit, co se děje na samotném zařízení, použijte příkazy v této části k zkontrolování modulu runtime IoT Edge a modulů spuštěných ve vašem zařízení.
Příkazy v této části jsou pro vaše zařízení IoT Edge, ne pro váš vývojový počítač. Pokud pro zařízení IoT Edge používáte virtuální počítač, připojte se k němu hned. v Azure přejděte na stránku přehled virtuálního počítače a vyberte Připojení pro přístup k připojení zabezpečeného prostředí.
Zobrazte všechny moduly nasazené do zařízení a zkontrolujte jejich stav:
iotedge listMěli byste vidět čtyři moduly: dva moduly IoT Edge runtime, SimulatedTemperatureSensor a SampleModule. Všechny čtyři by měly být uvedeny jako spuštěné.
Zkontrolujte protokoly konkrétního modulu:
iotedge logs <module name>V IoT Edgech modulech se rozlišují malá a velká písmena.
V protokolech SimulatedTemperatureSensor a SampleModule by se měly zobrazovat zprávy, které zpracovávají. Modul edgeAgent je zodpovědný za spouštění jiných modulů, takže jeho protokoly budou mít informace o implementaci manifestu nasazení. Pokud některý z modulů není v seznamu nebo není spuštěný, budou pravděpodobně chyby v protokolech edgeAgent. Modul edgeHub zodpovídá za komunikaci mezi moduly a IoT Hub. Pokud jsou moduly v provozu, ale zprávy nepřicházejí do služby IoT Hub, budou pravděpodobně chyby v protokolech edgeHub.
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ů:
Přihlaste se k portálu Azure Portal a potom vyberte Skupiny prostředků.
Vyberte název skupiny prostředků, která obsahuje vaše testovací prostředky služby IoT Edge.
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 nastavili Visual Studio Code vývojovém počítači a nasadili jste z něj první IoT Edge modul. 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: