Rychlý start: Odeslání telemetrie ze zařízení do centra IoT a jeho monitorování pomocí Azure CLI

IoT Hub je služba Azure, která umožňuje ingestovat velké objemy telemetrických dat ze zařízení IoT do cloudu pro účely uložení nebo zpracování. V tomto rychlém startu bez kódu použijete Azure CLI k vytvoření centra IoT a simulovaného zařízení. Do centra budete odesílat telemetrická data zařízení a odesílat zprávy, metody volání a aktualizovat vlastnosti v zařízení. K vizualizaci metrik zařízení použijete také Azure Portal. Tento článek ukazuje základní pracovní postup pro vývojáře, kteří používají rozhraní příkazového řádku k interakci s aplikací IoT Hubu.

Požadavky

  • Pokud nemáte předplatné Azure, vytvořte si ho zdarma , než začnete.
  • Rozhraní příkazového řádku Azure. Všechny příkazy v tomto rychlém startu můžete spustit pomocí azure Cloud Shellu, interaktivního prostředí cli, které běží v prohlížeči nebo v aplikaci, jako je Terminál Windows. Pokud používáte Cloud Shell, nemusíte nic instalovat. Pokud raději používáte rozhraní příkazového řádku místně, tento rychlý start vyžaduje Azure CLI verze 2.36 nebo novější. Verzi zjistíte spuštěním příkazu az --version. Pokud chcete nainstalovat nebo upgradovat, přečtěte si téma Instalace Azure CLI.

Přihlaste se k portálu Azure Portal.

Přihlaste se k portálu Azure.

Bez ohledu na to, jestli spouštíte rozhraní příkazového řádku místně nebo v Cloud Shellu, nechte portál otevřený v prohlížeči. Použijete ho později v tomto rychlém startu.

Spuštění Cloud Shellu

V této části spustíte instanci Azure Cloud Shellu. Pokud používáte rozhraní příkazového řádku místně, přejděte do části Příprava dvou relací rozhraní příkazového řádku.

Spuštění Cloud Shellu:

  1. V pravém horním řádku nabídek na webu Azure Portal vyberte tlačítko Cloud Shell.

    Tlačítko Cloud Shell na webu Azure Portal

    Poznámka:

    Pokud jste Cloud Shell použili poprvé, zobrazí se výzva k vytvoření úložiště, které je potřeba k použití Cloud Shellu. Vyberte předplatné, abyste vytvořili účet úložiště, a sdílenou složku služby Microsoft Azure Files.

  2. V rozevíracím seznamu Vybrat prostředí vyberte upřednostňované prostředí rozhraní příkazového řádku. V tomto rychlém startu se používá prostředí Bash . Můžete také použít prostředí PowerShellu .

    Poznámka:

    Některé příkazy vyžadují jinou syntaxi nebo formátování v prostředích Bash a PowerShellu . Další informace najdete v tématu Tipy pro úspěšné použití Azure CLI.

    Výběr prostředí rozhraní příkazového řádku

Příprava dvou relací rozhraní příkazového řádku

V dalším kroku připravíte dvě relace Azure CLI. Pokud používáte Cloud Shell, spustíte tyto relace na samostatných kartách Cloud Shellu. Pokud používáte místního klienta rozhraní příkazového řádku, spustíte samostatné instance rozhraní příkazového řádku. Pro následující úlohy použijte samostatné relace rozhraní příkazového řádku:

  • První relace simuluje zařízení IoT, které komunikuje s centrem IoT.
  • Druhá relace buď monitoruje zařízení v první relaci, nebo odesílá zprávy, příkazy a aktualizace vlastností.

Pokud chcete spustit příkaz, vyberte kopírovat blok kódu v tomto rychlém startu, vložte ho do relace prostředí a spusťte ho.

Azure CLI vyžaduje, abyste se přihlásili ke svému účtu Azure. Veškerá komunikace mezi relací prostředí Azure CLI a centrem IoT se ověřuje a šifruje. V důsledku toho tento rychlý start nepotřebuje další ověřování, které byste použili se skutečným zařízením, jako je připojovací řetězec.

  • V první relaci rozhraní příkazového řádku spusťte příkaz az extension add . Příkaz přidá do prostředí CLI rozšíření Microsoft Azure IoT pro Azure CLI. Rozšíření IOT přidá příkazy specifické pro IoT Hub, IoT Edge a IoT Device Provisioning Service (DPS) do Azure CLI.

    az extension add --name azure-iot
    

    Po instalaci rozšíření Azure IOT ho nemusíte znovu instalovat v žádné relaci Cloud Shellu.

    Poznámka:

    Tento článek používá nejnovější verzi rozšíření Azure IoT, která se nazývá azure-iot. Starší verze se nazývá azure-cli-iot-ext. Najednou byste měli mít nainstalovanou jenom jednu verzi. Pomocí příkazu az extension list můžete ověřit aktuálně nainstalovaná rozšíření.

    Slouží az extension remove --name azure-cli-iot-ext k odebrání starší verze rozšíření.

    Slouží az extension add --name azure-iot k přidání nové verze rozšíření.

    Pokud chcete zjistit, jaká rozšíření jste nainstalovali, použijte az extension list.

  • Otevřete druhou relaci rozhraní příkazového řádku. Pokud používáte Cloud Shell v prohlížeči, použijte tlačítko Otevřít novou relaci . Pokud používáte rozhraní příkazového řádku místně, otevřete druhou instanci rozhraní příkazového řádku.

    Otevření nové relace Cloud Shellu

Vytvoření centra IoT

V této části pomocí Azure CLI vytvoříte skupinu prostředků a centrum IoT. Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure. Centrum IoT funguje jako centrální centrum zpráv pro obousměrnou komunikaci mezi vaší aplikací IoT a zařízeními.

  1. V první relaci rozhraní příkazového řádku spusťte příkaz az group create a vytvořte skupinu prostředků. Následující příkaz vytvoří skupinu prostředků MyResourceGroup v umístění eastus.

    az group create --name MyResourceGroup --location eastus
    
  2. V první relaci rozhraní příkazového řádku spusťte příkaz IoT Hub create modulu Az PowerShell a vytvořte centrum IoT. Vytvoření centra IoT trvá několik minut.

    YourIotHubName. Nahraďte tento zástupný symbol a okolní složené závorky v následujícím příkazu pomocí názvu, který jste zvolili pro centrum IoT. Název centra IoT musí být v Azure globálně jedinečný. Ve zbývající části tohoto rychlého startu použijte název centra IoT, ať se zobrazí zástupný symbol.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

Vytvoření a monitorování zařízení

V této části vytvoříte simulované zařízení v první relaci rozhraní příkazového řádku. Simulované zařízení odesílá telemetrii zařízení do centra IoT. V druhé relaci rozhraní příkazového řádku monitorujete události a telemetrii.

Vytvoření a spuštění simulovaného zařízení:

  1. V první relaci rozhraní příkazového řádku spusťte příkaz az iot hub device-identity create . Tento příkaz vytvoří identitu simulovaného zařízení.

    YourIotHubName. Nahraďte tento zástupný symbol názvem, který jste zvolili pro centrum IoT.

    SimDevice. Tento název můžete použít přímo pro simulované zařízení ve zbývající části tohoto rychlého startu. Volitelně můžete použít jiný název.

    az iot hub device-identity create -d simDevice -n {YourIoTHubName} 
    
  2. V první relaci rozhraní příkazového řádku spusťte příkaz az iot device simulate . Tento příkaz spustí simulované zařízení. Zařízení odesílá telemetrii do centra IoT a přijímá z něj zprávy.

    YourIotHubName. Nahraďte tento zástupný symbol názvem, který jste zvolili pro centrum IoT.

    az iot device simulate -d simDevice -n {YourIoTHubName}
    

Monitorování zařízení:

  1. V druhé relaci rozhraní příkazového řádku spusťte příkaz az iot hub monitor-events . Tento příkaz nepřetržitě monitoruje simulované zařízení. Výstup zobrazuje telemetrii, jako jsou události a změny stavu vlastností, které simulované zařízení odesílá do centra IoT.

    YourIotHubName. Nahraďte tento zástupný symbol názvem, který jste zvolili pro centrum IoT.

    az iot hub monitor-events --output table -p all -n {YourIoTHubName}
    

    Snímek obrazovky s monitorováním událostí na simulovaném zařízení

  2. Po monitorování simulovaného zařízení v druhé relaci rozhraní příkazového řádku zastavte monitorování stisknutím kombinace kláves Ctrl+C. Nechte druhou relaci rozhraní příkazového řádku otevřenou, abyste ji mohli použít v dalších krocích.

Odeslání zprávy pomocí rozhraní příkazového řádku

V této části odešlete zprávu simulovanému zařízení.

  1. V první relaci rozhraní příkazového řádku ověřte, že simulované zařízení stále běží. Pokud se zařízení zastavilo, spusťte následující příkaz a restartujte ho:

    YourIotHubName. Nahraďte tento zástupný symbol názvem, který jste zvolili pro centrum IoT.

    az iot device simulate -d simDevice -n {YourIoTHubName}
    
  2. V druhé relaci rozhraní příkazového řádku spusťte příkaz az iot device c2d-message send . Tento příkaz odešle zprávu typu cloud-zařízení z centra IoT do simulovaného zařízení. Zpráva obsahuje řetězec a dva páry klíč-hodnota.

    YourIotHubName. Nahraďte tento zástupný symbol názvem, který jste zvolili pro centrum IoT.

    az iot device c2d-message send -d simDevice --data "Hello World" --props "key0=value0;key1=value1" -n {YourIoTHubName}
    

    Volitelně můžete odesílat zprávy typu cloud-zařízení pomocí webu Azure Portal. Uděláte to tak, že přejdete na stránku s přehledem pro službu IoT Hub, vyberete zařízení IoT, vyberete simulované zařízení a vyberete Zprávu do zařízení.

  3. V první relaci rozhraní příkazového řádku potvrďte, že simulované zařízení obdrželo zprávu.

    Snímek obrazovky simulovaného zařízení, které přijímá zprávu

Volání metody zařízení pomocí rozhraní příkazového řádku

V této části zavoláte přímou metodu na simulovaném zařízení.

  1. Stejně jako předtím ověřte, že simulované zařízení v první relaci rozhraní příkazového řádku běží. Pokud ne, restartujte ho.

  2. V druhé relaci rozhraní příkazového řádku spusťte příkaz az iot hub invoke-device-method . V tomto příkladu neexistuje žádná předem existující metoda pro zařízení. Příkaz zavolá název ukázkové metody na simulovaném zařízení a vrátí datovou část.

    YourIotHubName. Nahraďte tento zástupný symbol názvem, který jste zvolili pro centrum IoT.

    az iot hub invoke-device-method --mn MySampleMethod -d simDevice -n {YourIoTHubName}
    
  3. V první relaci rozhraní příkazového řádku potvrďte, že výstup zobrazuje volání metody.

    Snímek obrazovky simulovaného zařízení zobrazující výstup po vyvolání metody

Použití rozhraní příkazového řádku k aktualizaci vlastností zařízení

V této části aktualizujete stav simulovaného zařízení nastavením hodnot vlastností.

  1. Stejně jako předtím ověřte, že simulované zařízení v první relaci rozhraní příkazového řádku běží. Pokud ne, restartujte ho.

  2. V druhé relaci rozhraní příkazového řádku spusťte příkaz az iot hub device-twin update . Tento příkaz aktualizuje vlastnosti na požadovaný stav dvojčete zařízení ioT Hubu, které odpovídá vašemu simulovanému zařízení. V tomto případě příkaz nastaví ukázkové vlastnosti podmínky teploty.

    Důležité

    Pokud používáte PowerShell v prostředí CLI, použijte verzi PowerShellu následujícího příkazu. PowerShell vyžaduje, abyste ucházli znaky v datové části JSON.

    YourIotHubName. Nahraďte tento zástupný symbol názvem, který jste zvolili pro centrum IoT.

    az iot hub device-twin update -d simDevice --desired '{"conditions":{"temperature":{"warning":98, "critical":107}}}' -n {YourIoTHubName}
    
    az iot hub device-twin update -d simDevice --desired '{\"conditions\":{\"temperature\":{\"warning\":98, \"critical\":107}}}' -n {YourIoTHubName}
    
  3. V první relaci rozhraní příkazového řádku ověřte, že simulované zařízení vypíše aktualizaci vlastnosti.

    Snímek obrazovky, který ukazuje, jak aktualizovat vlastnosti na zařízení

  4. V druhé relaci rozhraní příkazového řádku spusťte příkaz az iot hub device-twin show . Tento příkaz hlásí změny vlastností zařízení.

    YourIotHubName. Nahraďte tento zástupný symbol názvem, který jste zvolili pro centrum IoT.

    az iot hub device-twin show -d simDevice --query properties.reported -n {YourIoTHubName}
    

    Snímek obrazovky znázorňující aktualizované vlastnosti dvojčete zařízení

Zobrazení metrik zasílání zpráv na portálu

Azure Portal umožňuje spravovat všechny aspekty centra IoT a zařízení. V typické aplikaci IoT Hubu, která ingestuje telemetrii ze zařízení, můžete chtít monitorovat zařízení nebo zobrazovat metriky telemetrie zařízení.

Vizualizace metrik zasílání zpráv na webu Azure Portal:

  1. V levé navigační nabídce na portálu vyberte Všechny prostředky. Tato karta obsahuje seznam všech prostředků ve vašem předplatném, včetně centra IoT, které jste vytvořili.

  2. Vyberte odkaz v centru IoT, které jste vytvořili. Portál zobrazí stránku s přehledem centra.

  3. V levém podokně služby IoT Hub vyberte Metriky .

    Metriky zasílání zpráv služby IoT Hub

  4. Do pole Obor zadejte název centra IoT.

  5. V poli Metrika Namespace vyberte Standardní metriky služby Iot Hub.

  6. V poli Metrika vyberte Celkový počet použitých zpráv.

  7. Najeďte myší na oblast časové osy, ve které zařízení odesílaly zprávy. Celkový počet zpráv v určitém časovém okamžiku se zobrazí v levém dolním rohu časové osy.

    Zobrazení metrik Azure IoT Hubu

  8. Volitelně můžete pomocí rozevíracího seznamu Metrika zobrazit další metriky na simulovaném zařízení. Například dodávky zpráv C2d se dokončily nebo celkem zařízení (Preview).

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

Pokud už prostředky Azure vytvořené v tomto rychlém startu nepotřebujete, můžete je odstranit pomocí Azure CLI.

Pokud budete pokračovat k dalšímu doporučenému článku, můžete zachovat prostředky, které jste už vytvořili, a znovu je použít.

Důležité

Odstranění skupiny prostředků je nevratné. Skupina prostředků i všechny prostředky v ní obsažené se trvale odstraní. Ujistěte se, že nechtěně neodstraníte nesprávnou skupinu prostředků nebo prostředky.

Odstranění skupiny prostředků podle názvu:

  1. Spusťte příkaz az group delete. Tento příkaz odebere skupinu prostředků, centrum IoT a registraci zařízení, kterou jste vytvořili.

    az group delete --name MyResourceGroup
    
  2. Spuštěním příkazu az group list potvrďte odstranění skupiny prostředků.

    az group list
    

Další kroky

V tomto rychlém startu jste pomocí Azure CLI vytvořili centrum IoT, vytvořili simulované zařízení, odeslali a monitorovali telemetrii, volali metodu, nastavili požadované vlastnosti a vyčistili prostředky. Pomocí webu Azure Portal jste na svém zařízení vizualizovali metriky zasílání zpráv.

Pokud jste vývojář zařízení, navrhovaný další krok spočívá v rychlém startu telemetrie, který používá sadu SDK pro zařízení Azure IoT pro jazyk C. Volitelně si můžete prohlédnout některý z dostupných článků rychlého startu pro telemetrii Azure IoT Hubu ve vašem preferovaném jazyce nebo sadě SDK.

Informace o tom, jak řídit simulované zařízení z back-endové aplikace, najdete v dalším rychlém startu.