Sdílet prostřednictvím


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

Platí pro:IoT Edge 1.5 - zaškrtnuto IoT Edge 1.5

Important

Podporovanou verzí je IoT Edge 1.5 LTS. IoT Edge 1.4 LTS je konec životnosti od 12. listopadu 2024. Pokud používáte starší verzi, podívejte se na článek Aktualizace IoT Edge.

Vyzkoušejte 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 použijte virtuální počítač Azure pro vaše zařízení IoT Edge. 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.
  • Zaregistrujte zařízení IoT Edge do centra IoT.
  • Nainstalujte a spusťte modul runtime IoT Edge na virtuálním zařízení.
  • Vzdáleně nasaďte modul do 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. V tomto rychlém startu se používá simulovaný modul senzoru, 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 před zahájením bezplatný účet .

Prerequisites

Nastavte prostředí pro Azure CLI.

Skupina prostředků pro správu všech prostředků, které používáte v tomto rychlém startu. V tomto rychlém startu a následujících kurzech se používá ukázkový název skupiny prostředků IoTEdgeResources.

az group create --name IoTEdgeResources --location westus2

Vytvoření IoT Hubu

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

Diagram znázorňující, jak vytvořit IoT Hub v cloudu

Pro účely tohoto rychlého startu funguje úroveň Free služby IoT Hub. 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 služby IoT Hub. 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 se zobrazí chyba, protože ve vašem předplatném už existuje jedna bezplatná služba IoT Hub, 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.

Registrace zařízení IoT Edge

Zaregistrujte zařízení IoT Edge v centru IoT, které jste právě vytvořili.

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 nachází v cloudu a pomocí jedinečného připojovacího řetězce zařízení přidružíte fyzické zařízení k identitě zařízení.

Vzhledem k tomu, že se zařízení IoT Edge chovají a spravují jinak než typická zařízení IoT, deklarujte tuto identitu jako zařízení IoT Edge pomocí příznaku --edge-enabled .

  1. Zadáním následujícího příkazu v Azure Cloud Shellu vytvořte ve svém centru 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 službě Cloud Shell běží nejnovější verze rozšíření azure-iot .

  2. Zkontrolujte připojovací řetězec vašeho zařízení, který propojuje fyzické zařízení s jeho identitou ve službě IoT Hub. Zahrnuje název ioT Hubu, název vašeho zařízení a sdílený klíč, který ověřuje připojení mezi nimi. Tento připojovací řetězec použijete znovu v další části k nastavení zařízení IoT Edge.

    az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <hub-name>
    

    Například připojovací řetězec by měl 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 a má tři komponenty. 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 usnadňuje nasazení a monitorování modulů na zařízení IoT Edge, včetně centra IoT Edge. Centrum IoT Edge spravuje komunikaci mezi moduly na zařízení IoT Edge a mezi zařízením a IoT Hubem.

Během konfigurace modulu runtime zadejte připojovací řetězec zařízení. Tento řetězec se načte 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:

Parameter Description
resource-group Skupina prostředků, ve které jsou prostředky vytvořeny. 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žívá 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í 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í obsahuje výstup ve formátu JSON v rozhraní příkazového řádku 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 vrátí stav OK , pokud je ioT Edge spuštěný nebo poskytuje chyby služby.

    sudo iotedge system status
    

    Tip

    Ke spouštění iotedge příkazů potřebujete zvýšená oprávnění. Jakmile se z počítače odhlásíte a poprvé se přihlásíte po instalaci modulu runtime IoT Edge, vaše oprávnění se automaticky aktualizují. 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 se služba právě spustila poprvé, měli byste vidět 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á ke spouštění modulů nasazených v cloudu.

Nasazení modulu

Spravujte zařízení Azure IoT Edge z cloudu a nasaďte modul, který odesílá telemetrická data zařízení do IoT Hubu.

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

Klíčovou 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 služby Microsoft Artifact Registry.

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.

Pomocí těchto kroků nasaďte svůj první modul.

  1. Přihlaste se k webu Azure Portal a přejděte ke službě IoT Hub.

  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.

    Vyberte moduly, které chcete spustit na svém zařízení. Můžete si vybrat z modulů, které jste vytvořili sami nebo image v registru kontejneru. V tomto rychlém startu nasadíte modul z registru kontejneru Microsoftu.

  5. V části Moduly IoT Edge vyberte Přidat a pak zvolte Modul IoT Edge.

  6. Aktualizujte následující nastavení modulu:

    Setting Value
    Název modulu IoT SimulatedTemperatureSensor
    Identifikátor URI obrazu mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latest
    Zásada restartování always
    Požadovaný stav running
  7. Vyberte Další: Trasy pro pokračování v konfiguraci tras.

  8. Přidejte trasu, která odesílá všechny zprávy z modulu simulované teploty do IoT Hubu.

    Setting Value
    Name SimulatedTemperatureSensorToIoTHub
    Value FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
  9. Vyberte Další: Zkontrolovat a vytvořit.

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

    Note

    Když odešlete nové nasazení do zařízení IoT Edge, nic se do vašeho zařízení nesdílí. Místo toho se zařízení pravidelně dotazuje na IoT Hub na všechny nové pokyny. Pokud zařízení najde aktualizovaný manifest nasazení, použije informace o novém nasazení k načtení imagí modulů z cloudu a 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 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 další informace v tématu Řešení potíží se zařízeními IoT Edge na webu Azure Portal.

Zobrazení vygenerovaných dat

V tomto rychlém startu vytvoříte nové zařízení IoT Edge a nainstalujete na něj modul runtime IoT Edge. Pak pomocí webu Azure Portal nasadíte modul IoT Edge, který se spustí na zařízení bez provedení změn 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 serverovně, ve výrobní podlahě nebo na větrné turbíně. Zpráva obsahuje okolní teplotu a vlhkost, teplotu stroje a tlak a časové razítko. Kurzy IoT Edge používají data vytvořená v tomto modulu jako testovací data pro analýzu.

Otevřete příkazový řádek na zařízení IoT Edge nebo použijte připojení SSH z Azure CLI. Ověřte, ž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í

Zobrazení zpráv odeslaných 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čistěte zdroje

Pokud chcete pokračovat v kurzech IoT Edge, použijte zařízení, které jste zaregistrovali a nastavili v tomto rychlém startu. Jinak odstraňte prostředky Azure, které jste vytvořili, abyste se vyhnuli poplatkům.

Pokud jste vytvořili virtuální počítač a Centrum IoT v nové skupině prostředků, můžete tuto skupinu a všechny přidružené prostředky odstranit. Pečlivě zkontrolujte obsah skupiny prostředků, abyste měli jistotu, že není nic, co chcete zachovat. Pokud nechcete odstranit celou skupinu, můžete místo toho odstranit jednotlivé prostředky.

Important

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

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

az group delete --name IoTEdgeResources --yes

Zkontrolujte, že je skupina prostředků odstraněna, a to zobrazením seznamu 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ď použijete testovací zařízení, které generuje nezpracovaná data o jeho prostředí.

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