Compartilhar via


Tutorial: Enviar telemetria de um dispositivo IoT Plug and Play para o Hub IoT do Azure

Procurar código

Neste início rápido, você aprenderá um fluxo de trabalho básico de desenvolvimento de aplicativos IoT do Azure. Use a CLI do Azure e o IoT Explorer para criar um hub IoT do Azure e um dispositivo. Em seguida, você usa um exemplo de SDK do dispositivo IoT do Azure para executar um controlador de temperatura, conectá-lo com segurança ao hub e enviar telemetria. O aplicativo de exemplo do controlador de temperatura é executado no computador local e gera dados simulados do sensor para enviar ao Hub IoT.

Pré-requisitos

Este início rápido é executado no Windows, Linux e Raspberry Pi. Ele foi testado nas seguintes versões do sistema operacional e do dispositivo:

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) versão 10, em execução em um Raspberry Pi 3 Modelo B+

Instale os seguintes pré-requisitos em seu computador de desenvolvimento, exceto quando indicado para Raspberry Pi:

  • Se você não tiver uma assinatura do Azure, crie uma gratuitamente antes de começar.
  • Git.
  • Azure IoT Explorer: utilitário baseado em GUI e multiplataforma para monitorar e gerenciar a IoT do Azure. Se você estiver usando o Raspberry Pi como sua plataforma de desenvolvimento, recomendamos que você instale o IoT Explorer em outro computador. Se você não quiser instalar o IoT Explorer, poderá usar a CLI do Azure para executar as mesmas etapas.
  • CLI do Azure. Você tem duas opções para executar comandos da CLI do Azure neste início rápido:
    • Usar o Azure Cloud Shell, um shell interativo que executa comandos da CLI no navegador. Essa opção é recomendada porque não é preciso instalar nada. Se estiver usando o Cloud Shell pela primeira vez, faça logon no portal do Azure. Siga as etapas em Introdução ao Azure Cloud Shell para iniciar o Cloud Shell e selecionar o ambiente bash.
    • Opcionalmente, execute a CLI do Azure no computador local. Se a CLI do Azure já estiver instalada, execute az upgrade para atualizar a CLI e as extensões para a versão atual. Para instalar a CLI do Azure, consulte Instalar a CLI do Azure. Se você estiver usando o Raspberry Pi como sua plataforma de desenvolvimento, recomendamos usar o Azure Cloud Shell ou instalar a CLI do Azure em outro computador.

Instale os pré-requisitos restantes para seu sistema operacional.

Sistema operacional Linux ou Raspberry Pi

Para concluir este início rápido no sistema operacional Linux ou Raspberry Pi, instale o seguinte software:

Instale GCC, Git, CMake e as dependências necessárias usando o apt-get comando:

sudo apt-get update
sudo apt-get install -y git cmake build-essential curl libcurl4-openssl-dev libssl-dev uuid-dev

Verifique se a versão do CMake é 3.13 ou superior e se a versão do GCC é 4.4.7 ou superior.

cmake --version
gcc --version

Windows

Para concluir este início rápido no Windows, instale o Visual Studio 2022 e adicione os componentes necessários para o desenvolvimento em C e C++.

  1. Para novos usuários, instale o Visual Studio (Community, Professional ou Enterprise) 2022. Baixe a edição que você deseja instalar e inicie o instalador.

    Observação

    Para usuários existentes do Visual Studio 2022, selecione Windows Start, digite o Instalador do Visual Studio, execute o instalador e selecione Modificar.

  2. Na guia Cargas de Trabalho do instalador, selecione o Desenvolvimento para Área de Trabalho em C++.
  3. Execute o programa de instalação.

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 de mensagens central para comunicação bidirecional entre seu aplicativo IoT e dispositivos.

Para criar um hub IoT e um grupo de recursos:

  1. Iniciar a CLI do Azure:

    • 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 você estiver usando a CLI do Azure localmente, abra um console como Windows CMD, PowerShell ou Bash e entre na CLI do Azure.

    Para executar os comandos da CLI no restante deste início rápido: copie a sintaxe de comando, cole-a na janela do Cloud Shell ou no console da CLI, edite valores variáveis e pressione Enter.

  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. 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 alternativo. Para ver os locais disponíveis, execute az account list-locations. Este tutorial 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 vir o espaço reservado.

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

    Dica

    Depois de criar um hub IoT, você usará o Azure IoT Explorer para interagir com o hub IoT no restante deste início rápido. O IoT Explorer é um aplicativo de GUI que permite que você se conecte a um Hub IoT existente e adicione, gerencie e monitore dispositivos. Para saber mais, consulte Instalar e usar o Azure IoT Explorer. Opcionalmente, você pode continuar a usar comandos da CLI.

Configurar o Explorer do IoT

No restante deste início rápido, você usa o IoT Explorer para registrar um dispositivo no hub IoT e exibir a telemetria do dispositivo. Nesta seção, você configurará o IoT Explorer para se conectar ao hub IoT criado e ler modelos plug-and-play do repositório de modelos públicos.

Observação

Você também pode usar a CLI do Azure para registrar um dispositivo. Use o az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} comando para registrar um novo dispositivo e o az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} comando para obter a cadeia de conexão primária para o dispositivo. Depois de anotar a cadeia de conexão do dispositivo, você poderá pular para Executar o dispositivo de exemplo.

Para adicionar uma conexão ao hub IoT:

  1. Execute o comando az iot hub connection-string show para obter a cadeia de conexão para o hub IoT.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. Copie a cadeia de conexão sem os caracteres de aspas.

  3. No Azure IoT Explorer, selecione hubs IoT no menu à esquerda e, em seguida, selecione + Adicionar conexão.

  4. Cole a cadeia de conexão copiada no campo Cadeia de conexão.

  5. Clique em Salvar.

    Captura de tela da adição de uma conexão no IoT Explorer

  6. Se a conexão for bem-sucedida, o Explorer do IoT muda para a exibição de Dispositivos.

Exiba as configurações do repositório de modelo público:

  1. No Explorer do IoT, selecione Página Inicial para retornar à exibição da página inicial.

  2. No menu à esquerda, selecione Configurações do IoT Plug and Play.

  3. Você pode ver que existe uma entrada para o repositório de modelos públicos em https://devicemodels.azure.com.

    Captura de tela da adição do repositório de modelos públicos no IoT Explorer

Registrar um dispositivo

Nesta seção, você criará uma nova instância de dispositivo e a registrará no hub IoT criado. Use as informações de conexão para o dispositivo recém-registrado para conectar seu dispositivo com segurança em uma seção posterior.

Para registrar um dispositivo:

  1. Na exibição da página inicial no Explorer do IoT, selecione hubs IoT.

  2. A conexão que você adicionou anteriormente será exibida. Selecione Exibir dispositivos neste hub abaixo das propriedades de conexão.

  3. Selecione + Novo e insira uma ID do dispositivo para seu dispositivo; por exemplo, mydevice. Deixe todas as outras propriedades inalteradas.

  4. Selecione Criar.

    Captura de tela da identidade do dispositivo do Azure IoT Explorer

  5. Copie e anote o valor no campo Cadeia de conexão primária . Você precisará dessa cadeia de conexão mais tarde.

Executar o exemplo de dispositivo

Nesta seção, você usará o SDK do C para enviar mensagens de um dispositivo para o hub IoT. Você executa um exemplo que implementa um controlador de temperatura com dois sensores de termostato.

Compilar o exemplo

  1. Abra um novo console para instalar o SDK do dispositivo do Azure IoT C e execute o exemplo de código. Para Windows, selecione Iniciar, digite Prompt de Comando do Desenvolvedor para o VS 2019 e abra o console. Para o sistema operacional Linux e Raspberry Pi, abra um terminal para comandos Bash.

    Observação

    Se você estiver usando uma instalação local da CLI do Azure, poderá ter duas janelas de console abertas. Insira os comandos nesta seção no console que você acabou de abrir, não aquele que você está usando para a CLI.

  2. Navegue até uma pasta local em que você deseja clonar o repositório de exemplo.

  3. Clone o SDK do dispositivo IoT C do Azure no computador local:

    git clone https://github.com/Azure/azure-iot-sdk-c.git
    
  4. Navegue até a pasta raiz do SDK e execute o seguinte comando para atualizar as dependências:

    cd azure-iot-sdk-c
    git submodule update --init
    

    Esta operação leva alguns minutos.

  5. Para criar o SDK e os exemplos, execute os seguintes comandos:

    cmake -Bcmake -Duse_prov_client=ON -Dhsm_type_symm_key=ON -Drun_e2e_tests=OFF
    cmake --build cmake
    
  6. Defina as variáveis de ambiente a seguir para permitir que seu dispositivo se conecte ao Azure IoT.

    • Definir uma variável de ambiente chamada IOTHUB_DEVICE_CONNECTION_STRING. Para o valor da variável, use a cadeia de conexão do dispositivo salva na seção anterior.
    • Definir uma variável de ambiente chamada IOTHUB_DEVICE_SECURITY_TYPE. Para a variável, use o valor literal da cadeia de caracteres connectionString.

    CMD

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    Observação

    Para o WINDOWS CMD, não há aspas em torno dos valores de cadeia de caracteres para cada variável.

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    

Executar o código

  1. Execute o código de exemplo usando o comando apropriado para o console.

    CMD

    cmake\iothub_client\samples\pnp\pnp_temperature_controller\Debug\pnp_temperature_controller.exe
    

    Bash

    cmake/iothub_client/samples/pnp/pnp_temperature_controller/pnp_temperature_controller
    

    Observação

    Este exemplo de código usa o Azure IoT Plug and Play, que permite integrar dispositivos inteligentes às suas soluções sem nenhuma configuração manual. Por padrão, a maioria dos exemplos nesta documentação usa o IoT Plug and Play. Para saber mais sobre as vantagens do IoT PnP e os casos para usá-lo ou não, consulte o que é ioT Plug and Play?.

O exemplo se conecta com segurança ao hub IoT como o dispositivo registrado e começa a enviar mensagens de telemetria. A saída do exemplo é exibida no console.

Exibir telemetria

Você pode exibir a telemetria do dispositivo com o IoT Explorer. Opcionalmente, você pode exibir a telemetria usando a CLI do Azure.

Para exibir a telemetria no Explorer da Internet das Coisas do Azure:

  1. No hub Iot no IoT Explorer, selecione Exibir dispositivos neste hub e selecione seu dispositivo na lista.

  2. No menu à esquerda do dispositivo, selecione Telemetria.

  3. Confirme se Usar o hub de eventos interno está definido como Sim e selecione Iniciar.

  4. Exiba a telemetria conforme o dispositivo envia mensagens à nuvem.

    Captura de tela da telemetria do dispositivo no IoT Explorer

  5. Selecione Parar para encerrar o recebimento de eventos.

Para ler a telemetria enviada por componentes de dispositivo individuais, você pode usar os recursos de plug-and-play no IoT Explorer. Por exemplo, o controlador de temperatura neste início rápido tem dois termostatos: termostato1 e termostato2. Para ver a temperatura relatada pelo termostato1:

  1. Em seu dispositivo no IoT Explorer, selecione componentes do IoT Plug and Play no menu à esquerda. Em seguida, selecione termostato1 na lista de componentes.

  2. No painel do componente termostato1, selecione Telemetria no menu superior.

  3. No painel Telemetria , siga as mesmas etapas que você fez anteriormente. Verifique se Usar o hub de eventos interno está definido como Sim e selecione Iniciar.

Para exibir a telemetria do dispositivo com a CLI do Azure:

  1. Execute o comando az iot hub monitor-events para monitorar eventos enviados do dispositivo para o hub IoT. Use os nomes criados anteriormente na Internet das Coisas do Azure para seu dispositivo e o hub IoT.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Exiba os detalhes da conexão e a saída de telemetria no console.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: ''
      interface: dtmi:com:example:TemperatureController;1
      module: ''
      origin: mydevice
      payload: '{"workingSet":1251}'
    
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;1
      module: ''
      origin: mydevice
      payload: '{"temperature":22.00}'
    

Procurar código

Neste início rápido, você aprenderá um fluxo de trabalho básico de desenvolvimento de aplicativos IoT do Azure. Use a CLI do Azure e o IoT Explorer para criar um hub IoT do Azure e um dispositivo. Em seguida, você usa um exemplo de SDK do dispositivo IoT do Azure para executar um controlador de temperatura, conectá-lo com segurança ao hub e enviar telemetria. O aplicativo de exemplo do controlador de temperatura é executado no computador local e gera dados simulados do sensor para enviar ao Hub IoT.

Pré-requisitos

Este início rápido é executado no Windows, Linux e Raspberry Pi. Ele foi testado nas seguintes versões do sistema operacional e do dispositivo:

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) versão 10, em execução em um Raspberry Pi 3 Modelo B+

Instale os seguintes pré-requisitos em seu computador de desenvolvimento, exceto quando indicado para Raspberry Pi:

  • Se você não tiver uma assinatura do Azure, crie uma gratuitamente antes de começar.
  • Git.
  • SDK do .NET 6.0. Instale o SDK do .NET, não apenas o runtime. Para verificar a versão do SDK do .NET e do runtime instalados em seu computador, execute dotnet --info.
  • Azure IoT Explorer: utilitário baseado em GUI e multiplataforma para monitorar e gerenciar a IoT do Azure. Se você estiver usando o Raspberry Pi como sua plataforma de desenvolvimento, recomendamos que você instale o IoT Explorer em outro computador. Se você não quiser instalar o IoT Explorer, poderá usar a CLI do Azure para executar as mesmas etapas.
  • CLI do Azure. Você tem duas opções para executar comandos da CLI do Azure neste início rápido:
    • Usar o Azure Cloud Shell, um shell interativo que executa comandos da CLI no navegador. Essa opção é recomendada porque não é preciso instalar nada. Se estiver usando o Cloud Shell pela primeira vez, faça logon no portal do Azure. Siga as etapas em Introdução ao Azure Cloud Shell para iniciar o Cloud Shell e selecionar o ambiente bash.
    • Opcionalmente, execute a CLI do Azure no computador local. Se a CLI do Azure já estiver instalada, execute az upgrade para atualizar a CLI e as extensões para a versão atual. Para instalar a CLI do Azure, consulte Instalar a CLI do Azure. Se você estiver usando o Raspberry Pi como sua plataforma de desenvolvimento, recomendamos usar o Azure Cloud Shell ou instalar a CLI do Azure em outro computador.

Importante

Você deve usar o SDK do .NET 6.0 para criar e executar o código de exemplo C# neste início rápido. O exemplo atualmente não funciona com versões posteriores do SDK.

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 de mensagens central para comunicação bidirecional entre seu aplicativo IoT e dispositivos.

Para criar um hub IoT e um grupo de recursos:

  1. Iniciar a CLI do Azure:

    • 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 você estiver usando a CLI do Azure localmente, abra um console como Windows CMD, PowerShell ou Bash e entre na CLI do Azure.

    Para executar os comandos da CLI no restante deste início rápido: copie a sintaxe de comando, cole-a na janela do Cloud Shell ou no console da CLI, edite valores variáveis e pressione Enter.

  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. 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 alternativo. Para ver os locais disponíveis, execute az account list-locations. Este tutorial 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 vir o espaço reservado.

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

    Dica

    Depois de criar um hub IoT, você usará o Azure IoT Explorer para interagir com o hub IoT no restante deste início rápido. O IoT Explorer é um aplicativo de GUI que permite que você se conecte a um Hub IoT existente e adicione, gerencie e monitore dispositivos. Para saber mais, consulte Instalar e usar o Azure IoT Explorer. Opcionalmente, você pode continuar a usar comandos da CLI.

Configurar o Explorer do IoT

No restante deste início rápido, você usa o IoT Explorer para registrar um dispositivo no hub IoT e exibir a telemetria do dispositivo. Nesta seção, você configurará o IoT Explorer para se conectar ao hub IoT criado e ler modelos plug-and-play do repositório de modelos públicos.

Observação

Você também pode usar a CLI do Azure para registrar um dispositivo. Use o az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} comando para registrar um novo dispositivo e o az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} comando para obter a cadeia de conexão primária para o dispositivo. Depois de anotar a cadeia de conexão do dispositivo, você poderá pular para Executar o dispositivo de exemplo.

Para adicionar uma conexão ao hub IoT:

  1. Execute o comando az iot hub connection-string show para obter a cadeia de conexão para o hub IoT.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. Copie a cadeia de conexão sem os caracteres de aspas.

  3. No Azure IoT Explorer, selecione hubs IoT no menu à esquerda e, em seguida, selecione + Adicionar conexão.

  4. Cole a cadeia de conexão copiada no campo Cadeia de conexão.

  5. Clique em Salvar.

    Captura de tela da adição de uma conexão no IoT Explorer

  6. Se a conexão for bem-sucedida, o Explorer do IoT muda para a exibição de Dispositivos.

Exiba as configurações do repositório de modelo público:

  1. No Explorer do IoT, selecione Página Inicial para retornar à exibição da página inicial.

  2. No menu à esquerda, selecione Configurações do IoT Plug and Play.

  3. Você pode ver que existe uma entrada para o repositório de modelos públicos em https://devicemodels.azure.com.

    Captura de tela da adição do repositório de modelos públicos no IoT Explorer

Registrar um dispositivo

Nesta seção, você criará uma nova instância de dispositivo e a registrará no hub IoT criado. Use as informações de conexão para o dispositivo recém-registrado para conectar seu dispositivo com segurança em uma seção posterior.

Para registrar um dispositivo:

  1. Na exibição da página inicial no Explorer do IoT, selecione hubs IoT.

  2. A conexão que você adicionou anteriormente será exibida. Selecione Exibir dispositivos neste hub abaixo das propriedades de conexão.

  3. Selecione + Novo e insira uma ID do dispositivo para seu dispositivo; por exemplo, mydevice. Deixe todas as outras propriedades inalteradas.

  4. Selecione Criar.

    Captura de tela da identidade do dispositivo do Azure IoT Explorer

  5. Copie e anote o valor no campo Cadeia de conexão primária . Você precisará dessa cadeia de conexão mais tarde.

Executar o exemplo de dispositivo

Nesta seção, você usará o SDK do C# para enviar mensagens de um dispositivo para o hub IoT. Você executará um exemplo que implementa um controlador de temperatura com dois sensores de termostato.

  1. Abra um novo console, como o Windows CMD, o PowerShell ou o Bash. Nas etapas a seguir, você usará este console para instalar o SDK do .NET e trabalhar com o código de exemplo C#.

    Observação

    Se você estiver usando uma instalação local da CLI do Azure, poderá ter duas janelas de console abertas. Insira os comandos nesta seção no console que você acabou de abrir, não aquele que você está usando para a CLI.

  2. Clone o SDK do IoT do Microsoft Azure para C# (.NET) no seu computador local:

    git clone https://github.com/Azure/azure-iot-sdk-csharp.git
    
  3. Navegue até o diretório de exemplo:

    Windows

    cd azure-iot-sdk-csharp\iothub\device\samples\solutions\PnpDeviceSamples\TemperatureController
    

    Sistema operacional Linux ou Raspberry Pi

    cd azure-iot-sdk-csharp/iothub/device/samples/solutions/PnpDeviceSamples/TemperatureController
    
  4. Instale o SDK do C# do IoT do Azure e as dependências necessárias:

    dotnet restore
    

    Esse comando instala as dependências adequadas conforme especificado no arquivo TemperatureController.csproj .

  5. Defina ambas as variáveis de ambiente a seguir para permitir que seu dispositivo se conecte ao Azure IoT.

    • Definir uma variável de ambiente chamada IOTHUB_DEVICE_CONNECTION_STRING. Para o valor da variável, use a cadeia de conexão do dispositivo salva na seção anterior.
    • Definir uma variável de ambiente chamada IOTHUB_DEVICE_SECURITY_TYPE. Para a variável, use o valor literal da cadeia de caracteres connectionString.

    CMD (Windows)

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    Observação

    Para o WINDOWS CMD, não há aspas em torno dos valores de cadeia de caracteres para cada variável.

    PowerShell

    $env:IOTHUB_DEVICE_CONNECTION_STRING='<your connection string here>'
    $env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'
    

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  6. Execute o exemplo de código:

    dotnet run
    

    Observação

    Este exemplo de código usa o Azure IoT Plug and Play, que permite integrar dispositivos inteligentes às suas soluções sem nenhuma configuração manual. Por padrão, a maioria dos exemplos nesta documentação usa o IoT Plug and Play. Para saber mais sobre as vantagens do IoT PnP e os casos para usá-lo ou não, consulte o que é ioT Plug and Play?.

O exemplo se conecta com segurança ao hub IoT como o dispositivo registrado e começa a enviar mensagens de telemetria. A saída do exemplo é exibida no console.

Exibir telemetria

Você pode exibir a telemetria do dispositivo com o IoT Explorer. Opcionalmente, você pode exibir a telemetria usando a CLI do Azure.

Para exibir a telemetria no Explorer da Internet das Coisas do Azure:

  1. No hub Iot no IoT Explorer, selecione Exibir dispositivos neste hub e selecione seu dispositivo na lista.

  2. No menu à esquerda do dispositivo, selecione Telemetria.

  3. Confirme se Usar o hub de eventos interno está definido como Sim e selecione Iniciar.

  4. Exiba a telemetria conforme o dispositivo envia mensagens à nuvem.

    Captura de tela da telemetria do dispositivo no IoT Explorer

  5. Selecione Parar para encerrar o recebimento de eventos.

Para ler a telemetria enviada por componentes de dispositivo individuais, você pode usar os recursos de plug-and-play no IoT Explorer. Por exemplo, o controlador de temperatura neste início rápido tem dois termostatos: termostato1 e termostato2. Para ver a temperatura relatada pelo termostato1:

  1. Em seu dispositivo no IoT Explorer, selecione componentes do IoT Plug and Play no menu à esquerda. Em seguida, selecione termostato1 na lista de componentes.

  2. No painel do componente termostato1, selecione Telemetria no menu superior.

  3. No painel Telemetria , siga as mesmas etapas que você fez anteriormente. Verifique se Usar o hub de eventos interno está definido como Sim e selecione Iniciar.

Para exibir a telemetria do dispositivo com a CLI do Azure:

  1. Execute o comando az iot hub monitor-events para monitorar eventos enviados do dispositivo para o hub IoT. Use os nomes criados anteriormente na Internet das Coisas do Azure para seu dispositivo e o hub IoT.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Exiba os detalhes da conexão e a saída de telemetria no console.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 39.8
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 36.7
    
  3. Selecione CTRL+C para encerrar o monitoramento.

Procurar código

Neste início rápido, você aprenderá um fluxo de trabalho básico de desenvolvimento de aplicativos IoT do Azure. Use a CLI do Azure e o IoT Explorer para criar um hub IoT do Azure e um dispositivo. Em seguida, você usa um exemplo de SDK do dispositivo IoT do Azure para executar um controlador de temperatura, conectá-lo com segurança ao hub e enviar telemetria. O aplicativo de exemplo do controlador de temperatura é executado no computador local e gera dados simulados do sensor para enviar ao Hub IoT.

Pré-requisitos

Este início rápido é executado no Windows, Linux e Raspberry Pi. Ele foi testado nas seguintes versões do sistema operacional e do dispositivo:

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) versão 10, em execução em um Raspberry Pi 3 Modelo B+

Instale os seguintes pré-requisitos em seu computador de desenvolvimento, exceto quando indicado para Raspberry Pi:

  • Se você não tiver uma assinatura do Azure, crie uma gratuitamente antes de começar.
  • Git.
  • Azure IoT Explorer: utilitário baseado em GUI e multiplataforma para monitorar e gerenciar a IoT do Azure. Se você estiver usando o Raspberry Pi como sua plataforma de desenvolvimento, recomendamos que você instale o IoT Explorer em outro computador. Se você não quiser instalar o IoT Explorer, poderá usar a CLI do Azure para executar as mesmas etapas.
  • CLI do Azure. Você tem duas opções para executar comandos da CLI do Azure neste início rápido:
    • Usar o Azure Cloud Shell, um shell interativo que executa comandos da CLI no navegador. Essa opção é recomendada porque não é preciso instalar nada. Se estiver usando o Cloud Shell pela primeira vez, faça logon no portal do Azure. Siga as etapas em Introdução ao Azure Cloud Shell para iniciar o Cloud Shell e selecionar o ambiente bash.
    • Opcionalmente, execute a CLI do Azure no computador local. Se a CLI do Azure já estiver instalada, execute az upgrade para atualizar a CLI e as extensões para a versão atual. Para instalar a CLI do Azure, consulte Instalar a CLI do Azure. Se você estiver usando o Raspberry Pi como sua plataforma de desenvolvimento, recomendamos usar o Azure Cloud Shell ou instalar a CLI do Azure em outro computador.

Instale os pré-requisitos restantes para seu sistema operacional.

Windows

Para concluir este início rápido no Windows, instale o seguinte software:

  • Java SE Development Kit 8 ou posterior. Você pode baixar o JDK do Java 8 (LTS) para várias plataformas a partir de Download Zulu Builds of OpenJDK. No instalador, selecione a opção Adicionar ao Caminho .

  • Apache Maven 3. Depois de extrair o download para uma pasta local, adicione o caminho completo à pasta Maven /bin à variável de ambiente do Windows PATH .

Sistema operacional Linux ou Raspberry Pi

Para concluir este início rápido no sistema operacional Linux ou Raspberry Pi, instale o seguinte software:

Observação

Passos nesta seção são baseados nas distribuições Linux Ubuntu/Debian. (O sistema operacional Raspberry Pi é baseado em Debian.) Se você estiver usando uma distribuição diferente do Linux, precisará modificar as etapas adequadamente.

  • OpenJDK (Open Java Development Kit) 8 ou posterior. Você pode usar o java -version comando para verificar a versão do Java instalada em seu sistema. Verifique se o JDK está instalado, não apenas o JRE (runtime do Java).

    1. Para instalar o OpenJDK para seu sistema, insira os seguintes comandos:

      Para instalar a versão padrão do OpenJDK para seu sistema (OpenJDK 11 para Ubuntu 20.04 e Raspberry Pi OS 10 no momento da gravação):

      sudo apt update
      sudo apt install default-jdk
      

      Como alternativa, você pode especificar uma versão do JDK a ser instalada. Por exemplo:

      sudo apt update
      sudo apt install openjdk-8-jdk
      
    2. Se o sistema tiver várias versões do Java instaladas, você poderá usar os comandos a seguir para configurar as versões padrão (automáticas) do Java e do compilador Java.

      update-java-alternatives --list          #list the Java versions installed
      sudo update-alternatives --config java   #set the default Java version
      sudo  update-alternatives --config javac #set the default Java compiler version
      
    3. Defina a JAVA_HOME variável de ambiente como o caminho da instalação do JDK. (Geralmente, esse é um subdiretório com versão no diretório /usr/lib/jvm .)

      export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
      

      Importante

      Esse comando define a JAVA_HOME variável em seu ambiente de shell atual. Recomendamos adicionar o comando ao arquivo ~/.bashrc ou ao arquivo /etc/profile para disponibilizá-lo sempre que você abrir um novo shell.

    4. Verifique a versão do JDK do Java (e JRE) instalada, se a versão do compilador Java corresponde à versão do JDK e se a variável de JAVA_HOME ambiente está definida corretamente.

      java -version
      javac -version
      echo $JAVA_HOME
      
  • Apache Maven 3. Você pode usar o mvn --version comando para verificar a versão do Maven instalada em seu sistema.

    1. Para instalar o Maven, insira os seguintes comandos:

      sudo apt-get update
      sudo apt-get install maven
      
    2. Insira o comando a seguir para verificar sua instalação.

      mvn --version
      

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 de mensagens central para comunicação bidirecional entre seu aplicativo IoT e dispositivos.

Para criar um hub IoT e um grupo de recursos:

  1. Iniciar a CLI do Azure:

    • 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 você estiver usando a CLI do Azure localmente, abra um console como Windows CMD, PowerShell ou Bash e entre na CLI do Azure.

    Para executar os comandos da CLI no restante deste início rápido: copie a sintaxe de comando, cole-a na janela do Cloud Shell ou no console da CLI, edite valores variáveis e pressione Enter.

  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. 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 alternativo. Para ver os locais disponíveis, execute az account list-locations. Este tutorial 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 vir o espaço reservado.

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

    Dica

    Depois de criar um hub IoT, você usará o Azure IoT Explorer para interagir com o hub IoT no restante deste início rápido. O IoT Explorer é um aplicativo de GUI que permite que você se conecte a um Hub IoT existente e adicione, gerencie e monitore dispositivos. Para saber mais, consulte Instalar e usar o Azure IoT Explorer. Opcionalmente, você pode continuar a usar comandos da CLI.

Configurar o Explorer do IoT

No restante deste início rápido, você usa o IoT Explorer para registrar um dispositivo no hub IoT e exibir a telemetria do dispositivo. Nesta seção, você configurará o IoT Explorer para se conectar ao hub IoT criado e ler modelos plug-and-play do repositório de modelos públicos.

Observação

Você também pode usar a CLI do Azure para registrar um dispositivo. Use o az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} comando para registrar um novo dispositivo e o az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} comando para obter a cadeia de conexão primária para o dispositivo. Depois de anotar a cadeia de conexão do dispositivo, você poderá pular para Executar o dispositivo de exemplo.

Para adicionar uma conexão ao hub IoT:

  1. Execute o comando az iot hub connection-string show para obter a cadeia de conexão para o hub IoT.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. Copie a cadeia de conexão sem os caracteres de aspas.

  3. No Azure IoT Explorer, selecione hubs IoT no menu à esquerda e, em seguida, selecione + Adicionar conexão.

  4. Cole a cadeia de conexão copiada no campo Cadeia de conexão.

  5. Clique em Salvar.

    Captura de tela da adição de uma conexão no IoT Explorer

  6. Se a conexão for bem-sucedida, o Explorer do IoT muda para a exibição de Dispositivos.

Exiba as configurações do repositório de modelo público:

  1. No Explorer do IoT, selecione Página Inicial para retornar à exibição da página inicial.

  2. No menu à esquerda, selecione Configurações do IoT Plug and Play.

  3. Você pode ver que existe uma entrada para o repositório de modelos públicos em https://devicemodels.azure.com.

    Captura de tela da adição do repositório de modelos públicos no IoT Explorer

Registrar um dispositivo

Nesta seção, você criará uma nova instância de dispositivo e a registrará no hub IoT criado. Use as informações de conexão para o dispositivo recém-registrado para conectar seu dispositivo com segurança em uma seção posterior.

Para registrar um dispositivo:

  1. Na exibição da página inicial no Explorer do IoT, selecione hubs IoT.

  2. A conexão que você adicionou anteriormente será exibida. Selecione Exibir dispositivos neste hub abaixo das propriedades de conexão.

  3. Selecione + Novo e insira uma ID do dispositivo para seu dispositivo; por exemplo, mydevice. Deixe todas as outras propriedades inalteradas.

  4. Selecione Criar.

    Captura de tela da identidade do dispositivo do Azure IoT Explorer

  5. Copie e anote o valor no campo Cadeia de conexão primária . Você precisará dessa cadeia de conexão mais tarde.

Executar o exemplo de dispositivo

Nesta seção, você usará o SDK do Java para enviar mensagens de um dispositivo para o hub IoT. Você executará um exemplo que implementa um controlador de temperatura com dois sensores de termostato.

  1. Abra um console para instalar o SDK do dispositivo Java IoT do Azure, compilar e executar o exemplo de código. Você usará este console nas etapas a seguir.

    Observação

    Se você estiver usando uma instalação local da CLI do Azure, poderá ter duas janelas de console abertas. Insira os comandos nesta seção no console que você acabou de abrir, não aquele que você está usando para a CLI.

    Sistema operacional Linux e Raspberry Pi

    Confirme se a variável de ambiente JAVA_HOME (echo $JAVA_HOME) está definida. Para obter informações sobre como definir JAVA_HOME, consulte os pré-requisitos do Linux/Raspberry Pi.

  2. Clone o SDK do dispositivo Java IoT do Azure no computador local:

    git clone https://github.com/Azure/azure-iot-sdk-java.git
    
  3. Navegue até a pasta raiz do SDK e execute o comando a seguir para criar o SDK e atualizar os exemplos.

    cd azure-iot-sdk-java
    mvn install -T 2C -DskipTests
    

    Esta operação leva vários minutos.

  4. Defina as variáveis de ambiente a seguir para permitir que seu dispositivo se conecte ao Azure IoT.

    • Definir uma variável de ambiente chamada IOTHUB_DEVICE_CONNECTION_STRING. Para o valor da variável, use a cadeia de conexão do dispositivo salva na seção anterior.
    • Definir uma variável de ambiente chamada IOTHUB_DEVICE_SECURITY_TYPE. Para a variável, use o valor literal da cadeia de caracteres connectionString.

    CMD

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    Observação

    Para o WINDOWS CMD, não há aspas em torno dos valores de cadeia de caracteres para cada variável.

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  5. Abra o diretório de exemplo.

    CMD

    cd device\iot-device-samples\pnp-device-sample\temperature-controller-device-sample
    

    Bash

    cd device/iot-device-samples/pnp-device-sample/temperature-controller-device-sample
    
  6. Execute o exemplo de código.

    java -jar -Dexec.mainClass="samples.com.microsoft.azure.sdk.iot.device.TemperatureController"
    

    Observação

    Este exemplo de código usa o Azure IoT Plug and Play, que permite integrar dispositivos inteligentes às suas soluções sem nenhuma configuração manual. Por padrão, a maioria dos exemplos nesta documentação usa o IoT Plug and Play. Para saber mais sobre as vantagens do IoT PnP e os casos para usá-lo ou não, consulte o que é ioT Plug and Play?.

O exemplo se conecta com segurança ao hub IoT como o dispositivo registrado e começa a enviar mensagens de telemetria. A saída do exemplo é exibida no console.

Exibir telemetria

Você pode exibir a telemetria do dispositivo com o IoT Explorer. Opcionalmente, você pode exibir a telemetria usando a CLI do Azure.

Para exibir a telemetria no Explorer da Internet das Coisas do Azure:

  1. No hub Iot no IoT Explorer, selecione Exibir dispositivos neste hub e selecione seu dispositivo na lista.

  2. No menu à esquerda do dispositivo, selecione Telemetria.

  3. Confirme se Usar o hub de eventos interno está definido como Sim e selecione Iniciar.

  4. Exiba a telemetria conforme o dispositivo envia mensagens à nuvem.

    Captura de tela da telemetria do dispositivo no IoT Explorer

  5. Selecione Parar para encerrar o recebimento de eventos.

Para ler a telemetria enviada por componentes de dispositivo individuais, você pode usar os recursos de plug-and-play no IoT Explorer. Por exemplo, o controlador de temperatura neste início rápido tem dois termostatos: termostato1 e termostato2. Para ver a temperatura relatada pelo termostato1:

  1. Em seu dispositivo no IoT Explorer, selecione componentes do IoT Plug and Play no menu à esquerda. Em seguida, selecione termostato1 na lista de componentes.

  2. No painel do componente termostato1, selecione Telemetria no menu superior.

  3. No painel Telemetria , siga as mesmas etapas que você fez anteriormente. Verifique se Usar o hub de eventos interno está definido como Sim e selecione Iniciar.

Para exibir a telemetria do dispositivo com a CLI do Azure:

  1. Execute o comando az iot hub monitor-events para monitorar eventos enviados do dispositivo para o hub IoT. Use os nomes criados anteriormente na Internet das Coisas do Azure para seu dispositivo e o hub IoT.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Exiba os detalhes da conexão e a saída de telemetria no console.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 24.1
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 33.3
    

Procurar código

Neste início rápido, você aprenderá um fluxo de trabalho básico de desenvolvimento de aplicativos IoT do Azure. Use a CLI do Azure e o IoT Explorer para criar um hub IoT do Azure e um dispositivo. Em seguida, você usa um exemplo de SDK do dispositivo IoT do Azure para executar um controlador de temperatura, conectá-lo com segurança ao hub e enviar telemetria. O aplicativo de exemplo do controlador de temperatura é executado no computador local e gera dados simulados do sensor para enviar ao Hub IoT.

Pré-requisitos

Este início rápido é executado no Windows, Linux e Raspberry Pi. Ele foi testado nas seguintes versões do sistema operacional e do dispositivo:

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) versão 10, em execução em um Raspberry Pi 3 Modelo B+

Instale os seguintes pré-requisitos em seu computador de desenvolvimento, exceto quando indicado para Raspberry Pi:

  • Se você não tiver uma assinatura do Azure, crie uma gratuitamente antes de começar.
  • Git.
  • Node.js versão 12 ou posterior. Para verificar sua versão do Node, execute node --version.
  • Azure IoT Explorer: utilitário baseado em GUI e multiplataforma para monitorar e gerenciar a IoT do Azure. Se você estiver usando o Raspberry Pi como sua plataforma de desenvolvimento, recomendamos que você instale o IoT Explorer em outro computador. Se você não quiser instalar o IoT Explorer, poderá usar a CLI do Azure para executar as mesmas etapas.
  • CLI do Azure. Você tem duas opções para executar comandos da CLI do Azure neste início rápido:
    • Usar o Azure Cloud Shell, um shell interativo que executa comandos da CLI no navegador. Essa opção é recomendada porque não é preciso instalar nada. Se estiver usando o Cloud Shell pela primeira vez, faça logon no portal do Azure. Siga as etapas em Introdução ao Azure Cloud Shell para iniciar o Cloud Shell e selecionar o ambiente bash.
    • Opcionalmente, execute a CLI do Azure no computador local. Se a CLI do Azure já estiver instalada, execute az upgrade para atualizar a CLI e as extensões para a versão atual. Para instalar a CLI do Azure, consulte Instalar a CLI do Azure. Se você estiver usando o Raspberry Pi como sua plataforma de desenvolvimento, recomendamos usar o Azure Cloud Shell ou instalar a CLI do Azure em outro computador.

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 de mensagens central para comunicação bidirecional entre seu aplicativo IoT e dispositivos.

Para criar um hub IoT e um grupo de recursos:

  1. Iniciar a CLI do Azure:

    • 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 você estiver usando a CLI do Azure localmente, abra um console como Windows CMD, PowerShell ou Bash e entre na CLI do Azure.

    Para executar os comandos da CLI no restante deste início rápido: copie a sintaxe de comando, cole-a na janela do Cloud Shell ou no console da CLI, edite valores variáveis e pressione Enter.

  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. 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 alternativo. Para ver os locais disponíveis, execute az account list-locations. Este tutorial 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 vir o espaço reservado.

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

    Dica

    Depois de criar um hub IoT, você usará o Azure IoT Explorer para interagir com o hub IoT no restante deste início rápido. O IoT Explorer é um aplicativo de GUI que permite que você se conecte a um Hub IoT existente e adicione, gerencie e monitore dispositivos. Para saber mais, consulte Instalar e usar o Azure IoT Explorer. Opcionalmente, você pode continuar a usar comandos da CLI.

Configurar o Explorer do IoT

No restante deste início rápido, você usa o IoT Explorer para registrar um dispositivo no hub IoT e exibir a telemetria do dispositivo. Nesta seção, você configurará o IoT Explorer para se conectar ao hub IoT criado e ler modelos plug-and-play do repositório de modelos públicos.

Observação

Você também pode usar a CLI do Azure para registrar um dispositivo. Use o az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} comando para registrar um novo dispositivo e o az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} comando para obter a cadeia de conexão primária para o dispositivo. Depois de anotar a cadeia de conexão do dispositivo, você poderá pular para Executar o dispositivo de exemplo.

Para adicionar uma conexão ao hub IoT:

  1. Execute o comando az iot hub connection-string show para obter a cadeia de conexão para o hub IoT.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. Copie a cadeia de conexão sem os caracteres de aspas.

  3. No Azure IoT Explorer, selecione hubs IoT no menu à esquerda e, em seguida, selecione + Adicionar conexão.

  4. Cole a cadeia de conexão copiada no campo Cadeia de conexão.

  5. Clique em Salvar.

    Captura de tela da adição de uma conexão no IoT Explorer

  6. Se a conexão for bem-sucedida, o Explorer do IoT muda para a exibição de Dispositivos.

Exiba as configurações do repositório de modelo público:

  1. No Explorer do IoT, selecione Página Inicial para retornar à exibição da página inicial.

  2. No menu à esquerda, selecione Configurações do IoT Plug and Play.

  3. Você pode ver que existe uma entrada para o repositório de modelos públicos em https://devicemodels.azure.com.

    Captura de tela da adição do repositório de modelos públicos no IoT Explorer

Registrar um dispositivo

Nesta seção, você criará uma nova instância de dispositivo e a registrará no hub IoT criado. Use as informações de conexão para o dispositivo recém-registrado para conectar seu dispositivo com segurança em uma seção posterior.

Para registrar um dispositivo:

  1. Na exibição da página inicial no Explorer do IoT, selecione hubs IoT.

  2. A conexão que você adicionou anteriormente será exibida. Selecione Exibir dispositivos neste hub abaixo das propriedades de conexão.

  3. Selecione + Novo e insira uma ID do dispositivo para seu dispositivo; por exemplo, mydevice. Deixe todas as outras propriedades inalteradas.

  4. Selecione Criar.

    Captura de tela da identidade do dispositivo do Azure IoT Explorer

  5. Copie e anote o valor no campo Cadeia de conexão primária . Você precisará dessa cadeia de conexão mais tarde.

Executar o exemplo de dispositivo

Nesta seção, você usará o SDK do Node.js para enviar mensagens de um dispositivo para o hub IoT. Você executará um exemplo que implementa um controlador de temperatura com dois sensores de termostato.

  1. Abra um novo console, como o Windows CMD, o PowerShell ou o Bash. Nas etapas a seguir, você usará este console para instalar o SDK do Node.js e trabalhar com Node.js código de exemplo.

    Observação

    Se você estiver usando uma instalação local da CLI do Azure, poderá ter duas janelas de console abertas. Insira os comandos nesta seção no console que você acabou de abrir, não aquele que você está usando para a CLI.

  2. Clone os exemplos de dispositivo do SDK do Node.js de IoT do Azure para o computador local:

    git clone https://github.com/Azure/azure-iot-sdk-node
    
  3. Navegue até o diretório de exemplo:

    Windows

    cd azure-iot-sdk-node\device\samples\javascript
    

    Sistema operacional Linux ou Raspberry Pi

    cd azure-iot-sdk-node/device/samples/javascript
    
  4. Instale o SDK do Node.js do Azure IoT e as dependências necessárias:

    npm install
    

    Esse comando instala as dependências adequadas conforme especificado no arquivo package.json no diretório de exemplos do dispositivo.

  5. Defina ambas as variáveis de ambiente a seguir para permitir que seu dispositivo se conecte ao Azure IoT.

    • Definir uma variável de ambiente chamada IOTHUB_DEVICE_CONNECTION_STRING. Para o valor da variável, use a cadeia de conexão do dispositivo salva na seção anterior.
    • Definir uma variável de ambiente chamada IOTHUB_DEVICE_SECURITY_TYPE. Para a variável, use o valor literal da cadeia de caracteres connectionString.

    CMD (Windows)

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    Observação

    Para o WINDOWS CMD, não há aspas em torno dos valores de cadeia de caracteres para cada variável.

    PowerShell

    $env:IOTHUB_DEVICE_CONNECTION_STRING='<your connection string here>'
    $env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'
    

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  6. Execute o seguinte exemplo de código:

    node pnp_temperature_controller.js
    

    Observação

    Este exemplo de código usa o Azure IoT Plug and Play, que permite integrar dispositivos inteligentes às suas soluções sem nenhuma configuração manual. Por padrão, a maioria dos exemplos nesta documentação usa o IoT Plug and Play. Para saber mais sobre as vantagens do IoT PnP e os casos para usá-lo ou não, consulte o que é ioT Plug and Play?.

O exemplo se conecta com segurança ao hub IoT como o dispositivo registrado e começa a enviar mensagens de telemetria. A saída do exemplo é exibida no console.

Exibir telemetria

Você pode exibir a telemetria do dispositivo com o IoT Explorer. Opcionalmente, você pode exibir a telemetria usando a CLI do Azure.

Para exibir a telemetria no Explorer da Internet das Coisas do Azure:

  1. No hub Iot no IoT Explorer, selecione Exibir dispositivos neste hub e selecione seu dispositivo na lista.

  2. No menu à esquerda do dispositivo, selecione Telemetria.

  3. Confirme se Usar o hub de eventos interno está definido como Sim e selecione Iniciar.

  4. Exiba a telemetria conforme o dispositivo envia mensagens à nuvem.

    Captura de tela da telemetria do dispositivo no IoT Explorer

  5. Selecione Parar para encerrar o recebimento de eventos.

Para ler a telemetria enviada por componentes de dispositivo individuais, você pode usar os recursos de plug-and-play no IoT Explorer. Por exemplo, o controlador de temperatura neste início rápido tem dois termostatos: termostato1 e termostato2. Para ver a temperatura relatada pelo termostato1:

  1. Em seu dispositivo no IoT Explorer, selecione componentes do IoT Plug and Play no menu à esquerda. Em seguida, selecione termostato1 na lista de componentes.

  2. No painel do componente termostato1, selecione Telemetria no menu superior.

  3. No painel Telemetria , siga as mesmas etapas que você fez anteriormente. Verifique se Usar o hub de eventos interno está definido como Sim e selecione Iniciar.

Para exibir a telemetria do dispositivo com a CLI do Azure:

  1. Execute o comando az iot hub monitor-events para monitorar eventos enviados do dispositivo para o hub IoT. Use os nomes criados anteriormente na Internet das Coisas do Azure para seu dispositivo e o hub IoT.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Exiba os detalhes da conexão e a saída de telemetria no console.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 70.5897683228018
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 52.87582619316418
    

Procurar código

Neste início rápido, você aprenderá um fluxo de trabalho básico de desenvolvimento de aplicativos IoT do Azure. Use a CLI do Azure e o IoT Explorer para criar um hub IoT do Azure e um dispositivo. Em seguida, você usa um exemplo de SDK do dispositivo IoT do Azure para executar um controlador de temperatura, conectá-lo com segurança ao hub e enviar telemetria. O aplicativo de exemplo do controlador de temperatura é executado no computador local e gera dados simulados do sensor para enviar ao Hub IoT.

Pré-requisitos

Este início rápido é executado no Windows, Linux e Raspberry Pi. Ele foi testado nas seguintes versões do sistema operacional e do dispositivo:

  • Windows 10 ou Windows 11
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) versão 10, em execução em um Raspberry Pi 3 Modelo B+

Instale os seguintes pré-requisitos em seu computador de desenvolvimento, exceto quando indicado para Raspberry Pi:

  • Se você não tiver uma assinatura do Azure, crie uma gratuitamente antes de começar.
  • Git.
  • Python. Verifique o SDK do Python da Internet das Coisas do Azure para os requisitos atuais da versão do Python. Para verificar sua versão do Python, execute python3 --version.
  • Azure IoT Explorer: utilitário baseado em GUI e multiplataforma para monitorar e gerenciar a IoT do Azure. Se você estiver usando o Raspberry Pi como sua plataforma de desenvolvimento, recomendamos que você instale o IoT Explorer em outro computador. Se você não quiser instalar o IoT Explorer, poderá usar a CLI do Azure para executar as mesmas etapas.
  • CLI do Azure. Você tem duas opções para executar comandos da CLI do Azure neste início rápido:
    • Usar o Azure Cloud Shell, um shell interativo que executa comandos da CLI no navegador. Essa opção é recomendada porque não é preciso instalar nada. Se estiver usando o Cloud Shell pela primeira vez, faça logon no portal do Azure. Siga as etapas em Introdução ao Azure Cloud Shell para iniciar o Cloud Shell e selecionar o ambiente bash.
    • Opcionalmente, execute a CLI do Azure no computador local. Se a CLI do Azure já estiver instalada, execute az upgrade para atualizar a CLI e as extensões para a versão atual. Para instalar a CLI do Azure, consulte Instalar a CLI do Azure. Se você estiver usando o Raspberry Pi como sua plataforma de desenvolvimento, recomendamos usar o Azure Cloud Shell ou instalar a CLI do Azure em outro computador.

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 de mensagens central para comunicação bidirecional entre seu aplicativo IoT e dispositivos.

Para criar um hub IoT e um grupo de recursos:

  1. Iniciar a CLI do Azure:

    • 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 você estiver usando a CLI do Azure localmente, abra um console como Windows CMD, PowerShell ou Bash e entre na CLI do Azure.

    Para executar os comandos da CLI no restante deste início rápido: copie a sintaxe de comando, cole-a na janela do Cloud Shell ou no console da CLI, edite valores variáveis e pressione Enter.

  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. 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 alternativo. Para ver os locais disponíveis, execute az account list-locations. Este tutorial 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 vir o espaço reservado.

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

    Dica

    Depois de criar um hub IoT, você usará o Azure IoT Explorer para interagir com o hub IoT no restante deste início rápido. O IoT Explorer é um aplicativo de GUI que permite que você se conecte a um Hub IoT existente e adicione, gerencie e monitore dispositivos. Para saber mais, consulte Instalar e usar o Azure IoT Explorer. Opcionalmente, você pode continuar a usar comandos da CLI.

Configurar o Explorer do IoT

No restante deste início rápido, você usa o IoT Explorer para registrar um dispositivo no hub IoT e exibir a telemetria do dispositivo. Nesta seção, você configurará o IoT Explorer para se conectar ao hub IoT criado e ler modelos plug-and-play do repositório de modelos públicos.

Observação

Você também pode usar a CLI do Azure para registrar um dispositivo. Use o az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} comando para registrar um novo dispositivo e o az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} comando para obter a cadeia de conexão primária para o dispositivo. Depois de anotar a cadeia de conexão do dispositivo, você poderá pular para Executar o dispositivo de exemplo.

Para adicionar uma conexão ao hub IoT:

  1. Execute o comando az iot hub connection-string show para obter a cadeia de conexão para o hub IoT.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. Copie a cadeia de conexão sem os caracteres de aspas.

  3. No Azure IoT Explorer, selecione hubs IoT no menu à esquerda e, em seguida, selecione + Adicionar conexão.

  4. Cole a cadeia de conexão copiada no campo Cadeia de conexão.

  5. Clique em Salvar.

    Captura de tela da adição de uma conexão no IoT Explorer

  6. Se a conexão for bem-sucedida, o Explorer do IoT muda para a exibição de Dispositivos.

Exiba as configurações do repositório de modelo público:

  1. No Explorer do IoT, selecione Página Inicial para retornar à exibição da página inicial.

  2. No menu à esquerda, selecione Configurações do IoT Plug and Play.

  3. Você pode ver que existe uma entrada para o repositório de modelos públicos em https://devicemodels.azure.com.

    Captura de tela da adição do repositório de modelos públicos no IoT Explorer

Registrar um dispositivo

Nesta seção, você criará uma nova instância de dispositivo e a registrará no hub IoT criado. Use as informações de conexão para o dispositivo recém-registrado para conectar seu dispositivo com segurança em uma seção posterior.

Para registrar um dispositivo:

  1. Na exibição da página inicial no Explorer do IoT, selecione hubs IoT.

  2. A conexão que você adicionou anteriormente será exibida. Selecione Exibir dispositivos neste hub abaixo das propriedades de conexão.

  3. Selecione + Novo e insira uma ID do dispositivo para seu dispositivo; por exemplo, mydevice. Deixe todas as outras propriedades inalteradas.

  4. Selecione Criar.

    Captura de tela da identidade do dispositivo do Azure IoT Explorer

  5. Copie e anote o valor no campo Cadeia de conexão primária . Você precisará dessa cadeia de conexão mais tarde.

Executar o exemplo de dispositivo

Nesta seção, você usará o SDK do Python para enviar mensagens de um dispositivo para o hub IoT. Você executará um exemplo que implementa um controlador de temperatura com dois sensores de termostato.

  1. Abra um novo console, como o Windows CMD, o PowerShell ou o Bash. Nas etapas a seguir, você usará este console para instalar o SDK do Python e trabalhar com o código de exemplo do Python.

    Observação

    Se você estiver usando uma instalação local da CLI do Azure, poderá ter duas janelas de console abertas. Insira os comandos nesta seção no console que você acabou de abrir, não aquele que você está usando para a CLI.

  2. Clone os exemplos de dispositivo do SDK do Python de IoT do Azure para o computador local:

    git clone --branch v2 https://github.com/Azure/azure-iot-sdk-python
    
  3. Navegue até o diretório de exemplo:

    Windows

    cd azure-iot-sdk-python\samples\pnp
    

    Sistema operacional Linux ou Raspberry Pi

    cd azure-iot-sdk-python/samples/pnp
    
  4. Instale o SDK do Python IoT do Azure:

    pip3 install azure-iot-device
    
  5. Defina as variáveis de ambiente a seguir para permitir que seu dispositivo se conecte ao Azure IoT.

    • Definir uma variável de ambiente chamada IOTHUB_DEVICE_CONNECTION_STRING. Para o valor da variável, use a cadeia de conexão do dispositivo salva na seção anterior.
    • Definir uma variável de ambiente chamada IOTHUB_DEVICE_SECURITY_TYPE. Para a variável, use o valor literal da cadeia de caracteres connectionString.

    CMD (Windows)

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    Observação

    Para o WINDOWS CMD, não há aspas em torno dos valores de cadeia de caracteres para cada variável.

    PowerShell

    $env:IOTHUB_DEVICE_CONNECTION_STRING='<your connection string here>'
    $env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'
    

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  6. Execute o código do arquivo de exemplo a seguir.

    python temp_controller_with_thermostats.py
    

    Observação

    Este exemplo de código usa o Azure IoT Plug and Play, que permite integrar dispositivos inteligentes às suas soluções sem nenhuma configuração manual. Por padrão, a maioria dos exemplos nesta documentação usa o IoT Plug and Play. Para saber mais sobre as vantagens do IoT Plug and Play e casos para usá-lo ou não, confira o que é ioT Plug and Play?.

O exemplo se conecta com segurança ao hub IoT como o dispositivo registrado e começa a enviar mensagens de telemetria. A saída do exemplo é exibida no console.

Exibir telemetria

Você pode exibir a telemetria do dispositivo com o IoT Explorer. Opcionalmente, você pode exibir a telemetria usando a CLI do Azure.

Para exibir a telemetria no Explorer da Internet das Coisas do Azure:

  1. No hub Iot no IoT Explorer, selecione Exibir dispositivos neste hub e selecione seu dispositivo na lista.

  2. No menu à esquerda do dispositivo, selecione Telemetria.

  3. Confirme se Usar o hub de eventos interno está definido como Sim e selecione Iniciar.

  4. Exiba a telemetria conforme o dispositivo envia mensagens à nuvem.

    Captura de tela da telemetria do dispositivo no IoT Explorer

  5. Selecione Parar para encerrar o recebimento de eventos.

Para ler a telemetria enviada por componentes de dispositivo individuais, você pode usar os recursos de plug-and-play no IoT Explorer. Por exemplo, o controlador de temperatura neste início rápido tem dois termostatos: termostato1 e termostato2. Para ver a temperatura relatada pelo termostato1:

  1. Em seu dispositivo no IoT Explorer, selecione componentes do IoT Plug and Play no menu à esquerda. Em seguida, selecione termostato1 na lista de componentes.

  2. No painel do componente termostato1, selecione Telemetria no menu superior.

  3. No painel Telemetria , siga as mesmas etapas que você fez anteriormente. Verifique se Usar o hub de eventos interno está definido como Sim e selecione Iniciar.

Para exibir a telemetria do dispositivo com a CLI do Azure:

  1. Execute o comando az iot hub monitor-events para monitorar eventos enviados do dispositivo para o hub IoT. Use os nomes criados anteriormente na Internet das Coisas do Azure para seu dispositivo e o hub IoT.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Exiba os detalhes da conexão e a saída de telemetria no console.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 28
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 10
    

Limpar os recursos

Se você não precisar mais dos recursos do Azure criados neste tutorial, poderá usar a CLI do Azure para excluí-los.

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 que não exclua acidentalmente o grupo de recursos ou os recursos incorretos.

Para excluir um grupo de recursos por nome:

  1. Execute o comando az group delete. Esse comando removerá o grupo de recursos, o Hub IoT e o registro de dispositivo que você criou.

    az group delete --name MyResourceGroup
    
  2. Execute o comando az group list para confirmar se o grupo de recursos foi excluído.

    az group list
    

Próximas etapas

Neste tutorial, você aprendeu um fluxo de trabalho básico do aplicativo IoT do Azure para conectar com segurança um dispositivo à nuvem e enviar telemetria do dispositivo para a nuvem. Você usou a CLI do Azure para criar um hub IoT do Azure e uma instância de dispositivo. Em seguida, você usou um SDK de dispositivo IoT do Azure para criar um controlador de temperatura, conectá-lo ao hub e enviar telemetria. Você também usou a CLI do Azure para monitorar a telemetria.

Como próxima etapa, explore os artigos a seguir para saber mais sobre como criar soluções de dispositivo com o Azure IoT.