Compartilhar via


Início Rápido: Controlar um dispositivo conectado a um hub IoT

Neste início rápido, você usará um método direto para controlar um dispositivo simulado conectado ao hub IoT. O Hub IoT é um serviço do Azure que permite gerenciar seus dispositivos IoT da nuvem e ingerir grandes volumes de telemetria de dispositivo para a nuvem para armazenamento ou processamento. Você pode usar métodos diretos para alterar remotamente o comportamento dos dispositivos conectados ao hub IoT.

O início rápido usa dois aplicativos .NET pré-escritos:

  • Um aplicativo de dispositivo simulado que responde a métodos diretos chamados de um aplicativo de serviço. Para receber as chamadas de método direto, esse aplicativo se conecta a um ponto de extremidade específico do dispositivo no seu hub IoT.

  • Um aplicativo de serviço que chama os métodos diretos no dispositivo simulado. Para chamar um método direto em um dispositivo, esse aplicativo se conecta a um ponto de extremidade do lado do serviço no seu hub IoT.

Pré-requisitos

  • Uma conta do Azure com uma assinatura ativa. Crie um gratuitamente.

  • Os dois aplicativos de exemplo executados neste início rápido são escritos usando C#. Você precisa do SDK do .NET 6.0 ou superior em seu computador de desenvolvimento.

    Você pode fazer o download do SDK do .NET Core para várias plataformas a partir do .NET.

    Verifique a versão atual do C# no computador de desenvolvimento usando o seguinte comando:

    dotnet --version
    
  • Clone ou baixe o SDK do Microsoft Azure IoT para .NET no GitHub. Os aplicativos de exemplo usados por este início rápido são incluídos no SDK.

  • Verifique se a porta 8883 está aberta no firewall. O exemplo de dispositivo neste início rápido usa o protocolo MQTT, que se comunica pela porta 8883. Essa porta pode ser bloqueada em alguns ambientes de rede corporativa e educacional. Para obter mais informações e maneiras de solucionar esse problema, consulte a seção Conectar-se ao Hub IoT de Comunicar-se com um hub IoT usando o protocolo MQTT.

Observação

Este artigo usa a versão mais recente da extensão de IoT do Azure, chamada azure-iot. A versão herdada é chamada azure-cli-iot-ext. Você deve ter apenas uma versão instalada por vez. Use o comando az extension list para validar quais extensões estão instaladas.

Use az extension remove --name azure-cli-iot-ext para remover a versão herdada da extensão.

Use az extension add --name azure-iot para adicionar a nova versão da extensão.

Para ver quais extensões estão instaladas no momento, use az extension list.

Nesta seção, você usa a CLI do Azure para criar um hub IoT e um grupo de recursos. Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. Um hub IoT atua como um hub central de mensagens para comunicação bidirecional entre o aplicativo IoT e os dispositivos.

Se você já tiver um hub IoT em sua assinatura do Azure, ignore esta seção.

Para criar um hub IoT e um grupo de recursos:

  1. Inicie o aplicativo da CLI. Para executar os comandos da CLI no restante deste artigo, copie a sintaxe do comando, cole-a no aplicativo da CLI, edite os valores de variáveis e pressione Enter.

    • Se estiver usando o Cloud Shell, selecione o botão Experimentar nos comandos da CLI para iniciar o Cloud Shell em uma janela dividida do navegador. Ou você pode abrir o Cloud Shell em uma guia separada do navegador.
    • Se estiver usando a CLI do Azure localmente, inicie o aplicativo de console da CLI e faça logon na CLI do Azure.
  2. Execute az extension add para instalar ou atualizar a extensão azure-iot para a versão atual.

    az extension add --upgrade --name azure-iot
    
  3. No aplicativo da CLI, execute o comando az group create para criar um grupo de recursos. O comando a seguir cria um grupo de recursos chamado MyResourceGroup na localização eastus.

    Observação

    Opcionalmente, você pode definir um local diferente. Para ver os locais disponíveis, execute az account list-locations. Este início rápido usa eastus, conforme mostrado no comando de exemplo.

    az group create --name MyResourceGroup --___location eastus
    
  4. Execute o comando az iot hub create para criar um Hub IoT. Pode levar alguns minutos para criar um Hub IoT.

    YourIoTHubName. Substitua esse espaço reservado e as chaves ao redor no comando a seguir, usando o nome que você escolheu para o hub IoT. Um nome de Hub IoT deve ser exclusivo globalmente no Azure. Use o nome do seu hub IoT no restante deste guia de início rápido, sempre que vir o espaço reservado.

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

Recuperar a string de conexão do serviço

Você também precisa da cadeia de conexão de serviço do hub IoT para permitir que o aplicativo de serviço se conecte ao hub e recupere as mensagens. A cadeia de conexão de serviço é para o hub IoT como um todo e é diferente da cadeia de conexão do dispositivo recuperada na seção anterior.

O comando a seguir recupera a cadeia de conexão de serviço para o hub IoT:

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

Anote cadeia de conexão de serviço, que se parece com:

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

Você usará esse valor posteriormente no início rápido.

Simular um dispositivo

O aplicativo de dispositivo simulado se conecta a um ponto de extremidade específico do dispositivo no seu hub IoT, envia telemetria simulada e escuta chamadas de método direto do seu hub. Neste início rápido, a chamada de método direto do hub informa ao dispositivo para alterar o intervalo de envio da telemetria. O dispositivo simulado envia uma confirmação de volta ao hub depois de executar o método direto.

  1. Em uma janela de terminal local, navegue até a pasta raiz do SDK. Em seguida, navegue até a pasta iothub\device\samples\getting started\SimulatedDeviceWithCommand .

  2. Execute o seguinte comando para instalar os pacotes necessários para o aplicativo de dispositivo simulado:

    dotnet restore
    
  3. Execute o comando a seguir para compilar e executar o aplicativo de dispositivo simulado.

    {DeviceConnectionString}: substitua o valor do espaço reservado pela cadeia de conexão do dispositivo que você copiou anteriormente.

    dotnet run -- -c "{DeviceConnectionString}"
    

    A captura de tela a seguir mostra o resultado à medida que o aplicativo de dispositivo simulado envia telemetria para o seu hub IoT:

    Captura de tela de uma janela de terminal que mostra a saída do aplicativo de dispositivo simulado.

Chamar o método direto

O aplicativo de serviço se conecta a um ponto de extremidade do lado do serviço no seu Hub IoT. O aplicativo faz chamadas de método direto para um dispositivo pelo hub IoT e escuta as confirmações. Um aplicativo de serviço do Hub IoT normalmente é executado na nuvem.

  1. Em outra janela do terminal local, navegue até a pasta raiz do SDK. Em seguida, navegue até a pasta iothub\service\samples\getting started\InvokeDeviceMethod .

  2. Na janela do terminal local, execute os seguintes comandos para instalar as bibliotecas necessárias para o aplicativo de serviço:

    dotnet build
    
  3. Na janela do terminal local, execute os comandos a seguir para compilar e executar o aplicativo de serviço.

    {ServiceConnectionString}: substitua o valor do espaço reservado pela cadeia de conexão do serviço do hub IoT que você copiou anteriormente.

    {DeviceName}: substitua esse espaço reservado pelo nome do dispositivo que você registrou.

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

    A captura de tela a seguir mostra a saída à medida que o aplicativo faz uma chamada de método direto para o dispositivo e recebe uma confirmação:

    Captura de tela de uma janela de terminal que mostra o resultado da chamada de método direto do aplicativo de serviço.

    Depois de executar o aplicativo de serviço, você verá uma mensagem na janela do terminal local executando o dispositivo simulado e a taxa na qual ele envia alterações de mensagens:

    Captura de tela de uma janela de terminal que mostra o resultado da mensagem direta e a saída atualizada do aplicativo de dispositivo simulado.

Este início rápido usa dois aplicativos Java:

  • Um aplicativo de dispositivo simulado que responde a métodos diretos acionados por um aplicativo de back-end.
  • Um aplicativo de serviço que chama o método direto no dispositivo simulado.

Pré-requisitos

Observação

Este artigo usa a versão mais recente da extensão de IoT do Azure, chamada azure-iot. A versão herdada é chamada azure-cli-iot-ext. Você deve ter apenas uma versão instalada por vez. Use o comando az extension list para validar quais extensões estão instaladas.

Use az extension remove --name azure-cli-iot-ext para remover a versão herdada da extensão.

Use az extension add --name azure-iot para adicionar a nova versão da extensão.

Para ver quais extensões estão instaladas no momento, use az extension list.

Crie um hub IoT

Nesta seção, você usa a CLI do Azure para criar um hub IoT e um grupo de recursos. Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. Um hub IoT atua como um hub central de mensagens para comunicação bidirecional entre o aplicativo IoT e os dispositivos.

Se você já tiver um hub IoT em sua assinatura do Azure, ignore esta seção.

Para criar um hub IoT e um grupo de recursos:

  1. Inicie o aplicativo da CLI. Para executar os comandos da CLI no restante deste artigo, copie a sintaxe do comando, cole-a no aplicativo da CLI, edite os valores de variáveis e pressione Enter.

    • Se estiver usando o Cloud Shell, selecione o botão Experimentar nos comandos da CLI para iniciar o Cloud Shell em uma janela dividida do navegador. Ou você pode abrir o Cloud Shell em uma guia separada do navegador.
    • Se estiver usando a CLI do Azure localmente, inicie o aplicativo de console da CLI e faça logon na CLI do Azure.
  2. Execute az extension add para instalar ou atualizar a extensão azure-iot para a versão atual.

    az extension add --upgrade --name azure-iot
    
  3. No aplicativo da CLI, execute o comando az group create para criar um grupo de recursos. O comando a seguir cria um grupo de recursos chamado MyResourceGroup na localização eastus.

    Observação

    Opcionalmente, você pode definir um local diferente. Para ver os locais disponíveis, execute az account list-locations. Este início rápido usa eastus, conforme mostrado no comando de exemplo.

    az group create --name MyResourceGroup --___location eastus
    
  4. Execute o comando az iot hub create para criar um Hub IoT. Pode levar alguns minutos para criar um Hub IoT.

    YourIoTHubName. Substitua esse espaço reservado e as chaves ao redor no comando a seguir, usando o nome escolhido para o hub IoT. Um nome de Hub IoT deve ser exclusivo globalmente no Azure. Use o nome do seu hub IoT no restante deste guia de início rápido, sempre que vir o espaço reservado.

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

Registrar um dispositivo

Um dispositivo deve ser registrado no hub IoT antes de poder se conectar. Nesta seção, você usará a CLI do Azure para criar uma identidade do dispositivo.

Se você já tiver um dispositivo registrado em seu hub IoT, poderá ignorar essa seção.

Para criar uma identidade do dispositivo:

  1. Execute o comando az iot hub device-identity create no seu shell de linha de comando. Esse comando cria a identidade do dispositivo.

    YourIoTHubName. Substitua esse espaço reservado e as chaves ao redor no comando a seguir, usando o nome que você escolheu para o hub IoT. Um nome de Hub IoT deve ser exclusivo globalmente no Azure.

    myDevice. Você pode usar esse nome para a identidade do dispositivo ao longo deste artigo ou fornecer um nome de dispositivo diferente.

    az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
    
  2. Execute o comando mostrar az iot hub device-identity connection-string.

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

    A saída da cadeia de conexão está no seguinte formato:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Salve a cadeia de conexão em uma localização segura.

Observação

Mantenha seu aplicativo da CLI aberto. Você vai usá-lo em etapas posteriores.

Recuperar a cadeia de conexão de serviço

Você também precisa de uma cadeia de conexão de serviço para habilitar o aplicativo de back-end para se conectar ao hub IoT e recuperar as mensagens. O comando a seguir recupera a cadeia de conexão de serviço para o hub IoT:

YourIoTHubName: substitua esse espaço reservado no comando a seguir pelo nome escolhido para o hub IoT.

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

Anote cadeia de conexão de serviço, que se parece com:

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

Você usará esse valor posteriormente no início rápido. Essa cadeia de conexão de serviço é diferente da cadeia de conexão do dispositivo que você anotou na etapa anterior.

Simular um dispositivo

O aplicativo de dispositivo simulado se conecta a um ponto de extremidade específico do dispositivo no seu hub IoT, envia telemetria simulada e escuta chamadas de método direto do seu hub. Neste início rápido, a chamada de método direto do hub informa ao dispositivo para alterar o intervalo de envio da telemetria. O dispositivo simulado envia uma confirmação de volta ao hub depois de executar o método direto.

  1. Em uma janela do terminal local, navegue até a pasta raiz do projeto Java de exemplo. Em seguida, navegue até a pasta iot-hub\Quickstarts\simulated-device-2 .

  2. Abra o arquivo src/main/java/com/microsoft/docs/iothub/samples/SimulatedDevice.java em um editor de texto de sua escolha.

    Substitua o valor da connString variável pela cadeia de conexão do dispositivo que você anotou anteriormente. Em seguida, salve suas alterações em SimulatedDevice.java.

  3. Na janela do terminal local, execute os seguintes comandos para instalar as bibliotecas necessárias e criar o aplicativo de dispositivo simulado:

    mvn clean package
    
  4. Na janela do terminal local, execute os seguintes comandos para executar o aplicativo de dispositivo simulado:

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

    A captura de tela a seguir mostra o resultado à medida que o aplicativo de dispositivo simulado envia telemetria para o seu hub IoT:

    Captura de tela de uma janela de terminal que mostra a saída do aplicativo de dispositivo simulado.

Chamar o método direto

O aplicativo de back-end se conecta a um ponto de extremidade do lado do serviço no seu Hub IoT. O aplicativo faz chamadas de método direto para um dispositivo pelo hub IoT e escuta as confirmações. Um aplicativo de back-end do Hub IoT normalmente é executado na nuvem.

  1. Em outra janela do terminal local, navegue até a pasta raiz do projeto Java de exemplo. Em seguida, navegue até a pasta iot-hub\Quickstarts\back-end-application .

  2. Abra o arquivo src/main/java/com/microsoft/docs/iothub/samples/BackEndApplication.java em um editor de texto de sua escolha.

    Substitua o valor da iotHubConnectionString variável pela cadeia de conexão de serviço que você anotou anteriormente. Em seguida, salve suas alterações em BackEndApplication.java.

  3. Na janela do terminal local, execute os seguintes comandos para instalar as bibliotecas necessárias e compilar o aplicativo de back-end:

    mvn clean package
    
  4. Na janela do terminal local, execute os seguintes comandos para executar o aplicativo de back-end:

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

    A captura de tela a seguir mostra a saída à medida que o aplicativo faz uma chamada de método direto para o dispositivo e recebe uma confirmação:

    Captura de tela de uma janela de terminal que mostra o resultado da chamada de método direto do aplicativo de serviço.

    Depois de executar o aplicativo de back-end, você verá uma mensagem na janela do terminal local executando o dispositivo simulado e a taxa em que ele envia mensagens é alterada.

    Captura de tela de uma janela de terminal que mostra o resultado da mensagem direta e a saída atualizada do aplicativo de dispositivo simulado.

Esse início rápido usa dois aplicativos Node.js:

  • Um aplicativo de dispositivo simulado que responde a métodos diretos invocados por um aplicativo back-end. Para receber as chamadas de método direto, esse aplicativo se conecta a um ponto de extremidade específico do dispositivo no seu hub IoT.
  • Um aplicativo de back-end que chama os métodos diretos no dispositivo simulado. Para chamar um método direto em um dispositivo, esse aplicativo se conecta a um ponto de extremidade específico do serviço no hub IoT.

Pré-requisitos

Observação

Este artigo usa a versão mais recente da extensão de IoT do Azure, chamada azure-iot. A versão herdada é chamada azure-cli-iot-ext. Você deve ter apenas uma versão instalada por vez. Use o comando az extension list para validar quais extensões estão instaladas.

Use az extension remove --name azure-cli-iot-ext para remover a versão herdada da extensão.

Use az extension add --name azure-iot para adicionar a nova versão da extensão.

Para ver quais extensões estão instaladas no momento, use az extension list.

Crie um hub IoT

Nesta seção, você usa a CLI do Azure para criar um hub IoT e um grupo de recursos. Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. Um hub IoT atua como um hub central de mensagens para comunicação bidirecional entre o aplicativo IoT e os dispositivos.

Se você já tiver um hub IoT em sua assinatura do Azure, ignore esta seção.

Para criar um hub IoT e um grupo de recursos:

  1. Inicie o aplicativo da CLI. Para executar os comandos da CLI no restante deste artigo, copie a sintaxe do comando, cole-a no aplicativo da CLI, edite os valores de variáveis e pressione Enter.

    • Se estiver usando o Cloud Shell, selecione o botão Experimentar nos comandos da CLI para iniciar o Cloud Shell em uma janela dividida do navegador. Ou você pode abrir o Cloud Shell em uma guia separada do navegador.
    • Se estiver usando a CLI do Azure localmente, inicie o aplicativo de console da CLI e faça logon na CLI do Azure.
  2. Execute az extension add para instalar ou atualizar a extensão azure-iot para a versão atual.

    az extension add --upgrade --name azure-iot
    
  3. No aplicativo da CLI, execute o comando az group create para criar um grupo de recursos. O comando a seguir cria um grupo de recursos chamado MyResourceGroup na localização eastus.

    Observação

    Opcionalmente, você pode definir um local diferente. Para ver os locais disponíveis, execute az account list-locations. Este início rápido usa eastus, conforme mostrado no comando de exemplo.

    az group create --name MyResourceGroup --___location eastus
    
  4. Execute o comando az iot hub create para criar um Hub IoT. Pode levar alguns minutos para criar um Hub IoT.

    YourIoTHubName. Substitua esse espaço reservado e as chaves ao redor no comando a seguir, usando o nome escolhido para o hub IoT. Um nome de Hub IoT deve ser exclusivo globalmente no Azure. Use o nome do hub IoT no restante deste guia de início rápido, sempre que ver o espaço reservado.

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

Registrar um dispositivo

Um dispositivo deve ser registrado no hub IoT antes de poder se conectar. Nesta seção, você usará a CLI do Azure para criar uma identidade do dispositivo.

Se você já tiver um dispositivo registrado em seu hub IoT, poderá ignorar essa seção.

Para criar uma identidade do dispositivo:

  1. Execute o comando criar az iot hub device-identity no seu shell da CLI. Esse comando cria a identidade do dispositivo.

    YourIoTHubName. Substitua esse espaço reservado e as chaves ao redor no comando a seguir, usando o nome que você escolheu para o hub IoT. Um nome de Hub IoT deve ser exclusivo globalmente no Azure.

    myDevice. Você pode usar esse nome para a identidade do dispositivo ao longo deste artigo ou fornecer um nome de dispositivo diferente.

    az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
    
  2. Execute o comando mostrar az iot hub device-identity connection-string.

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

    A saída da cadeia de conexão está no seguinte formato:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Salve a cadeia de conexão em uma localização segura.

Observação

Mantenha seu aplicativo da CLI aberto. Use-o em etapas posteriores.

Recuperar a cadeia de conexão de serviço

Você também precisa de uma cadeia de conexão de serviço do seu hub IoT para permitir que aplicativos de back-end se conectem ao hub IoT e recuperem mensagens. O comando a seguir recupera a cadeia de conexão de serviço para o hub IoT:

YourIoTHubName: substitua esse espaço reservado no comando a seguir pelo nome escolhido para o hub IoT.

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

Anote cadeia de conexão de serviço, que se parece com:

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

Você usará esse valor posteriormente no início rápido. Essa cadeia de conexão de serviço é diferente da cadeia de conexão do dispositivo que você anotou na etapa anterior.

Simular um dispositivo

O aplicativo de dispositivo simulado se conecta a um ponto de extremidade específico do dispositivo no seu hub IoT, envia telemetria simulada e escuta chamadas de método direto do seu hub. Neste início rápido, a chamada de método direto do hub informa ao dispositivo para alterar o intervalo de envio da telemetria. O dispositivo simulado envia uma confirmação de volta ao hub depois de executar o método direto.

  1. Em uma janela do terminal local, navegue até a pasta raiz do projeto de Node.js de exemplo. Em seguida, navegue até a pasta iot-hub\Quickstarts\simulated-device-2 .

  2. Abra o arquivo SimulatedDevice.js em um editor de texto de sua escolha.

    Substitua o valor da connectionString variável pela cadeia de conexão do dispositivo que você anotou anteriormente. Em seguida, salve suas alterações emSimulatedDevice.js.

  3. Na janela do terminal local, execute os seguintes comandos para instalar as bibliotecas necessárias e executar o aplicativo de dispositivo simulado:

    npm install
    node SimulatedDevice.js
    

    A captura de tela a seguir mostra o resultado à medida que o aplicativo de dispositivo simulado envia telemetria para o seu hub IoT:

    Captura de tela de uma janela de terminal que mostra a saída do aplicativo de dispositivo simulado.

Chamar o método direto

O aplicativo de back-end se conecta a um ponto de extremidade do lado do serviço em seu hub IoT. O aplicativo faz chamadas de método direto para um dispositivo pelo hub IoT e escuta as confirmações. Um aplicativo de back-end do Hub IoT normalmente é executado na nuvem.

  1. Em outra janela do terminal local, navegue até a pasta raiz do projeto de Node.js de exemplo. Em seguida, navegue até a pasta iot-hub\Quickstarts\back-end-application .

  2. Abra o arquivo BackEndApplication.js em um editor de texto de sua escolha.

    Substitua o valor da connectionString variável pela cadeia de conexão de serviço que você anotou anteriormente. Em seguida, salve suas alterações emBackEndApplication.js.

  3. Na janela do terminal local, execute os seguintes comandos para instalar as bibliotecas necessárias e executar o aplicativo de back-end:

    npm install
    node BackEndApplication.js
    

    A captura de tela a seguir mostra a saída à medida que o aplicativo faz uma chamada de método direto para o dispositivo e recebe uma confirmação:

    Captura de tela de uma janela de terminal que mostra o resultado da chamada de método direto do aplicativo de serviço.

    Depois de executar o aplicativo de back-end, você verá uma mensagem na janela do terminal local executando o dispositivo simulado, e a taxa em que ele envia mensagens muda:

    Captura de tela de uma janela de terminal que mostra o resultado da mensagem direta e a saída atualizada do aplicativo de dispositivo simulado.

Este início rápido usa dois aplicativos Python:

  • Um aplicativo de dispositivo simulado que responde aos métodos diretos chamados de um aplicativo de back-end.
  • Um aplicativo de back-end que invoca métodos diretos no dispositivo simulado.

Pré-requisitos

Observação

Este artigo usa a versão mais recente da extensão de IoT do Azure, chamada azure-iot. A versão herdada é chamada azure-cli-iot-ext. Você deve ter apenas uma versão instalada por vez. Use o comando az extension list para validar quais extensões estão instaladas.

Use az extension remove --name azure-cli-iot-ext para remover a versão herdada da extensão.

Use az extension add --name azure-iot para adicionar a nova versão da extensão.

Para ver quais extensões estão instaladas no momento, use az extension list.

Crie um hub IoT

Nesta seção, você usa a CLI do Azure para criar um hub IoT e um grupo de recursos. Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. Um hub IoT atua como um hub central de mensagens para comunicação bidirecional entre o aplicativo IoT e os dispositivos.

Se você já tiver um hub IoT em sua assinatura do Azure, ignore esta seção.

Para criar um hub IoT e um grupo de recursos:

  1. Inicie o aplicativo da CLI. Para executar os comandos da CLI no restante deste artigo, copie a sintaxe do comando, cole-a no aplicativo da CLI, edite os valores de variáveis e pressione Enter.

    • Se estiver usando o Cloud Shell, selecione o botão Experimentar nos comandos da CLI para iniciar o Cloud Shell em uma janela dividida do navegador. Ou você pode abrir o Cloud Shell em uma guia separada do navegador.
    • Se estiver usando a CLI do Azure localmente, inicie o aplicativo de console da CLI e faça logon na CLI do Azure.
  2. Execute az extension add para instalar ou atualizar a extensão azure-iot para a versão atual.

    az extension add --upgrade --name azure-iot
    
  3. No aplicativo da CLI, execute o comando az group create para criar um grupo de recursos. O comando a seguir cria um grupo de recursos chamado MyResourceGroup na localização eastus.

    Observação

    Opcionalmente, você pode definir um local diferente. Para ver os locais disponíveis, execute az account list-locations. Este início rápido usa eastus, conforme mostrado no comando de exemplo.

    az group create --name MyResourceGroup --___location eastus
    
  4. Execute o comando az iot hub create para criar um Hub IoT. Pode levar alguns minutos para criar um Hub IoT.

    YourIoTHubName. Substitua esse espaço reservado e as chaves ao redor no comando a seguir, usando o nome escolhido para o hub IoT. Um nome de Hub IoT deve ser exclusivo globalmente no Azure. Use o nome do hub IoT no restante deste guia de início rápido, sempre que ver o espaço reservado.

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

Registrar um dispositivo

Um dispositivo deve ser registrado no hub IoT antes de poder se conectar. Nesta seção, você usará a CLI do Azure para criar uma identidade do dispositivo.

Se você já tiver um dispositivo registrado em seu hub IoT, poderá ignorar essa seção.

Para criar uma identidade do dispositivo:

  1. Execute o comando criar az iot hub device-identity no seu shell da CLI. Esse comando cria a identidade do dispositivo.

    YourIoTHubName. Substitua esse espaço reservado e as chaves ao redor no comando a seguir, usando o nome que você escolheu para o hub IoT. Um nome de Hub IoT deve ser exclusivo globalmente no Azure.

    myDevice. Você pode usar esse nome para a identidade do dispositivo ao longo deste artigo ou fornecer um nome de dispositivo diferente.

    az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
    
  2. Execute o comando mostrar az iot hub device-identity connection-string.

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

    A saída da cadeia de conexão está no seguinte formato:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Salve a cadeia de conexão em uma localização segura.

Observação

Mantenha seu aplicativo da CLI aberto. Use-o em etapas posteriores.

Recupere a string de conexão do serviço

Você também precisa de uma cadeia de conexão de serviço para habilitar o aplicativo de back-end para se conectar ao hub IoT e recuperar as mensagens. O comando a seguir recupera a cadeia de conexão de serviço para o hub IoT:

YourIoTHubName: substitua esse espaço reservado no comando a seguir pelo nome escolhido para o hub IoT.

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

Anote cadeia de conexão de serviço, que se parece com:

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

Você usará esse valor posteriormente no início rápido. Essa cadeia de conexão de serviço é diferente da cadeia de conexão do dispositivo que você anotou na etapa anterior.

Simular um dispositivo

O aplicativo de dispositivo simulado se conecta a um ponto de extremidade específico do dispositivo no seu hub IoT, envia telemetria simulada e escuta chamadas de método direto do seu hub. Neste início rápido, a chamada de método direto do hub informa ao dispositivo para alterar o intervalo de envio da telemetria. O dispositivo simulado envia uma confirmação de volta ao hub depois de executar o método direto.

  1. Em uma janela de terminal local, navegue até a pasta raiz do projeto python de exemplo. Em seguida, navegue até a pasta iot-hub\Quickstarts\simulated-device-2 .

  2. Abra o arquivo SimulatedDeviceSync.py em um editor de texto de sua escolha.

    Substitua o valor da CONNECTION_STRING variável pela cadeia de conexão do dispositivo que você anotou anteriormente. Em seguida, salve suas alterações em SimulatedDeviceSync.py.

  3. Na janela do terminal local, execute os seguintes comandos para instalar as bibliotecas necessárias para o aplicativo de dispositivo simulado:

    pip install azure-iot-device
    
  4. Na janela do terminal local, execute os seguintes comandos para executar o aplicativo de dispositivo simulado:

    python SimulatedDeviceSync.py
    

    A captura de tela a seguir mostra o resultado à medida que o aplicativo de dispositivo simulado envia telemetria para o seu hub IoT:

    Captura de tela de uma janela de terminal que mostra a saída do aplicativo de dispositivo simulado.

Chamar o método direto

O aplicativo de back-end se conecta a um ponto de extremidade do lado do serviço no seu Hub IoT. O aplicativo faz chamadas de método direto para um dispositivo pelo hub IoT e escuta as confirmações. Um aplicativo de back-end do Hub IoT normalmente é executado na nuvem.

  1. Em outra janela do terminal local, navegue até a pasta raiz do projeto python de exemplo. Em seguida, navegue até a pasta iot-hub\Quickstarts\back-end-application .

  2. Abra o arquivo BackEndApplication.py em um editor de texto de sua escolha.

    Substitua o valor da CONNECTION_STRING variável pela cadeia de conexão de serviço que você anotou anteriormente. Em seguida, salve suas alterações em BackEndApplication.py.

  3. Na janela do terminal local, execute os seguintes comandos para instalar as bibliotecas necessárias para o aplicativo de dispositivo simulado:

    pip install azure-iot-hub
    
  4. Na janela do terminal local, execute os seguintes comandos para executar o aplicativo de back-end:

    python BackEndApplication.py
    

    A captura de tela a seguir mostra a saída à medida que o aplicativo faz uma chamada de método direto para o dispositivo e recebe uma confirmação:

    Captura de tela de uma janela de terminal que mostra o resultado da chamada de método direto do aplicativo de serviço.

    Depois de executar o aplicativo de back-end, você verá uma mensagem na janela do console sobre o dispositivo simulado, e a taxa em que ele envia mensagens mudará.

    Captura de tela de uma janela de terminal que mostra o resultado da mensagem direta e a saída atualizada do aplicativo de dispositivo simulado.

Limpar os recursos

Se você continuar para o próximo artigo recomendado, poderá manter os recursos que já criou e reutilizá-los.

Caso contrário, você poderá excluir os recursos do Azure criados neste artigo para evitar encargos.

Importante

A exclusão de um grupo de recursos é irreversível. O grupo de recursos e todos os recursos contidos nele são excluídos permanentemente. Certifique-se de não excluir acidentalmente o grupo de recursos ou os recursos errados. Se você criou o hub IoT dentro de um grupo de recursos existente que contém recursos que deseja manter, exclua apenas o recurso do Hub IoT em vez de excluir o grupo de recursos.

Para excluir um grupo de recursos por nome:

  1. Entre no portal do Azure e selecione Grupos de recursos.

  2. Na caixa de texto Filtrar para qualquer campo , digite o nome do grupo de recursos que contém o hub IoT.

  3. Na lista de resultados, selecione o grupo de recursos que contém o hub IoT.

  4. No painel de trabalho do grupo de recursos, selecione Excluir grupo de recursos na barra de comandos.

    Captura de tela que mostra o painel de trabalho de um grupo de recursos no portal do Azure, com o comando Excluir grupo de recursos realçado na barra de comandos.

  5. Você receberá uma solicitação para confirmar a exclusão do grupo de recursos. Digite o nome do grupo de recursos novamente para confirmar e selecione Excluir. Após alguns instantes, o grupo de recursos, e todos os recursos contidos nele, serão excluídos.

Próximas etapas

Neste início rápido, você já chamou um método direto em um dispositivo de um aplicativo de serviço e respondeu à chamada de método direto em um aplicativo de dispositivo simulado.

Para saber como rotear mensagens do dispositivo para a nuvem para destinos diferentes na nuvem, prossiga para o próximo tutorial.