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

Procurar código

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

Pré-requisitos

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

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

Instale os seguintes pré-requisitos no computador de desenvolvimento, exceto onde indicado para o Raspberry Pi:

  • Se você não tiver uma assinatura do Azure, crie uma gratuitamente antes de começar.
  • Git.
  • Gerenciador da Internet das Coisas do Azure: utilitário multiplataforma baseado em GUI para monitorar e gerenciar a Internet das Coisas do Azure. Se você está usando o Raspberry Pi como sua plataforma de desenvolvimento, é recomendável instalar o IoT Explorer em outro computador. Se você não desejar 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 guia de 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 do Cloud Shell e Selecionar o ambiente do Bash.
    • Opcionalmente, execute a CLI do Azure no computador local. Se a CLI do Azure já estiver instalado, 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ê está usando o Raspberry Pi como sua plataforma de desenvolvimento, é recomendável usar Azure Cloud Shell ou instalar a CLI do Azure em outro computador.

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

Linux ou Raspberry Pi OS

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

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

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 guia de 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 deseja instalar e inicie o instalador.

    Observação

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

  2. Na guia Cargas de trabalho do instalador, selecione a carga de trabalho Desenvolvimento para desktop com C++ .
  3. Execute a 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 funciona como um hub central de mensagens para comunicação bidirecional entre o aplicativo IoT e os 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 o CMD do Windows, o PowerShell ou o Bash e entre na CLI do Azure.

    Para executar os comandos da CLI no restante deste guia de início rápido, copie a sintaxe do comando, cole-a na janela do Cloud Shell ou no console da CLI, edite os valores de 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 uma localização alternativa. 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 ver 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 guia de 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, confira Instalar e usar o Azure IoT Explorer. Opcionalmente, você pode continuar usando os comandos da CLI.

Configurar o Explorer do IoT

No restante deste guia de início rápido, você usará o IoT Explorer para registrar um dispositivo no seu hub IoT e ver a telemetria do dispositivo. Nesta seção, você configurará o Explorer do IoT para se conectar ao hub IoT que acabou de criar 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 comando az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} para registrar um novo dispositivo e o comando az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} para obter a cadeia de conexão primária do 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 do 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 Explorer da Internet das Coisas do Azure, selecione hubs IoT no menu à esquerda e selecione + Adicionar conexão.

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

  5. Selecione Salvar.

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

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

Para adicionar um repositório de modelos públicos:

  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, +Adicionar e Repositório público no menu suspenso.

  3. Uma entrada é exibida para o repositório de modelo público em https://devicemodels.azure.com.

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

  4. Selecione Salvar.

Registrar um dispositivo

Nesta seção, você criará uma nova instância de dispositivo e a registrará no hub IoT criado. Você usará as informações de conexão do dispositivo recém-criado para conectar o 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 de dispositivo para o dispositivo. Por exemplo, mydevice. Não altere as demais propriedades.

  4. Selecione Criar.

    Captura de tela da identidade do dispositivo do Explorer da Internet das Coisas do Azure

  5. Use os botões de cópia para copiar e anotar o 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. Execute 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 IoT do Azure para C e execute o exemplo de código. Para o Windows, selecione Iniciar, digite Prompt de Comando do Desenvolvedor para VS 2019 e abra o console. Para Linux e Raspberry Pi OS, abra um terminal para comandos do Bash.

    Observação

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

  2. Procure uma pasta local em que deseja clonar o repositório de exemplo.

  3. Clone o SDK do dispositivo IoT do Azure para C 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
    

    Essa operação leva alguns minutos.

  5. Para compilar 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 seguintes variáveis de ambiente para habilitar o dispositivo que se conectará à IoT do Azure.

    • Defina 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.
    • Defina uma variável de ambiente chamada IOTHUB_DEVICE_SECURITY_TYPE. Para a variável, use o valor da cadeia de caracteres literal 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 seu 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 desta 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 usá-lo, confira O que é o 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

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

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

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

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

  3. Confirme se a opção Usar hub de eventos interno está definida como Sim e selecione Iniciar.

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

    Captura de tela da telemetria do dispositivo no Explorer do IoT

  5. Selecione Parar para encerrar o recebimento de eventos.

Para ler a telemetria enviada por componentes de dispositivo individuais, use os recursos de Plug and Play do IoT Explorer. Por exemplo, o controlador de temperatura deste guia de 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 IoT Plug and Play no menu à esquerda. Em seguida, escolha termostato1 na lista de componentes.

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

  3. No painel Telemetria, siga as mesmas etapas executadas anteriormente. Verifique se a opção Usar hub de eventos interno está definida como Sim e selecione Iniciar.

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

  1. Execute o comando az iot hub monitor-events para monitorar os eventos enviados do dispositivo ao seu 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. Veja 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 guia de início rápido, você conhecerá um fluxo de trabalho básico de desenvolvimento de aplicativos IoT do Azure. Você usa a CLI do Azure e o IoT Explorer para criar um dispositivo e um hub IoT do Azure. Em seguida, você usará um exemplo do SDK do dispositivo IoT do Azure para executar um controlador de temperatura, conectá-lo com segurança ao hub e enviar a telemetria. O aplicativo de exemplo do controlador de temperatura é executado em sua máquina local e gera dados simulados do sensor para enviar ao Hub IoT.

Pré-requisitos

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

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

Instale os seguintes pré-requisitos no computador de desenvolvimento, exceto onde indicado para o Raspberry Pi:

  • Se você não tiver uma assinatura do Azure, crie uma gratuitamente antes de começar.

  • Git.

  • SDK do .NET Core 3.1. Instale o SDK do .NET, não apenas o runtime. Para verificar a versão do SDK do .NET e o runtime instalado em seu computador, execute dotnet --info.

    • Para Windows e Linux (exceto Raspberry Pi), siga as instruções para instalar o SDK do .NET Core 3.1 em sua plataforma.
    • Para o Raspberry Pi, você precisará seguir as instruções para instalar manualmente o SDK. Isso porque, no Debian, as instalação do gerenciador de pacotes do SDK do .NET só têm suporte para a arquitetura x64.
  • Gerenciador da Internet das Coisas do Azure: utilitário multiplataforma baseado em GUI para monitorar e gerenciar a Internet das Coisas do Azure. Se você está usando o Raspberry Pi como sua plataforma de desenvolvimento, é recomendável instalar o IoT Explorer em outro computador. Se você não desejar 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 guia de 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 do Cloud Shell e Selecionar o ambiente do Bash.
    • Opcionalmente, execute a CLI do Azure no computador local. Se a CLI do Azure já estiver instalado, 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ê está usando o Raspberry Pi como sua plataforma de desenvolvimento, é recomendável usar 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 funciona como um hub central de mensagens para comunicação bidirecional entre o aplicativo IoT e os 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 o CMD do Windows, o PowerShell ou o Bash e entre na CLI do Azure.

    Para executar os comandos da CLI no restante deste guia de início rápido, copie a sintaxe do comando, cole-a na janela do Cloud Shell ou no console da CLI, edite os valores de 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 uma localização alternativa. 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 ver 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 guia de 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, confira Instalar e usar o Azure IoT Explorer. Opcionalmente, você pode continuar usando os comandos da CLI.

Configurar o Explorer do IoT

No restante deste guia de início rápido, você usará o IoT Explorer para registrar um dispositivo no seu hub IoT e ver a telemetria do dispositivo. Nesta seção, você configurará o Explorer do IoT para se conectar ao hub IoT que acabou de criar 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 comando az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} para registrar um novo dispositivo e o comando az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} para obter a cadeia de conexão primária do 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 do 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 Explorer da Internet das Coisas do Azure, selecione hubs IoT no menu à esquerda e selecione + Adicionar conexão.

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

  5. Selecione Salvar.

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

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

Para adicionar um repositório de modelos públicos:

  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, +Adicionar e Repositório público no menu suspenso.

  3. Uma entrada é exibida para o repositório de modelo público em https://devicemodels.azure.com.

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

  4. Selecione Salvar.

Registrar um dispositivo

Nesta seção, você criará uma nova instância de dispositivo e a registrará no hub IoT criado. Você usará as informações de conexão do dispositivo recém-criado para conectar o 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 de dispositivo para o dispositivo. Por exemplo, mydevice. Não altere as demais propriedades.

  4. Selecione Criar.

    Captura de tela da identidade do dispositivo do Explorer da Internet das Coisas do Azure

  5. Use os botões de cópia para copiar e anotar o 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 Windows CMD, PowerShell ou Bash. Nas etapas a seguir, você usará esse console para instalar o SDK do Node.js e trabalhar com o código de exemplo do Node.js.

    Observação

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

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

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

    Windows

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

    Linux ou Raspberry Pi OS

    cd azure-iot-sdk-csharp/iothub/device/samples/solutions/PnpDeviceSamples/TemperatureController
    
  4. Instale o SDK do C# de 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 o dispositivo se conecte à IoT do Azure.

    • Defina 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.
    • Defina uma variável de ambiente chamada IOTHUB_DEVICE_SECURITY_TYPE. Para a variável, use o valor da cadeia de caracteres literal 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. Executar 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 desta 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 usá-lo, confira O que é o 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

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

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

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

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

  3. Confirme se a opção Usar hub de eventos interno está definida como Sim e selecione Iniciar.

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

    Captura de tela da telemetria do dispositivo no Explorer do IoT

  5. Selecione Parar para encerrar o recebimento de eventos.

Para ler a telemetria enviada por componentes de dispositivo individuais, use os recursos de Plug and Play do IoT Explorer. Por exemplo, o controlador de temperatura deste guia de 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 IoT Plug and Play no menu à esquerda. Em seguida, escolha termostato1 na lista de componentes.

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

  3. No painel Telemetria, siga as mesmas etapas executadas anteriormente. Verifique se a opção Usar hub de eventos interno está definida como Sim e selecione Iniciar.

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

  1. Execute o comando az iot hub monitor-events para monitorar os eventos enviados do dispositivo ao seu 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. Veja 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 guia de início rápido, você conhecerá um fluxo de trabalho básico de desenvolvimento de aplicativos IoT do Azure. Você usa a CLI do Azure e o IoT Explorer para criar um dispositivo e um hub IoT do Azure. Em seguida, você usará um exemplo do SDK do dispositivo IoT do Azure para executar um controlador de temperatura, conectá-lo com segurança ao hub e enviar a telemetria. O aplicativo de exemplo do controlador de temperatura é executado em sua máquina local e gera dados simulados do sensor para enviar ao Hub IoT.

Pré-requisitos

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

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

Instale os seguintes pré-requisitos no computador de desenvolvimento, exceto onde indicado para o Raspberry Pi:

  • Se você não tiver uma assinatura do Azure, crie uma gratuitamente antes de começar.
  • Git.
  • Gerenciador da Internet das Coisas do Azure: utilitário multiplataforma baseado em GUI para monitorar e gerenciar a Internet das Coisas do Azure. Se você está usando o Raspberry Pi como sua plataforma de desenvolvimento, é recomendável instalar o IoT Explorer em outro computador. Se você não desejar 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 guia de 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 do Cloud Shell e Selecionar o ambiente do Bash.
    • Opcionalmente, execute a CLI do Azure no computador local. Se a CLI do Azure já estiver instalado, 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ê está usando o Raspberry Pi como sua plataforma de desenvolvimento, é recomendável usar Azure Cloud Shell ou instalar a CLI do Azure em outro computador.

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

Windows

Para concluir este guia de 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 em Baixar Builds do Zulu do 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 da pasta /bin do Maven à variável de ambiente PATH do Windows.

Linux ou Raspberry Pi OS

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

Observação

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

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

    1. Para instalar o OpenJDK para o 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 seu 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 variável de ambiente JAVA_HOME para o caminho para a sua instalação do JDK. (Geralmente, esse é um subdiretório com controle de 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 variável JAVA_HOME em seu ambiente de shell atual. É recomendável adicionar o comando ao seu arquivo ~/.bashrc ou /etc/profile para torná-lo disponível sempre que você abrir um novo shell.

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

      java -version
      javac -version
      echo $JAVA_HOME
      
  • Apache Maven 3. Você pode usar o comando mvn --version 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. Execute o comando a seguir para verificar a 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 funciona como um hub central de mensagens para comunicação bidirecional entre o aplicativo IoT e os 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 o CMD do Windows, o PowerShell ou o Bash e entre na CLI do Azure.

    Para executar os comandos da CLI no restante deste guia de início rápido, copie a sintaxe do comando, cole-a na janela do Cloud Shell ou no console da CLI, edite os valores de 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 uma localização alternativa. 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 ver 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 guia de 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, confira Instalar e usar o Azure IoT Explorer. Opcionalmente, você pode continuar usando os comandos da CLI.

Configurar o Explorer do IoT

No restante deste guia de início rápido, você usará o IoT Explorer para registrar um dispositivo no seu hub IoT e ver a telemetria do dispositivo. Nesta seção, você configurará o Explorer do IoT para se conectar ao hub IoT que acabou de criar 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 comando az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} para registrar um novo dispositivo e o comando az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} para obter a cadeia de conexão primária do 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 do 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 Explorer da Internet das Coisas do Azure, selecione hubs IoT no menu à esquerda e selecione + Adicionar conexão.

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

  5. Selecione Salvar.

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

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

Para adicionar um repositório de modelos públicos:

  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, +Adicionar e Repositório público no menu suspenso.

  3. Uma entrada é exibida para o repositório de modelo público em https://devicemodels.azure.com.

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

  4. Selecione Salvar.

Registrar um dispositivo

Nesta seção, você criará uma nova instância de dispositivo e a registrará no hub IoT criado. Você usará as informações de conexão do dispositivo recém-criado para conectar o 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 de dispositivo para o dispositivo. Por exemplo, mydevice. Não altere as demais propriedades.

  4. Selecione Criar.

    Captura de tela da identidade do dispositivo do Explorer da Internet das Coisas do Azure

  5. Use os botões de cópia para copiar e anotar o 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 da Internet das Coisas do Azure e execute o exemplo de código. Você usará esse console nas etapas a seguir.

    Observação

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

    Sistema operacional Linux e Raspberry Pi

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

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

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

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

    Essa operação leva vários minutos para ser concluída.

  4. Defina as variáveis de ambiente a seguir para habilitar o dispositivo que se conectará ao Azure IoT.

    • Defina 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.
    • Defina uma variável de ambiente chamada IOTHUB_DEVICE_SECURITY_TYPE. Para a variável, use o valor da cadeia de caracteres literal 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 código de exemplo.

    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 desta 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 usá-lo, confira O que é o 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

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

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

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

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

  3. Confirme se a opção Usar hub de eventos interno está definida como Sim e selecione Iniciar.

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

    Captura de tela da telemetria do dispositivo no Explorer do IoT

  5. Selecione Parar para encerrar o recebimento de eventos.

Para ler a telemetria enviada por componentes de dispositivo individuais, use os recursos de Plug and Play do IoT Explorer. Por exemplo, o controlador de temperatura deste guia de 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 IoT Plug and Play no menu à esquerda. Em seguida, escolha termostato1 na lista de componentes.

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

  3. No painel Telemetria, siga as mesmas etapas executadas anteriormente. Verifique se a opção Usar hub de eventos interno está definida como Sim e selecione Iniciar.

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

  1. Execute o comando az iot hub monitor-events para monitorar os eventos enviados do dispositivo ao seu 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. Veja 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 guia de início rápido, você conhecerá um fluxo de trabalho básico de desenvolvimento de aplicativos IoT do Azure. Você usa a CLI do Azure e o IoT Explorer para criar um dispositivo e um hub IoT do Azure. Em seguida, você usará um exemplo do SDK do dispositivo IoT do Azure para executar um controlador de temperatura, conectá-lo com segurança ao hub e enviar a telemetria. O aplicativo de exemplo do controlador de temperatura é executado em sua máquina local e gera dados simulados do sensor para enviar ao Hub IoT.

Pré-requisitos

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

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

Instale os seguintes pré-requisitos no computador de desenvolvimento, exceto onde indicado para o 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.
  • Gerenciador da Internet das Coisas do Azure: utilitário multiplataforma baseado em GUI para monitorar e gerenciar a Internet das Coisas do Azure. Se você está usando o Raspberry Pi como sua plataforma de desenvolvimento, é recomendável instalar o IoT Explorer em outro computador. Se você não desejar 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 guia de 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 do Cloud Shell e Selecionar o ambiente do Bash.
    • Opcionalmente, execute a CLI do Azure no computador local. Se a CLI do Azure já estiver instalado, 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ê está usando o Raspberry Pi como sua plataforma de desenvolvimento, é recomendável usar 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 funciona como um hub central de mensagens para comunicação bidirecional entre o aplicativo IoT e os 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 o CMD do Windows, o PowerShell ou o Bash e entre na CLI do Azure.

    Para executar os comandos da CLI no restante deste guia de início rápido, copie a sintaxe do comando, cole-a na janela do Cloud Shell ou no console da CLI, edite os valores de 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 uma localização alternativa. 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 ver 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 guia de 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, confira Instalar e usar o Azure IoT Explorer. Opcionalmente, você pode continuar usando os comandos da CLI.

Configurar o Explorer do IoT

No restante deste guia de início rápido, você usará o IoT Explorer para registrar um dispositivo no seu hub IoT e ver a telemetria do dispositivo. Nesta seção, você configurará o Explorer do IoT para se conectar ao hub IoT que acabou de criar 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 comando az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} para registrar um novo dispositivo e o comando az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} para obter a cadeia de conexão primária do 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 do 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 Explorer da Internet das Coisas do Azure, selecione hubs IoT no menu à esquerda e selecione + Adicionar conexão.

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

  5. Selecione Salvar.

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

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

Para adicionar um repositório de modelos públicos:

  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, +Adicionar e Repositório público no menu suspenso.

  3. Uma entrada é exibida para o repositório de modelo público em https://devicemodels.azure.com.

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

  4. Selecione Salvar.

Registrar um dispositivo

Nesta seção, você criará uma nova instância de dispositivo e a registrará no hub IoT criado. Você usará as informações de conexão do dispositivo recém-criado para conectar o 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 de dispositivo para o dispositivo. Por exemplo, mydevice. Não altere as demais propriedades.

  4. Selecione Criar.

    Captura de tela da identidade do dispositivo do Explorer da Internet das Coisas do Azure

  5. Use os botões de cópia para copiar e anotar o 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 Windows CMD, PowerShell ou Bash. Nas etapas a seguir, você usará esse console para instalar o SDK do Node.js e trabalhar com o código de exemplo do Node.js.

    Observação

    Se você estiver usando uma instalação local da CLI do Azure, já poderá ter duas janelas do console abertas. Insira os comandos desta seção no console que acabou de abrir, não aquele que está sendo usado 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. Procure o diretório de exemplo:

    Windows

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

    Linux ou Raspberry Pi OS

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

    npm install
    

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

  5. Defina as seguintes variáveis de ambiente para habilitar o dispositivo a se conectar à IoT do Azure.

    • Defina 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.
    • Defina uma variável de ambiente chamada IOTHUB_DEVICE_SECURITY_TYPE. Para a variável, use o valor da cadeia de caracteres literal 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 desta 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 usá-lo, confira O que é o 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

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

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

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

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

  3. Confirme se a opção Usar hub de eventos interno está definida como Sim e selecione Iniciar.

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

    Captura de tela da telemetria do dispositivo no Explorer do IoT

  5. Selecione Parar para encerrar o recebimento de eventos.

Para ler a telemetria enviada por componentes de dispositivo individuais, use os recursos de Plug and Play do IoT Explorer. Por exemplo, o controlador de temperatura deste guia de 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 IoT Plug and Play no menu à esquerda. Em seguida, escolha termostato1 na lista de componentes.

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

  3. No painel Telemetria, siga as mesmas etapas executadas anteriormente. Verifique se a opção Usar hub de eventos interno está definida como Sim e selecione Iniciar.

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

  1. Execute o comando az iot hub monitor-events para monitorar os eventos enviados do dispositivo ao seu 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. Veja 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 guia de início rápido, você conhecerá um fluxo de trabalho básico de desenvolvimento de aplicativos IoT do Azure. Você usa a CLI do Azure e o IoT Explorer para criar um dispositivo e um hub IoT do Azure. Em seguida, você usará um exemplo do SDK do dispositivo IoT do Azure para executar um controlador de temperatura, conectá-lo com segurança ao hub e enviar a telemetria. O aplicativo de exemplo do controlador de temperatura é executado em sua máquina local e gera dados simulados do sensor para enviar ao Hub IoT.

Pré-requisitos

Este guia de início rápido é executado em 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
  • SO Raspberry Pi (Raspbian) versão 10, em execução em um Raspberry Pi 3 Modelo B+

Instale os seguintes pré-requisitos no computador de desenvolvimento, exceto onde indicado para o 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 a versão do Python, execute python3 --version.
  • Gerenciador da Internet das Coisas do Azure: utilitário multiplataforma baseado em GUI para monitorar e gerenciar a Internet das Coisas do Azure. Se você está usando o Raspberry Pi como sua plataforma de desenvolvimento, é recomendável instalar o IoT Explorer em outro computador. Se você não desejar 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 guia de 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 do Cloud Shell e Selecionar o ambiente do Bash.
    • Opcionalmente, execute a CLI do Azure no computador local. Se a CLI do Azure já estiver instalado, 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ê está usando o Raspberry Pi como sua plataforma de desenvolvimento, é recomendável usar 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 funciona como um hub central de mensagens para comunicação bidirecional entre o aplicativo IoT e os 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 o CMD do Windows, o PowerShell ou o Bash e entre na CLI do Azure.

    Para executar os comandos da CLI no restante deste guia de início rápido, copie a sintaxe do comando, cole-a na janela do Cloud Shell ou no console da CLI, edite os valores de 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 uma localização alternativa. 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 ver 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 guia de 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, confira Instalar e usar o Azure IoT Explorer. Opcionalmente, você pode continuar usando os comandos da CLI.

Configurar o Explorer do IoT

No restante deste guia de início rápido, você usará o IoT Explorer para registrar um dispositivo no seu hub IoT e ver a telemetria do dispositivo. Nesta seção, você configurará o Explorer do IoT para se conectar ao hub IoT que acabou de criar 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 comando az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} para registrar um novo dispositivo e o comando az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} para obter a cadeia de conexão primária do 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 do 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 Explorer da Internet das Coisas do Azure, selecione hubs IoT no menu à esquerda e selecione + Adicionar conexão.

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

  5. Selecione Salvar.

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

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

Para adicionar um repositório de modelos públicos:

  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, +Adicionar e Repositório público no menu suspenso.

  3. Uma entrada é exibida para o repositório de modelo público em https://devicemodels.azure.com.

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

  4. Selecione Salvar.

Registrar um dispositivo

Nesta seção, você criará uma nova instância de dispositivo e a registrará no hub IoT criado. Você usará as informações de conexão do dispositivo recém-criado para conectar o 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 de dispositivo para o dispositivo. Por exemplo, mydevice. Não altere as demais propriedades.

  4. Selecione Criar.

    Captura de tela da identidade do dispositivo do Explorer da Internet das Coisas do Azure

  5. Use os botões de cópia para copiar e anotar o 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 Windows CMD, PowerShell ou Bash. Nas etapas a seguir, você usará esse 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, já poderá ter duas janelas do console abertas. Insira os comandos desta seção no console que acabou de abrir, não aquele que está sendo usado 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. Procure o diretório de exemplo:

    Windows

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

    Linux ou Raspberry Pi OS

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

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

    • Defina 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.
    • Defina uma variável de ambiente chamada IOTHUB_DEVICE_SECURITY_TYPE. Para a variável, use o valor da cadeia de caracteres literal 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 desta documentação usa o IoT Plug and Play. Para saber mais sobre as vantagens do IoT Plug and Play e os casos em que você deve usá-lo ou não, confira O que é o 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

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

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

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

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

  3. Confirme se a opção Usar hub de eventos interno está definida como Sim e selecione Iniciar.

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

    Captura de tela da telemetria do dispositivo no Explorer do IoT

  5. Selecione Parar para encerrar o recebimento de eventos.

Para ler a telemetria enviada por componentes de dispositivo individuais, use os recursos de Plug and Play do IoT Explorer. Por exemplo, o controlador de temperatura deste guia de 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 IoT Plug and Play no menu à esquerda. Em seguida, escolha termostato1 na lista de componentes.

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

  3. No painel Telemetria, siga as mesmas etapas executadas anteriormente. Verifique se a opção Usar hub de eventos interno está definida como Sim e selecione Iniciar.

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

  1. Execute o comando az iot hub monitor-events para monitorar os eventos enviados do dispositivo ao seu 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. Veja 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. 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 de Internet das Coisas do Azure para conectar com segurança um dispositivo à nuvem e enviar telemetria do dispositivo para nuvem. Você usou a CLI do Azure para criar uma instância de dispositivo e um hub IoT do Azure. Você usou um SDK do dispositivo IoT do Azure para criar um controlador de temperatura, conectar-se ao hub e enviar telemetria. Você também usou a CLI do Azure para monitorar a telemetria.

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