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

Platí pro:Značka zaškrtnutí IoT Edge 1.4 IoT Edge 1.4

Důležité

IoT Edge 1.4 je podporovaná verze. Pokud používáte starší verzi, podívejte se na článek Aktualizace IoT Edge.

Otestujte Azure IoT Edge v tomto rychlém startu nasazením kontejnerizovaného kódu do virtuálního zařízení IoT Edge s Linuxem. IoT Edge umožňuje vzdáleně spravovat kód na vašich zařízeních, abyste mohli posílat více úloh na hraniční zařízení. Pro účely tohoto rychlého startu doporučujeme použít virtuální počítač Azure pro zařízení IoT Edge, který umožňuje 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 IoT Hubu.
  • 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 zařízení IoT Edge. Pak do zařízení nasadíte modul z webu Azure Portal. Modul použitý v tomto rychlém startu je simulovaný senzor, který generuje data 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 prostředí pro Azure CLI.

Cloudové prostředky:

  • Skupina prostředků pro správu všech prostředků, které v tomto rychlém startu použijete. V tomto rychlém startu a následujících kurzech používáme ukázkové názvy skupin 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 službu IoT Hub používali v minulosti a už máte vytvořené centrum, můžete ho použít.

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 Hubu 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 název ioT Hubu není dostupný, znamená to, že s tímto názvem už má centrum někdo jiný. Zkuste nový název.

Zaregistrovat zařízení IoT Edge

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

Diagram postupu registrace zařízení s identitou ioT Hubu

Vytvořte identitu zařízení pro zařízení IoT Edge, aby mohl komunikovat s 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 se zařízení IoT Edge chovají a dají se spravovat jinak než typická zařízení IoT, deklarujte tuto identitu jako zařízení IoT Edge s příznakem --edge-enabled .

  1. V Azure Cloud Shellu zadejte následující příkaz, který ve vašem centru vytvoří zařízení s názvem 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 službě Cloud Shell běží nejnovější verze rozšíření azure-iot .

  2. Prohlédněte si připojovací řetězec pro vaše zařízení, které propojuje fyzické zařízení s jeho identitou ve službě IoT Hub. Obsahuje název vašeho centra IoT, název vašeho zařízení a sdílený klíč, který ověřuje připojení mezi těmito dvěma zařízeními. Na tuto připojovací řetězec se podíváme znovu v další části při nastavování zařízení IoT Edge.

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

    Například vaše připojovací řetězec by měla vypadat podobně jako HostName=contoso-hub.azure-devices.net;DeviceId=myEdgeDevice;SharedAccessKey=<DEVICE_SHARED_ACCESS_KEY>.

Konfigurace zařízení IoT Edge

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í a spuštění zařízení IoT Edge spuštěním agenta IoT Edge. Agent IoT Edge umožňuje nasadit a monitorovat moduly na zařízení IoT Edge, včetně centra služby IoT Edge. Druhým je IoT Edge Hub, který na zařízení IoT Edge řídí komunikaci mezi moduly a také mezi zařízením a IoT Hubem.

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

Nasazení zařízení IoT Edge

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

Pomocí tlačítka Nasadit do Azure nebo příkazů rozhraní příkazového řádku vytvořte zařízení IoT Edge na základě předem připravené šablony iotedge-vm-deploy.

  • Nasaďte ji pomocí šablony Azure Resource Manageru pro IoT Edge.

    Nasazení do Azure

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

    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/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/main/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 IoTEdgeResource , 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 Manageru, 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.
device Připojení ionString Připojovací řetězec z identity zařízení ve službě IoT Hub, která se používá 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 centra IoT.
Authenticationtype Metoda ověřování pro účet správce. V tomto rychlém startu se používá ověřování pomocí hesla , 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 minimálně 12 znaků a musí mít tři z následujících čtyř znaků: malá písmena, velká písmena, číslice a speciální znaky.

Po dokončení nasazení byste měli obdržet výstup ve formátu JSON v rozhraní příkazového řádku, který obsahuje informace SSH pro připojení k virtuálnímu počítači. Zkopírujte hodnotu veřejné položky SSH oddílu s výstupy . Například příkaz SSH by měl vypadat nějak takto ssh azureUser@edge-vm.westus2.cloudapp.azure.com: .

Zobrazení stavu modulu runtime IoT Edge

Zbývající příkazy v tomto rychlém startu probíhají na samotném zařízení IoT Edge, abyste viděli, co se na zařízení děje. Pokud používáte virtuální počítač, připojte se k ho 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 na webu 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} nahraďte 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 zařízení IoT Edge.

  1. Zkontrolujte, jestli je IoT Edge spuštěný. Následující příkaz by měl vrátit stav OK , pokud je ioT Edge spuštěný, nebo 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žijte 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.

Nasadit modul

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 zařízení IoT Edge z cloudu. Moduly IoT Edge jsou spustitelné balíčky implementované jako kontejnery. V této části nasadíte předem vytvořený modul z části Moduly IoT Edge na Azure Marketplace přímo ze služby Azure IoT Hub.

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

Podle 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 webu Azure Portal a přejděte do centra IoT.

  2. V nabídce vlevo v části Správa zařízení vyberte Zařízení.

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

    Když vytvoříte nové zařízení IoT Edge, zobrazí se na webu Azure Portal stavový kód 417 -- 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.

    Zvolte moduly, které chcete na svém zařízení spustit. Můžete si vybrat z modulů, které jste už vytvořili, modulů z Azure Marketplace nebo modulů, které jste sami vytvořili. V tomto rychlém startu nasadíte modul z Azure Marketplace.

  5. V části Moduly IoT Edge otevřete rozevírací nabídku Přidat a pak vyberte Modul Marketplace.

  6. Na Marketplace modulů IoT Edge vyhledejte a vyberte Simulated Temperature Sensor modul. Modul se přidá do části Moduly IoT Edge s požadovaným stavem spuštění .

  7. Vyberte Další: Trasy pro pokračování v konfiguraci tras.

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

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

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

    Poznámka:

    Když do zařízení IoT Edge odešlete nové nasazení, do vašeho 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 vás průvodce vrátí na stránku s podrobnostmi o zařízení. Zobrazení stavu nasazení na kartě Moduly

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

Snímek obrazovky znázorňující SimulatedTemperatureSensor v seznamu nasazených modulů

Pokud máte problémy s nasazováním modulů, přečtěte si téma Řešení potíží se zařízeními IoT Edge na webu Azure Portal.

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. Pak jste pomocí webu Azure Portal nasadíte modul IoT Edge ke spuštění na zařízení, aniž byste museli provádět změny samotného zařízení.

V tomto případě modul, který jste odeslali, generuje 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á v tomto modulu 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 znázorňující tři moduly na vašem zařízení

Zobrazte zprávy odesílané z modulu senzoru teploty:

sudo iotedge logs SimulatedTemperatureSensor -f

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

Tip

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

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. Jinak můžete odstranit prostředky Azure, které jste vytvořili, 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 není nic, co chcete 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

Pokud chcete ověřit, že je skupina prostředků odebraná, zobrazí se seznam skupin prostředků.

az group list

Další kroky

V tomto rychlém startu jste vytvořili zařízení IoT Edge 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 webu Azure Portal.