Rychlý start: Řízení zařízení připojeného k centru IoT

V tomto rychlém startu použijete přímou metodu k řízení simulovaného zařízení připojeného k centru IoT. IoT Hub je služba Azure, která umožňuje spravovat zařízení IoT z cloudu a ingestovat do cloudu velké objemy telemetrických dat zařízení za účelem uložení nebo zpracování. Pomocí přímých metod můžete vzdáleně změnit chování zařízení připojených k centru IoT.

Rychlý start používá dvě předem vytvořené aplikace .NET:

  • Aplikace simulovaného zařízení, která reaguje na přímé metody volané z aplikace služby. Aby bylo možné přijímat volání přímé metody, připojí se tato aplikace ke koncovému bodu centra IoT pro konkrétní zařízení.

  • Aplikace služby, která volá přímé metody na simulovaném zařízení. Aby na zařízení bylo možné volat přímou metodu, připojí se tato aplikace ke koncovému bodu na straně služby ve vašem centru IoT.

Požadavky

  • Účet Azure s aktivním předplatným. Vytvořte si ho zdarma.

  • Dvě ukázkové aplikace, které spustíte v tomto rychlém startu, jsou napsány pomocí C#. Na vývojovém počítači potřebujete sadu .NET SDK 6.0 nebo novější.

    Sadu .NET Core SDK pro různé platformy si můžete stáhnout z webu .NET.

    Aktuální verzi C# na počítači používaném pro vývoj můžete ověřit pomocí následujícího příkazu:

    dotnet --version
    
  • Naklonujte nebo stáhněte sadu Azure IoT C# SDK z GitHubu.

  • Ujistěte se, že je v bráně firewall otevřený port 8883. Ukázka zařízení v tomto rychlém startu používá protokol MQTT, který komunikuje přes port 8883. Tento port může být v některých podnikových a vzdělávacích síťových prostředích blokovaný. Další informace a způsoby, jak tento problém obejít, najdete v tématu Připojení k IoT Hub (MQTT).

  • Použijte prostředí Bash v Azure Cloud Shell. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shell.

  • Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Spuštění Azure CLI v kontejneru Dockeru.

    • Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.

    • Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.

    • Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.

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.

V této části použijete Azure CLI k vytvoření centra IoT a skupiny prostředků. 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.

Pokud už ve svém předplatném Azure máte centrum IoT, můžete tuto část přeskočit.

Vytvoření centra IoT a skupiny prostředků:

  1. Spusťte aplikaci CLI. Pokud chcete spustit příkazy rozhraní příkazového řádku ve zbývající části tohoto článku, zkopírujte syntaxi příkazu, vložte ji do aplikace CLI, upravte hodnoty proměnných a stiskněte Enter.

    • Pokud používáte Cloud Shell, vyberte tlačítko Vyzkoušet v příkazech rozhraní příkazového řádku a spusťte Cloud Shell v rozděleném okně prohlížeče. Nebo můžete Cloud Shell otevřít na samostatné kartě prohlížeče.
    • Pokud používáte Azure CLI místně, spusťte aplikaci konzoly CLI a přihlaste se k Azure CLI.
  2. Spuštěním příkazu az extension add nainstalujte nebo upgradujte rozšíření azure-iot na aktuální verzi.

    az extension add --upgrade --name azure-iot
    
  3. Spuštěním příkazu az group create v aplikaci CLI vytvořte skupinu prostředků. Následující příkaz vytvoří skupinu prostředků MyResourceGroup v umístění eastus .

    Poznámka

    Volitelně můžete nastavit jiné umístění. Pokud chcete zobrazit dostupná umístění, spusťte příkaz az account list-locations. V tomto rychlém startu se používá eastus , jak je znázorněno v ukázkovém příkazu.

    az group create --name MyResourceGroup --location eastus
    
  4. Spuštěním příkazu az iot hub create vytvořte centrum IoT. Vytvoření centra IoT hub může trvat 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 {your_iot_hub_name}
    

Načtení připojovacího řetězce služby

Potřebujete také připojovací řetězec služby ioT Hubu, který aplikaci služby umožní připojit se k centru a načíst zprávy. Připojovací řetězec služby je určený pro centrum IoT jako celek a liší se od připojovacího řetězce zařízení, který jste získali v předchozí části.

Následující příkaz načte připojovací řetězec služby pro vaše centrum IoT:

az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table

Poznamenejte si připojovací řetězec služby, který vypadá nějak takto:

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

Tuto hodnotu použijete později v tomto rychlém startu.

Simulace zařízení

Aplikace simulovaného zařízení se připojí ke koncovému bodu v centru IoT pro konkrétní zařízení, odešle simulovaná telemetrická data a z vašeho centra naslouchá voláním přímé metody. Volání přímé metody z centra v tomto rychlém startu nařídí zařízení, aby změnilo interval, ve kterém se odesílají telemetrická data. Simulované zařízení odešle potvrzení zpět do vašeho centra poté, co spustí přímou metodu.

  1. V okně místního terminálu přejděte do kořenové složky ukázkového projektu jazyka C#. Pak přejděte do složky iothub\device\samples\getting started\SimulatedDeviceWithCommand .

  2. Spuštěním následujícího příkazu nainstalujte požadované balíčky pro aplikaci simulovaného zařízení:

    dotnet restore
    
  3. Spuštěním následujícího příkazu sestavte a spusťte aplikaci simulovaného zařízení.

    {DeviceConnectionString}: Nahraďte tento zástupný text připojovacím řetězcem zařízení, který jste si poznamenali dříve.

    dotnet run -- -c "{DeviceConnectionString}"
    

    Následující snímek obrazovky ukazuje výstup, zatímco aplikace simulovaného zařízení odesílá telemetrická data do vašeho centra IoT:

    Spuštění simulovaného zařízení

Volání přímé metody

Aplikace služby se připojí ke koncovému bodu na straně služby na vašem IoT Hub. Aplikace provádí volání přímých metod do zařízení prostřednictvím centra IoT a naslouchá potvrzením. Aplikace služby IoT Hub obvykle běží v cloudu.

  1. V jiném okně místního terminálu přejděte do kořenové složky ukázkového projektu jazyka C#. Pak přejděte do složky iothub\service\samples\getting started\InvokeDeviceMethod .

  2. V okně místního terminálu spusťte následující příkazy pro instalaci požadovaných knihoven pro aplikaci služby:

    dotnet build
    
  3. Spuštěním následujících příkazů v okně místního terminálu sestavte a spusťte aplikaci služby.

    {ServiceConnectionString}: Tento zástupný symbol nahraďte připojovacím řetězcem služby IoT Hub, který jste si poznamenali dříve.

    {DeviceName}: Tento zástupný symbol nahraďte názvem zařízení, které jste zaregistrovali.

    dotnet run -- -c "{ServiceConnectionString}" -d {DeviceName}
    

    Následující snímek obrazovky ukazuje výstup, když aplikace provede volání přímé metody do zařízení a obdrží potvrzení:

    Spuštění aplikace služby

    Po spuštění aplikace služby se v okně konzoly se simulovaným zařízením zobrazí zpráva a rychlost odesílání zpráv se změní:

    Změna simulovaného klienta

V tomto rychlém startu se používají dvě aplikace Java:

  • Aplikaci simulovaného zařízení, která odpovídá na přímé metody volané z back-endové aplikace.
  • Aplikace služby, která volá přímou metodu na simulovaném zařízení.

Požadavky

  • Účet Azure s aktivním předplatným. Vytvořte si ho zdarma.

  • Java SE Development Kit 8. V části Dlouhodobá podpora Javy pro Azure a Azure Stack v části Dlouhodobá podpora vyberte Java 8.

    Aktuální verzi Javy na vývojovém počítači můžete ověřit pomocí následujícího příkazu:

    java -version
    
  • Apache Maven 3.

    Aktuální verzi Mavenu na vývojovém počítači můžete ověřit pomocí následujícího příkazu:

    mvn --version
    
  • Naklonujte nebo stáhněte ukázky Azure IoT Java z GitHubu.

  • Ujistěte se, že je v bráně firewall otevřený port 8883. Ukázka zařízení v tomto rychlém startu používá protokol MQTT, který komunikuje přes port 8883. Tento port může být v některých podnikových a vzdělávacích síťových prostředích blokovaný. Další informace a způsoby, jak tento problém obejít, najdete v tématu Připojení k IoT Hub (MQTT).

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. Najednou 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 .

Slouží 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.

Vytvoření centra IoT

V této části použijete Azure CLI k vytvoření centra IoT a skupiny prostředků. 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 aplikací IoT a zařízeními.

Pokud už ve svém předplatném Azure máte centrum IoT, můžete tuto část přeskočit.

Vytvoření centra IoT a skupiny prostředků:

  1. Spusťte aplikaci CLI. Pokud chcete spustit příkazy rozhraní příkazového řádku ve zbývající části tohoto článku, zkopírujte syntaxi příkazu, vložte ji do aplikace CLI, upravte hodnoty proměnných a stiskněte Enter.

    • Pokud používáte Cloud Shell, vyberte tlačítko Vyzkoušet v příkazech rozhraní příkazového řádku a spusťte Cloud Shell v rozdělené okně prohlížeče. Nebo můžete Cloud Shell otevřít na samostatné kartě prohlížeče.
    • Pokud používáte Azure CLI místně, spusťte konzolovou aplikaci rozhraní příkazového řádku a přihlaste se k Azure CLI.
  2. Spuštěním příkazu az extension add nainstalujte nebo upgradujte rozšíření azure-iot na aktuální verzi.

    az extension add --upgrade --name azure-iot
    
  3. Spuštěním příkazu az group create v aplikaci CLI vytvořte skupinu prostředků. Následující příkaz vytvoří skupinu prostředků MyResourceGroup v umístění eastus .

    Poznámka

    Volitelně můžete nastavit jiné umístění. Pokud chcete zobrazit dostupná umístění, spusťte příkaz az account list-locations. V tomto rychlém startu se používá eastus , jak je znázorněno v příkladu příkazu.

    az group create --name MyResourceGroup --location eastus
    
  4. Spuštěním příkazu az iot hub create vytvořte centrum IoT. Vytvoření centra IoT může trvat několik minut.

    YourIotHubName. Tento zástupný symbol a okolní závorky nahraďte 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ý. Název centra IoT použijte ve zbytku tohoto rychlého startu všude, kde se zobrazí zástupný symbol.

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

Registrace zařízení

Zařízení musí být zaregistrované ve vašem centru IoT, aby se mohlo připojit. V této části použijete Azure CLI k vytvoření identity zařízení.

Pokud už máte zařízení zaregistrované ve službě IoT Hub, můžete tuto část přeskočit.

Vytvoření identity zařízení:

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

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

    myDevice. Tento název můžete použít pro ID zařízení v tomto článku nebo zadat jiný název zařízení.

    az iot hub device-identity create --device-id myDevice --hub-name {your_iot_hub_name}
    
  2. Spusťte příkaz az iot hub device-identity connection-string show .

    az iot hub device-identity connection-string show --device-id myDevice --hub-name {your_iot_hub_name}
    

    Výstup připojovacího řetězce je v následujícím formátu:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Uložte připojovací řetězec do zabezpečeného umístění.

Poznámka

Nechte aplikaci rozhraní příkazového řádku otevřenou. Použijete ho v pozdějších krocích.

Načtení připojovacího řetězce služby

Potřebujete také připojovací řetězec služby, který back-endové aplikaci umožní připojení k vašemu centru IoT a načtení zpráv. Následující příkaz načte připojovací řetězec služby pro vaše centrum IoT:

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

az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table

Poznamenejte si připojovací řetězec služby, který vypadá nějak takto:

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

Tuto hodnotu použijete později v tomto rychlém startu. Tento připojovací řetězec služby se liší od připojovacího řetězce zařízení, který jste si poznamenali v předchozím kroku.

Simulace zařízení

Aplikace simulovaného zařízení se připojí ke koncovému bodu v centru IoT pro konkrétní zařízení, odešle simulovaná telemetrická data a z vašeho centra naslouchá voláním přímé metody. Volání přímé metody z centra v tomto rychlém startu nařídí zařízení, aby změnilo interval, ve kterém se odesílají telemetrická data. Simulované zařízení odešle potvrzení zpět do centra po spuštění přímé metody.

  1. V okně místního terminálu přejděte do kořenové složky ukázkového projektu Java. Potom přejděte do složky iot-hub\Quickstarts\simulated-device-2.

  2. V libovolném textovém editoru otevřete soubor src/main/java/com/microsoft/docs/iothub/samples/SimulatedDevice.java.

    connString Hodnotu proměnné nahraďte připojovacím řetězcem zařízení, který jste si poznamenali dříve. Pak uložte změny do SimulatedDevice.java.

  3. V okně místního terminálu pomocí následujících příkazů nainstalujte požadované knihovny a sestavte aplikaci simulovaného zařízení:

    mvn clean package
    
  4. Spuštěním následujících příkazů v okně místního terminálu spusťte aplikaci simulovaného zařízení:

    java -jar target/simulated-device-2-1.0.0-with-deps.jar
    

    Následující snímek obrazovky ukazuje výstup, zatímco aplikace simulovaného zařízení odesílá telemetrická data do vašeho centra IoT:

    Výstup z telemetrie odesílané zařízením do centra IoT

Volání přímé metody

Back-endová aplikace se připojí ke koncovému bodu vašeho centra IoT na straně služby. Aplikace provádí přímé volání metody do zařízení prostřednictvím vašeho centra IoT a naslouchá potvrzením. Back-endová aplikace služby IoT Hub se obvykle spouští v cloudu.

  1. V jiném okně místního terminálu přejděte do kořenové složky ukázkového projektu Java. Potom přejděte do složky iot-hub\Quickstarts\back-end-application.

  2. V libovolném textovém editoru otevřete soubor src/main/java/com/microsoft/docs/iothub/samples/BackEndApplication.java.

    iotHubConnectionString Hodnotu proměnné nahraďte připojovacím řetězcem služby, který jste si poznamenali dříve. Pak uložte změny do BackEndApplication.java.

  3. V okně místního terminálu pomocí následujících příkazů nainstalujte požadované knihovny a sestavte back-endovou aplikaci:

    mvn clean package
    
  4. Spuštěním následujících příkazů v okně místního terminálu spusťte back-endovou aplikaci:

    java -jar target/back-end-application-1.0.0-with-deps.jar
    

    Následující snímek obrazovky ukazuje výstup, když aplikace provede přímé volání metody do zařízení a obdrží potvrzení:

    Výstup, když aplikace provádí přímé volání metody prostřednictvím centra IoT

    Po spuštění back-endové aplikace se v okně konzoly se simulovaným zařízením zobrazí zpráva a rychlost odesílání zpráv se změní:

    Zpráva konzoly ze zařízení zobrazuje rychlost, s jakou se mění

V tomto rychlém startu se používají dvě aplikace Node.js:

  • Aplikaci simulovaného zařízení, která odpovídá na přímé metody volané z back-endové aplikace. Aby bylo možné přijímat volání přímé metody, připojí se tato aplikace ke koncovému bodu centra IoT pro konkrétní zařízení.
  • Back-endovou aplikaci, která na simulovaném zařízení volá přímé metody. Za účelem volání přímé metody na zařízení se tato aplikace připojí ke koncovému bodu specifickému pro službu ve službě IoT Hub.

Požadavky

  • Účet Azure s aktivním předplatným. Vytvořte si ho zdarma.

  • Node.js 12+.

    Aktuální verzi Node.js na počítači používaném pro vývoj můžete ověřit pomocí následujícího příkazu:

    node --version
    
  • Naklonujte nebo stáhněte ukázky Node.js Azure IoT z GitHubu.

  • Ujistěte se, že je v bráně firewall otevřený port 8883. Ukázka zařízení v tomto rychlém startu používá protokol MQTT, který komunikuje přes port 8883. Tento port může být v některých podnikových a vzdělávacích síťových prostředích blokovaný. Další informace a způsoby, jak tento problém obejít, najdete v tématu Připojení k IoT Hub (MQTT).

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. Najednou 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 .

Slouží 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.

Vytvoření centra IoT

V této části použijete Azure CLI k vytvoření centra IoT a skupiny prostředků. 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 aplikací IoT a zařízeními.

Pokud už ve svém předplatném Azure máte centrum IoT, můžete tuto část přeskočit.

Vytvoření centra IoT a skupiny prostředků:

  1. Spusťte aplikaci CLI. Pokud chcete spustit příkazy rozhraní příkazového řádku ve zbývající části tohoto článku, zkopírujte syntaxi příkazu, vložte ji do aplikace CLI, upravte hodnoty proměnných a stiskněte Enter.

    • Pokud používáte Cloud Shell, vyberte tlačítko Vyzkoušet v příkazech rozhraní příkazového řádku a spusťte Cloud Shell v rozdělené okně prohlížeče. Nebo můžete Cloud Shell otevřít na samostatné kartě prohlížeče.
    • Pokud používáte Azure CLI místně, spusťte konzolovou aplikaci rozhraní příkazového řádku a přihlaste se k Azure CLI.
  2. Spuštěním příkazu az extension add nainstalujte nebo upgradujte rozšíření azure-iot na aktuální verzi.

    az extension add --upgrade --name azure-iot
    
  3. Spuštěním příkazu az group create v aplikaci CLI vytvořte skupinu prostředků. Následující příkaz vytvoří skupinu prostředků MyResourceGroup v umístění eastus .

    Poznámka

    Volitelně můžete nastavit jiné umístění. Pokud chcete zobrazit dostupná umístění, spusťte příkaz az account list-locations. V tomto rychlém startu se používá eastus , jak je znázorněno v příkladu příkazu.

    az group create --name MyResourceGroup --location eastus
    
  4. Spuštěním příkazu az iot hub create vytvořte centrum IoT. Vytvoření centra IoT může trvat několik minut.

    YourIotHubName. Tento zástupný symbol a okolní závorky nahraďte 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ý. Název centra IoT použijte ve zbytku tohoto rychlého startu všude, kde se zobrazí zástupný symbol.

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

Registrace zařízení

Zařízení musí být zaregistrované ve vašem centru IoT, aby se mohlo připojit. V této části použijete Azure CLI k vytvoření identity zařízení.

Pokud už máte zařízení zaregistrované ve službě IoT Hub, můžete tuto část přeskočit.

Vytvoření identity zařízení:

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

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

    myDevice. Tento název můžete použít pro ID zařízení v tomto článku nebo zadat jiný název zařízení.

    az iot hub device-identity create --device-id myDevice --hub-name {your_iot_hub_name}
    
  2. Spusťte příkaz az iot hub device-identity connection-string show .

    az iot hub device-identity connection-string show --device-id myDevice --hub-name {your_iot_hub_name}
    

    Výstup připojovacího řetězce je v následujícím formátu:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Uložte připojovací řetězec do zabezpečeného umístění.

Poznámka

Nechte aplikaci rozhraní příkazového řádku otevřenou. Použijete ho v pozdějších krocích.

Načtení připojovacího řetězce služby

Potřebujete také připojovací řetězec služby ioT Hubu, aby se back-endová aplikace mohla připojit k vašemu centru IoT a načíst zprávy. Následující příkaz načte připojovací řetězec služby pro vaše centrum IoT:

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

az iot hub connection-string show \
  --policy-name service --hub-name {YourIoTHubName} --output table

Poznamenejte si připojovací řetězec služby, který vypadá nějak takto:

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

Tuto hodnotu použijete později v tomto rychlém startu. Tento připojovací řetězec služby se liší od připojovacího řetězce zařízení, který jste si poznamenali v předchozím kroku.

Simulace zařízení

Aplikace simulovaného zařízení se připojí ke koncovému bodu v centru IoT pro konkrétní zařízení, odešle simulovaná telemetrická data a z vašeho centra naslouchá voláním přímé metody. Volání přímé metody z centra v tomto rychlém startu nařídí zařízení, aby změnilo interval, ve kterém se odesílají telemetrická data. Simulované zařízení odešle potvrzení zpět do centra po spuštění přímé metody.

  1. V okně místního terminálu a přejděte do kořenové složky ukázkového projektu Node.js. Potom přejděte do složky iot-hub\Quickstarts\simulated-device-2.

  2. V libovolném textovém editoru otevřete soubor SimulatedDevice.js.

    connectionString Hodnotu proměnné nahraďte připojovacím řetězcem zařízení, který jste si poznamenali dříve. Pak uložte změny do SimulatedDevice.js.

  3. V okně místního terminálu pomocí následujících příkazů nainstalujte požadované knihovny a spusťte aplikaci simulovaného zařízení:

    npm install
    node SimulatedDevice.js
    

    Následující snímek obrazovky ukazuje výstup, zatímco aplikace simulovaného zařízení odesílá telemetrická data do vašeho centra IoT:

    Spuštění simulovaného zařízení

Volání přímé metody

Back-endová aplikace se připojí ke koncovému bodu na straně služby ve vašem centru IoT. Aplikace provádí volání přímých metod do zařízení prostřednictvím centra IoT a naslouchá potvrzením. Back-endová aplikace služby IoT Hub se obvykle spouští v cloudu.

  1. V jiném okně místního terminálu přejděte do kořenové složky ukázkového projektu Node.js. Potom přejděte do složky iot-hub\Quickstarts\back-end-application.

  2. V libovolném textovém editoru otevřete soubor BackEndApplication.js.

    Nahraďte hodnotu connectionString proměnné připojovacím řetězcem služby, který jste si poznamenali dříve. Potom uložte změny do BackEndApplication.js.

  3. V okně místního terminálu pomocí následujících příkazů nainstalujte požadované knihovny a spusťte back-endovou aplikaci:

    npm install
    node BackEndApplication.js
    

    Následující snímek obrazovky ukazuje výstup, když aplikace provede volání přímé metody do zařízení a obdrží potvrzení:

    Výstup, když aplikace provádí volání přímé metody do zařízení

    Po spuštění back-endové aplikace se v okně konzoly se simulovaným zařízením zobrazí zpráva a rychlost odesílání zpráv se změní:

    Výstup při změně simulovaného klienta

V tomto rychlém startu se používají dvě aplikace Pythonu:

  • Aplikaci simulovaného zařízení, která odpovídá na přímé metody volané z back-endové aplikace.
  • Back-endovou aplikaci, která na simulovaném zařízení volá přímé metody.

Požadavky

  • Použijte prostředí Bash v Azure Cloud Shell. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shell.

  • Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Spuštění Azure CLI v kontejneru Dockeru.

    • Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.

    • Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.

    • Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.

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.

Vytvoření centra IoT

V této části použijete Azure CLI k vytvoření centra IoT a skupiny prostředků. 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.

Pokud už ve svém předplatném Azure máte centrum IoT, můžete tuto část přeskočit.

Vytvoření centra IoT a skupiny prostředků:

  1. Spusťte aplikaci CLI. Pokud chcete spustit příkazy rozhraní příkazového řádku ve zbývající části tohoto článku, zkopírujte syntaxi příkazu, vložte ji do aplikace CLI, upravte hodnoty proměnných a stiskněte Enter.

    • Pokud používáte Cloud Shell, vyberte tlačítko Vyzkoušet v příkazech rozhraní příkazového řádku a spusťte Cloud Shell v rozděleném okně prohlížeče. Nebo můžete Cloud Shell otevřít na samostatné kartě prohlížeče.
    • Pokud používáte Azure CLI místně, spusťte aplikaci konzoly CLI a přihlaste se k Azure CLI.
  2. Spuštěním příkazu az extension add nainstalujte nebo upgradujte rozšíření azure-iot na aktuální verzi.

    az extension add --upgrade --name azure-iot
    
  3. Spuštěním příkazu az group create v aplikaci CLI vytvořte skupinu prostředků. Následující příkaz vytvoří skupinu prostředků MyResourceGroup v umístění eastus .

    Poznámka

    Volitelně můžete nastavit jiné umístění. Pokud chcete zobrazit dostupná umístění, spusťte příkaz az account list-locations. V tomto rychlém startu se používá eastus , jak je znázorněno v ukázkovém příkazu.

    az group create --name MyResourceGroup --location eastus
    
  4. Spuštěním příkazu az iot hub create vytvořte centrum IoT. Vytvoření centra IoT hub může trvat 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 {your_iot_hub_name}
    

Registrace zařízení

Zařízení musí být zaregistrované ve vašem centru IoT, aby se mohlo připojit. V této části použijete Azure CLI k vytvoření identity zařízení.

Pokud už máte zařízení zaregistrované ve službě IoT Hub, můžete tuto část přeskočit.

Vytvoření identity zařízení:

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

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

    myDevice. Tento název můžete použít pro ID zařízení v tomto článku nebo zadat jiný název zařízení.

    az iot hub device-identity create --device-id myDevice --hub-name {your_iot_hub_name}
    
  2. Spusťte příkaz az iot hub device-identity connection-string show .

    az iot hub device-identity connection-string show --device-id myDevice --hub-name {your_iot_hub_name}
    

    Výstup připojovacího řetězce je v následujícím formátu:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Uložte připojovací řetězec do zabezpečeného umístění.

Poznámka

Nechte aplikaci rozhraní příkazového řádku otevřenou. Použijete ho v pozdějších krocích.

Načtení připojovacího řetězce služby

Potřebujete také připojovací řetězec služby, který back-endové aplikaci umožní připojení k vašemu centru IoT a načtení zpráv. Následující příkaz načte připojovací řetězec služby pro vaše centrum IoT:

YourIoTHubName: Nahraďte tento zástupný text názvem, který zvolíte pro centrum IoT.

az iot hub connection-string show \
  --policy-name service \
  --hub-name {YourIoTHubName} \
  --output table

Poznamenejte si připojovací řetězec služby, který vypadá nějak takto:

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

Tuto hodnotu použijete později v tomto rychlém startu. Tento připojovací řetězec služby se liší od připojovacího řetězce zařízení, který jste si poznamenali v předchozím kroku.

Simulace zařízení

Aplikace simulovaného zařízení se připojí ke koncovému bodu v centru IoT pro konkrétní zařízení, odešle simulovaná telemetrická data a z vašeho centra naslouchá voláním přímé metody. Volání přímé metody z centra v tomto rychlém startu nařídí zařízení, aby změnilo interval, ve kterém se odesílají telemetrická data. Simulované zařízení odešle potvrzení zpět do vašeho centra poté, co spustí přímou metodu.

  1. V okně místního terminálu přejděte do kořenové složky ukázkového projektu Python. Potom přejděte do složky iot-hub\Quickstarts\simulated-device-2.

  2. Otevřete soubor SimulatedDeviceSync.py v libovolném textovém editoru.

    Nahraďte hodnotu CONNECTION_STRING proměnné připojovacím řetězcem zařízení, který jste si poznamenali dříve. Potom změny uložte do SimulatedDeviceSync.py.

  3. V okně místního terminálu pomocí následujících příkazů nainstalujte požadované knihovny pro aplikaci simulovaného zařízení:

    pip install azure-iot-device
    
  4. Spuštěním následujících příkazů v okně místního terminálu spusťte aplikaci simulovaného zařízení:

    python SimulatedDeviceSync.py
    

    Následující snímek obrazovky ukazuje výstup, zatímco aplikace simulovaného zařízení odesílá telemetrická data do vašeho centra IoT:

    Spuštění simulovaného zařízení

Volání přímé metody

Back-endová aplikace se připojí ke koncovému bodu vašeho centra IoT na straně služby. Aplikace provádí volání přímých metod do zařízení prostřednictvím centra IoT a naslouchá potvrzením. Back-endová aplikace služby IoT Hub se obvykle spouští v cloudu.

  1. V jiném okně místního terminálu přejděte do kořenové složky ukázkového projektu Python. Potom přejděte do složky iot-hub\Quickstarts\back-end-application.

  2. V libovolném textovém editoru otevřete soubor BackEndApplication.py.

    Nahraďte hodnotu CONNECTION_STRING proměnné připojovacím řetězcem služby, který jste si poznamenali dříve. Potom uložte změny do BackEndApplication.py.

  3. V okně místního terminálu pomocí následujících příkazů nainstalujte požadované knihovny pro aplikaci simulovaného zařízení:

    pip install azure-iot-hub
    
  4. Spuštěním následujících příkazů v okně místního terminálu spusťte back-endovou aplikaci:

    python BackEndApplication.py
    

    Následující snímek obrazovky ukazuje výstup, když aplikace provede volání přímé metody do zařízení a obdrží potvrzení:

    Spuštění back-endové aplikace

    Po spuštění back-endové aplikace se v okně konzoly se simulovaným zařízením zobrazí zpráva a rychlost odesílání zpráv se změní:

    Změna simulovaného klienta

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

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

Jinak můžete prostředky Azure vytvořené v tomto článku odstranit a vyhnout se tak poplatkům.

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. Pokud jste službu IoT Hub vytvořili uvnitř existující skupiny prostředků obsahující prostředky, které chcete zachovat, odstraňte místo skupiny prostředků pouze samotný prostředek služby IoT.

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

  1. Přihlaste se k webu Azure Portal a potom vyberte Skupiny prostředků.

  2. Do textového pole Filtrovat podle názvu zadejte název skupiny prostředků obsahující IoT Hub.

  3. Napravo od vaší skupiny prostředků v seznamu výsledků vyberte ... a pak Odstranit skupinu prostředků.

    Odstranit

  4. Zobrazí se výzva k potvrzení odstranění skupiny prostředků. Znovu zadejte název skupiny prostředků, abyste to potvrdili, a pak vyberte Odstranit. Po chvíli bude skupina prostředků včetně všech obsažených prostředků odstraněná.

Další kroky

V tomto rychlém startu jste volali přímou metodu na zařízení z aplikace služby a odpověděli jste na volání přímé metody v aplikaci simulovaného zařízení.

Informace o tom, jak směrovat zprávy typu zařízení-cloud do různých cílů v cloudu, najdete v dalším kurzu.