Rychlý start: Nasazení prvního modulu IoT Edge do virtuálního zařízení s Linuxem

Platí pro:IoT Edge 1.4 zaškrtnutí IoT Edge 1.4

Otestujte Azure IoT Edge v tomto rychlém startu nasazením kontejnerizovaného kódu do virtuálního zařízení s Linuxem IoT Edge. IoT Edge umožňuje vzdáleně spravovat kód na vašich zařízeních, abyste mohli odesílat více úloh na hraniční zařízení. Pro účely tohoto rychlého startu doporučujeme pro IoT Edge zařízení použít virtuální počítač Azure, který vám umožní rychle vytvořit testovací počítač a po dokončení ho odstranit.

V tomto rychlém startu se naučíte:

  • Vytvořit IoT Hub.
  • Zaregistrovat zařízení IoT Edge do centra IoT Hub.
  • Nainstalujte a spusťte modul runtime IoT Edge na virtuálním zařízení.
  • Vzdáleně nasadit modul na zařízení IoT Edge.

Diagram architektury rychlého startu pro zařízení a cloud

Tento rychlý start vás provede vytvořením virtuálního počítače s Linuxem, který je nakonfigurovaný jako IoT Edge zařízení. Pak do zařízení nasadíte modul z Azure Portal. Modul použitý v tomto rychlém startu je simulovaný senzor, který generuje údaje o teplotě, vlhkosti a tlaku. Další kurzy azure IoT Edge vycházejí z práce, kterou tady děláte, nasazením dalších modulů, které analyzují simulovaná data pro obchodní přehledy.

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

Požadavky

Připravte své prostředí na Azure CLI.

Cloudové prostředky:

  • Skupina prostředků pro správu všech prostředků, které v tomto rychlém startu použijete. V rámci tohoto rychlého startu a následujících kurzů používáme ukázkový název skupiny prostředků IoTEdgeResources .

    az group create --name IoTEdgeResources --location westus2
    

Vytvoření centra IoT

Začněte rychlý start vytvořením centra IoT pomocí Azure CLI.

Diagram vytvoření centra IoT v cloudu

Pro tento rychlý start můžete použít bezplatnou úroveň IoT Hubu. Pokud jste v minulosti používali IoT Hub a centrum už máte vytvořené, můžete použít toto centrum IoT.

Následující kód vytvoří bezplatné centrum F1 ve skupině prostředků IoTEdgeResources. Nahraďte {hub_name} jedinečným názvem vašeho centra IoT. Vytvoření IoT Hub může trvat několik minut.

az iot hub create --resource-group IoTEdgeResources --name {hub_name} --sku F1 --partition-count 2

Pokud dojde k chybě kvůli tomu, že vaše předplatné již jedno bezplatné centrum obsahuje, změňte skladovou položku na S1. V každém předplatném může být jenom jeden bezplatný IoT Hub. Pokud se zobrazí chyba, že IoT Hub název není k dispozici, znamená to, že někdo jiný už má centrum s tímto názvem. Zkuste nový název.

Zaregistrovat zařízení IoT Edge

Zaregistrujte zařízení IoT Edge do nově vytvořeného centra IoT.

Diagram registrace zařízení s IoT Hub identitou

Vytvořte identitu zařízení pro IoT Edge zařízení, aby mohlo komunikovat s vaším centrem IoT. Identita zařízení se uchovává v cloudu a k přidružení fyzického zařízení k identitě zařízení se používá jedinečný připojovací řetězec zařízení.

Vzhledem k tomu, že IoT Edge zařízení se chovají a dají se spravovat jinak než běžná zařízení IoT, deklarujte tuto identitu pro IoT Edge zařízení s příznakem --edge-enabled .

  1. V azure Cloud Shell zadejte následující příkaz, který v centru vytvoří zařízení myEdgeDevice.

    az iot hub device-identity create --device-id myEdgeDevice --edge-enabled --hub-name {hub_name}
    

    Pokud se zobrazí chyba týkající se klíčů zásad iothubowner, ujistěte se, že ve vašem Cloud Shell běží nejnovější verze rozšíření azure-iot.

  2. Zobrazte připojovací řetězec pro vaše zařízení, který propojuje vaše fyzické zařízení s jeho identitou v IoT Hub. Obsahuje název vašeho centra IoT, název vašeho zařízení a pak sdílený klíč, který ověřuje připojení mezi těmito dvěma zařízeními. Na tento připojovací řetězec budeme znovu odkazovat v další části při nastavování IoT Edge zařízení.

    az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name}
    

    Snímek obrazovky s připojovacím řetězcem z výstupu rozhraní příkazového řádku

Konfigurace IoT Edge zařízení

Vytvořte virtuální počítač s modulem runtime Azure IoT Edge.

Diagram postupu spuštění modulu runtime na zařízení

Modul runtime IoT Edge se nasadí na všechna zařízení IoT Edge. Skládá se ze tří částí. Proces démon zabezpečení IoT Edge se spustí při každém spuštění IoT Edge zařízení a spuštění zařízení spuštěním agenta IoT Edge. Agent IoT Edge usnadňuje nasazení a monitorování modulů na IoT Edge zařízení, včetně IoT Edge Hubu. Centrum IoT Edge spravuje komunikaci mezi moduly na IoT Edge zařízení a mezi zařízením a IoT Hub.

Během konfigurace modulu runtime zadáte připojovací řetězec zařízení. Jedná se o řetězec, který jste načetli z Azure CLI. Tento řetězec přidruží vaše fyzické zařízení k identitě zařízení IoT Edge v Azure.

Nasazení IoT Edge zařízení

Tato část používá šablonu Azure Resource Manager k vytvoření nového virtuálního počítače a instalaci modulu runtime IoT Edge na něj. Pokud chcete místo toho použít vlastní zařízení s Linuxem, můžete postupovat podle pokynů v tématu Ruční zřízení jednoho zařízení s Linuxem IoT Edge a pak se vrátit k tomuto rychlému startu.

Pomocí následujícího příkazu rozhraní příkazového řádku vytvořte zařízení IoT Edge na základě předem vytvořené šablony iotedge-vm-deploy.

  • Pro uživatele Bash nebo Cloud Shell zkopírujte následující příkaz do textového editoru, nahraďte zástupný text informacemi a pak zkopírujte do okna Bash nebo Cloud Shell:

    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/1.4/edgeDeploy.json" \
    --parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' \
    --parameters adminUsername='azureUser' \
    --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) \
    --parameters authenticationType='password' \
    --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"
    
  • Pro uživatele PowerShellu zkopírujte do okna PowerShellu následující příkaz a nahraďte zástupný text vlastními informacemi:

    az deployment group create `
    --resource-group IoTEdgeResources `
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/1.4/edgeDeploy.json" `
    --parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' `
    --parameters adminUsername='azureUser' `
    --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) `
    --parameters authenticationType='password' `
    --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"
    

Tato šablona přebírá následující parametry:

Parametr Popis
skupina prostředků Skupina prostředků, ve které se prostředky vytvoří. Použijte výchozí zdroje IoTEdgeResources , které jsme používali v tomto článku, nebo zadejte název existující skupiny prostředků ve vašem předplatném.
template-uri Ukazatel na šablonu Resource Manager, kterou používáme.
dnsLabelPrefix Řetězec, který se použije k vytvoření názvu hostitele virtuálního počítače. Zástupný text nahraďte názvem virtuálního počítače.
adminUsername Uživatelské jméno pro účet správce virtuálního počítače. Použijte příklad azureUser nebo zadejte nové uživatelské jméno.
deviceConnectionString Připojovací řetězec z identity zařízení v IoT Hub, který slouží ke konfiguraci modulu runtime IoT Edge na virtuálním počítači. Příkaz rozhraní příkazového řádku v rámci tohoto parametru za vás vezme připojovací řetězec. Zástupný text nahraďte názvem vašeho centra IoT.
authenticationType Metoda ověřování pro účet správce. V tomto rychlém startu se používá ověřování heslem , ale tento parametr můžete také nastavit na sshPublicKey.
adminPasswordOrKey Heslo nebo hodnota klíče SSH pro účet správce. Zástupný text nahraďte zabezpečeným heslem. Heslo musí mít délku nejméně 12 znaků a musí obsahovat tři ze čtyř následujících znaků: malá písmena, velká písmena, číslice a speciální znaky.

Po dokončení nasazení byste měli v rozhraní příkazového řádku obdržet výstup ve formátu JSON, který obsahuje informace SSH pro připojení k virtuálnímu počítači. Zkopírujte hodnotu veřejné položky SSH oddílu outputs :

Snímek obrazovky ukazující, jak z výstupu načíst veřejnou hodnotu SSH

Zobrazení stavu modulu runtime IoT Edge

Zbytek příkazů v tomto rychlém startu se provádí na samotném IoT Edge zařízení, abyste viděli, co se na zařízení děje. Pokud používáte virtuální počítač, připojte se k němu teď pomocí uživatelského jména správce, které jste nastavili, a názvu DNS, který byl výstupem příkazu nasazení. Název DNS najdete také na stránce přehledu virtuálního počítače v Azure Portal. Pokud se chcete připojit k virtuálnímu počítači, použijte následující příkaz. Nahraďte {admin username} a {DNS name} vlastními hodnotami.

ssh {admin username}@{DNS name}

Po připojení k virtuálnímu počítači ověřte, že se modul runtime úspěšně nainstaloval a nakonfiguroval na IoT Edge zařízení.

  1. Zkontrolujte, jestli je spuštěná IoT Edge. Následující příkaz by měl vrátit stav OK, pokud je spuštěná IoT Edge, nebo by měl poskytnout jakékoli chyby služby.

    sudo iotedge system status
    

    Tip

    Ke spouštění příkazů iotedge potřebujete zvýšená oprávnění. Vaše oprávnění se automaticky aktualizují, jakmile se po instalaci modulu runtime IoT Edge odhlásíte z počítače a poprvé se k němu opět přihlásíte. Do té doby používejte sudo před příkazy.

  2. Pokud potřebujete řešit potíže se službou, načtěte protokoly služby.

    sudo iotedge system logs
    
  3. Zobrazte všechny moduly spuštěné na vašem zařízení IoT Edge. Vzhledem k tomu, že jde o první spuštění služby, měl by se zobrazit pouze spuštěný modul edgeAgent. Modul edgeAgent běží ve výchozím nastavení a pomáhá nainstalovat a spustit všechny další moduly, které nasadíte do zařízení.

    sudo iotedge list
    

Teď je zařízení IoT Edge nakonfigurované. Je připravené na spouštění modulů nasazených v cloudu.

Nasazení modulu

Pokud budete zařízení Azure IoT Edge spravovat v cloudu, můžete nasadit modul, který bude odesílat telemetrická data do služby IoT Hub.

Diagram nasazení modulu z cloudu do zařízení

Jednou z klíčových funkcí Azure IoT Edge je nasazení kódu do IoT Edge zařízení z cloudu. IoT Edge moduly jsou spustitelné balíčky implementované jako kontejnery. V této části nasadíte předdefinovaný modul z oddílu IoT Edge Moduly Azure Marketplace přímo z Azure IoT Hub.

Modul, který nasadíte v této části, simuluje senzor a odesílá vygenerovaná data. Tento modul je užitečným kódem, když začínáte s IoT Edge, protože simulovaná data můžete použít pro vývoj a testování. Pokud chcete přesně zjistit, co tento modul dělá, můžete zobrazit zdrojový kód simulovaného snímače teploty.

Pomocí těchto kroků spusťte průvodce nastavením modulů a nasaďte svůj první modul z Azure Marketplace.

  1. Přihlaste se k Azure Portal a přejděte do centra IoT.

  2. V nabídce na levé straně v části Správa zařízení vyberte Zařízení.

  3. V seznamu vyberte ID cílového IoT Edge zařízení.

    Když vytvoříte nové IoT Edge zařízení, zobrazí se v Azure Portal stavový kód417 -- The device's deployment configuration is not set. Tento stav je normální a znamená, že zařízení je připravené přijmout nasazení modulu.

  4. Na horním panelu vyberte Nastavit moduly.

    Snímek obrazovky znázorňující umístění karty Nastavit moduly

Moduly

Prvním krokem průvodce je zvolit moduly, které chcete na svém zařízení spustit.

V části IoT Edge Modules (Moduly) otevřete rozevírací nabídku Add (Přidat) a pak vyberte Marketplace Module (Modul Marketplace).

Snímek obrazovky s rozevírací nabídkou Přidat

V IoT Edge Module Marketplace vyhledejte a vyberte Simulated Temperature Sensor modul. Modul se přidá do oddílu IoT Edge Moduly s požadovaným stavem spuštění.

Vyberte Další: Trasy a pokračujte dalším krokem průvodce.

Snímek obrazovky, který ukazuje pokračování k dalšímu kroku po přidání modulu

Trasy

Trasa s názvem SimulatedTemperatureSensorToIoTHub se vytvořila automaticky při přidání modulu z Azure Marketplace. Tato trasa odesílá všechny zprávy ze simulovaného teplotního modulu do IoT Hub.

Snímek obrazovky s novou trasou snímače teploty a umístěním tlačítka Další: Zkontrolovat a vytvořit

Vyberte Další: Zkontrolovat a vytvořit.

Zkontrolovat a vytvořit

Zkontrolujte soubor JSON a pak vyberte Vytvořit. Soubor JSON definuje všechny moduly, které nasadíte do IoT Edge zařízení.

Poznámka

Když do zařízení IoT Edge odešlete nové nasazení, do zařízení se nic nevloží. Zařízení místo toho pravidelně odesílá do IoT Hubu dotazy týkající se nových pokynů. Pokud zařízení najde aktualizovaný manifest nasazení, použije informace o novém nasazení k vyžádání imagí modulu z cloudu a potom začne spouštět moduly místně. Tento proces může trvat několik minut.

Po vytvoření podrobností o nasazení modulu se průvodce vrátí na stránku s podrobnostmi o zařízení. Stav nasazení můžete zobrazit na kartě Moduly .

Měli byste vidět tři moduly: $edgeAgent, $edgeHub a SimulatedTemperatureSensor. Pokud má jeden nebo více modulů v části Zadané v nasazeníano, ale ne v části Hlášeno zařízením, vaše IoT Edge zařízení je stále spouští. Počkejte několik minut a pak stránku aktualizujte.

Snímek obrazovky, který zobrazuje SimulatedTemperatureSensor v seznamu nasazených modulů

Zobrazit vygenerovaná data

V tomto rychlém startu jste vytvořili nové zařízení IoT Edge a nainstalovali jste na něj modul runtime IoT Edge. Potom jste použili Azure Portal k nasazení modulu IoT Edge, který se spustí na zařízení, aniž byste museli provádět změny samotného zařízení.

V tomto případě modul, který jste nasdílili, vygeneruje ukázková data prostředí, která můžete použít k pozdějšímu testování. Simulovaný senzor monitoruje počítač i prostředí kolem počítače. Tento senzor může být například v serverové místnosti, v továrně nebo na větrné turbíně. Zpráva obsahuje okolní teplotu a vlhkost, teplotu a tlak počítače a časové razítko. Kurzy IoT Edge používají data vytvořená tímto modulem jako testovací data pro analýzu.

V zařízení IoT Edge znovu otevřete příkazový řádek nebo použijte připojení SSH z Azure CLI. Zkontrolujte, že modul, který jste nasadili z cloudu, běží na zařízení IoT Edge:

sudo iotedge list

Snímek obrazovky se třemi moduly na vašem zařízení

Zobrazení zpráv odesílaných z modulu senzoru teploty:

sudo iotedge logs SimulatedTemperatureSensor -f

Tip

IoT Edge příkazy při odkazech na názvy modulů rozlišují malá a malá písmena.

Snímek obrazovky znázorňující data z modulu v konzole výstupu

Zprávy, které přicházejí do centra IoT, můžete také sledovat pomocí rozšíření Azure IoT Hub pro Visual Studio Code.

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

Pokud chcete pokračovat dalšími kurzy o IoT Edge, použijte zařízení, které jste zaregistrovali a nastavili v tomto rychlém startu. V opačném případě můžete prostředky Azure, které jste vytvořili, odstranit, abyste se vyhnuli poplatkům.

Pokud jste virtuální počítač a centrum IoT vytvořili v nové skupině prostředků, můžete odstranit tuto skupinu a všechny související prostředky. Pečlivě zkontrolujte obsah skupiny prostředků a ujistěte se, že nic nechcete zachovat. Pokud nechcete odstranit celou skupinu, můžete místo toho odstranit jednotlivé prostředky.

Důležité

Odstranění skupiny prostředků je nevratné.

Odeberte skupinu IoTEdgeResources. Odstranění skupiny prostředků může trvat několik minut.

az group delete --name IoTEdgeResources --yes

Odebrání skupiny prostředků můžete ověřit zobrazením seznamu skupin prostředků.

az group list

Další kroky

V tomto rychlém startu jste vytvořili IoT Edge zařízení a použili jste cloudové rozhraní Azure IoT Edge k nasazení kódu do zařízení. Teď máte testovací zařízení, které generuje nezpracovaná data o prostředí.

V dalším kurzu se dozvíte, jak monitorovat aktivitu a stav zařízení z Azure Portal.