Rychlý start: Odesílání telemetrických dat ze zařízení do centra IoT a jejich 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 vytvoříte pomocí Azure CLI centrum IoT a simulované zařízení. Budete odesílat telemetrická data zařízení do centra a odesílat zprávy, metody volání a aktualizace vlastností na 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 Hub.

Požadavky

  • Pokud ještě nemáte předplatné Azure, vytvořte si ho zdarma , než začnete.
  • Azure CLI Všechny příkazy v tomto rychlém startu můžete spustit pomocí interaktivního prostředí rozhraní příkazového řádku Azure Cloud Shell, které běží ve vašem prohlížeči nebo v aplikaci, jako je Terminál Windows. Pokud používáte Cloud Shell, nemusíte nic instalovat. Pokud dáváte přednost místnímu používání rozhraní příkazového řádku, 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 potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.

Přihlášení k webu Azure Portal

Přihlaste se k webu Azure Portal.

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

Spusťte Cloud Shell.

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

Spuštění Cloud Shell:

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

    tlačítko Azure Portal Cloud Shell

    Poznámka

    Pokud Cloud Shell používáte poprvé, zobrazí se výzva k vytvoření úložiště, které je potřeba k použití Cloud Shell. 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í PowerShell .

    Poznámka

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

    Vyberte prostředí ROZHRANÍ PŘÍKAZOVÉHO ŘÁDKU.

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

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

  • 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 a zkopírujte 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 je ověřená a šifrovaná. 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 například 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í rozhraní příkazového řádku rozšíření Microsoft Azure IoT pro Azure CLI. Rozšíření IoT přidává do Azure CLI příkazy specifické pro IoT Hub, IoT Edge a službu IoT Device Provisioning Service (DPS).

    az extension add --name azure-iot
    

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

    Poznámka

    Tento článek používá nejnovější verzi rozšíření Azure IoT s názvem azure-iot. Starší verze se nazývá azure-cli-iot-ext. Současně byste měli mít nainstalovanou jenom jednu verzi. K ověření aktuálně nainstalovaných rozšíření můžete použít příkaz az extension list .

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

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

    Pokud chcete zjistit, jaká rozšíření máte nainstalovaná, 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řít novou relaci Cloud Shell

Vytvoření centra IoT

V této části použijete Azure CLI k vytvoření skupiny prostředků a centra IoT. Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure. Centrum IoT funguje jako centrum zpráv pro obousměrnou komunikaci mezi aplikací IoT a zařízeními.

Tip

Volitelně můžete vytvořit skupinu prostředků Azure, centrum IoT a další prostředky pomocí Azure Portal, editoru Visual Studio Code nebo jiných programových metod.

  1. V první relaci rozhraní příkazového řádku vytvořte skupinu prostředků spuštěním příkazu az group create . 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 PowerShellu pro vytvoření centra IoT. Vytvoření centra IoT trvá několik minut.

    YourIotHubName. V následujícím příkazu nahraďte tento zástupný symbol a okolní složené závorky názvem, 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 vašeho centra IoT všude, kde 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á telemetrická data zařízení do vašeho centra IoT. V druhé relaci rozhraní příkazového řádku budete monitorovat 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ý text 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 vašeho centra IoT a přijímá z něj zprávy.

    YourIotHubName. Nahraďte tento zástupný text 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 průběžně monitoruje simulované zařízení. Výstup zobrazuje telemetrická data, jako jsou události a změny stavu vlastností, které simulované zařízení odesílá do služby IoT Hub.

    YourIotHubName. Nahraďte tento zástupný text 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í je stále spuštěné. Pokud se zařízení zastavilo, restartujte ho spuštěním následujícího příkazu:

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

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

    YourIotHubName. Tento zástupný symbol nahraďte 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 z cloudu do zařízení pomocí Azure Portal. Uděláte to tak, že přejdete na stránku s přehledem IoT Hub, vyberete Zařízení IoT, vyberete simulované zařízení a vyberete Zpráva do zařízení.

  3. V první relaci rozhraní příkazového řádku ověřte, že simulované zařízení zprávu přijalo.

    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 je simulované zařízení v první relaci rozhraní příkazového řádku spuštěné. Pokud ne, restartujte ji.

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

    YourIotHubName. Tento zástupný symbol nahraďte 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 ověřte, že výstup zobrazuje volání metody.

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

Aktualizace vlastností zařízení pomocí rozhraní příkazového řádku

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

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

  2. Ve 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í Služby IoT Hub, 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í rozhraní příkazového řádku, použijte následující verzi powershellového příkazu. PowerShell vyžaduje, abyste utekli znaky v datové části JSON.

    YourIotHubName. Tento zástupný symbol nahraďte 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. Ve 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. Tento zástupný symbol nahraďte názvem, který jste zvolili pro centrum IoT.

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

    Snímek obrazovky s aktualizovanými vlastnostmi dvojčete zařízení

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

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

Vizualizace metrik zasílání zpráv v 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ě služby IoT Hub, kterou jste vytvořili.

  2. Vyberte odkaz ve službě IoT Hub, kterou jste vytvořili. Na portálu se zobrazí stránka s přehledem centra.

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

    metriky IoT Hub zasílání zpráv

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

  5. V poli Obor názvů metrik 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é vaše zařízení odesílalo zprávy. Celkový počet zpráv v určitém okamžiku se zobrazí v levém dolním rohu časové osy.

    Zobrazení metrik Azure IoT Hub

  8. Volitelně můžete pomocí rozevíracího seznamu Metrika zobrazit další metriky na simulovaném zařízení. Například dokončené doručování zpráv C2d nebo Celkový počet 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, že se skupina prostředků odstranila.

    az group list
    

Další kroky

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

Pokud jste vývojář zařízení, dalším navrhovaným krokem je zobrazení rychlého startu pro telemetrii, který používá sadu Azure IoT Device SDK pro C. Volitelně si můžete prohlédnout jeden z dostupných článků rychlého zprovoznění Azure IoT Hub telemetrie v upřednostňovaném jazyce nebo sadě SDK.

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