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ê aprende um fluxo de trabalho básico de desenvolvimento de aplicativos do Azure IoT. Você usa 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 de dispositivo IoT do Azure para executar um controlador de temperatura, conectá-lo com segurança ao hub e enviar telemetria. O aplicativo de amostra do controlador de temperatura é executado em sua máquina 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. Foi testado nas seguintes versões de SO e dispositivos:

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

Instale os seguintes pré-requisitos em sua máquina 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.
  • Azure IoT Explorer: utilitário multiplataforma, baseado em GUI para monitorar e gerenciar o Azure IoT. Se você estiver usando o Raspberry Pi como sua plataforma de desenvolvimento, recomendamos que 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:
    • Use o Azure Cloud Shell, um shell interativo que executa comandos da CLI em seu navegador. Essa opção é recomendada porque você não precisa instalar nada. Se você estiver usando o Cloud Shell pela primeira vez, entre 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 em sua máquina 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 que use o Azure Cloud Shell ou instale a CLI do Azure em outro computador.

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

Linux ou Raspberry Pi OS

Para concluir este início rápido no Linux ou Raspberry Pi OS, 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 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. Transfira a edição que pretende instalar e inicie o instalador.

    Nota

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

  2. Na guia Cargas de trabalho do instalador , selecione a carga de trabalho Desenvolvimento de área de trabalho com C++ .
  3. Execute a instalação.

Criar 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 contentor lógico no qual os recursos do Azure são implementados e geridos. 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. Inicie a CLI do Azure:

    • Se você 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 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 do comando, cole-a na janela do Cloud Shell ou no console da CLI, edite 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 no local eastus .

    Nota

    Opcionalmente, você pode definir um local alternativo. Para ver os locais disponíveis, execute az account list-locations. Este tutorial usa eastus como 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 seu hub IoT. Um nome de hub IoT deve ser globalmente exclusivo no Azure. Use o nome do hub IoT no restante deste início rápido onde quer que você veja o espaço reservado.

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

    Gorjeta

    Depois de criar um hub IoT, você usará o Azure IoT Explorer para interagir com seu hub IoT no restante deste início rápido. O IoT Explorer é um aplicativo 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 IoT Explorer

No restante deste início rápido, você usará o IoT Explorer para registrar um dispositivo em seu hub IoT e visualizar a telemetria do dispositivo. Nesta seção, você configura o IoT Explorer para se conectar ao hub IoT que acabou de criar e para ler modelos plug and play do repositório de modelos público.

Nota

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 para o dispositivo. Depois de anotar a cadeia de conexão do dispositivo, você pode pular para Executar o exemplo de dispositivo.

Para adicionar uma conexão ao seu hub IoT:

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

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

  3. No Azure IoT Explorer, selecione Hubs IoT no menu esquerdo e, em seguida, selecione + Adicionar conexão.

  4. Cole a cadeia de conexão na caixa Cadeia de conexão .

  5. Selecione Guardar.

    Captura de ecrã a mostrar a adição de uma ligação no IoT Explorer

  6. Se a conexão for bem-sucedida, o IoT Explorer alternará para o modo de exibição Dispositivos .

Para adicionar o repositório de modelo público:

  1. No IoT Explorer, selecione Página Inicial para retornar ao modo de exibição inicial.

  2. No menu à esquerda, selecione Configurações do IoT Plug and Play e, em seguida, selecione +Adicionar e selecione Repositório público no menu suspenso.

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

    Captura de ecrã a mostrar a adição do repositório de modelos públicos no IoT Explorer

  4. Selecione Guardar.

Registar um dispositivo

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

Para registar um dispositivo:

  1. Na visualização inicial no IoT Explorer, selecione Hubs IoT.

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

  3. Selecione + Novo e insira um ID de dispositivo para o seu dispositivo, por exemplo, mydevice. Deixe todas as outras propriedades iguais.

  4. Selecione Criar.

    Captura de ecrã da identidade do dispositivo do Azure IoT Explorer

  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ê usa o C SDK para enviar mensagens de um dispositivo para seu hub IoT. Executar uma amostra que implementa um controlador de temperatura com dois sensores de termostato.

Criar o exemplo

  1. Abra um novo console para instalar o SDK do dispositivo Azure IoT C e execute o exemplo de código. Para 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 Bash.

    Nota

    Se estiver a utilizar uma instalação local da CLI do Azure, poderá agora ter duas janelas da consola abertas. Certifique-se de inserir 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 onde você deseja clonar o repositório de exemplo.

  3. Clone o SDK do dispositivo Azure IoT C em sua máquina 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 dependências:

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

    Esta operação poderá demorar alguns minutos.

  5. Para criar o SDK e 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 permitir que seu dispositivo se conecte 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 que você salvou na seção anterior.
    • Defina uma variável de ambiente chamada IOTHUB_DEVICE_SECURITY_TYPE. Para a variável, use o valor connectionStringliteral da cadeia de caracteres .

    CMD

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

    Nota

    Para o CMD do Windows, 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 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
    

    Nota

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

O exemplo se conecta com segurança ao seu hub IoT como o dispositivo que você registrou e começa a enviar mensagens de telemetria. A saída de exemplo aparece no console.

Ver telemetria

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

Para exibir a telemetria no Azure IoT Explorer:

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

  2. No menu esquerdo do seu dispositivo, selecione Telemetria.

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

  4. Visualize a telemetria enquanto o dispositivo envia mensagens para a nuvem.

    Captura de ecrã da telemetria do dispositivo no IoT Explorer

  5. Selecione Parar para terminar o recebimento de eventos.

Para ler a telemetria enviada por componentes de dispositivos individuais, você pode usar os recursos 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 informada pelo termostato1:

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

  2. No painel de componentes termostato1, selecione Telemetria no menu superior.

  3. No painel Telemetria, siga as mesmas etapas anteriores. Certifique-se de que Usar 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 que você criou anteriormente no Azure IoT para seu dispositivo e 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 início rápido, você aprende um fluxo de trabalho básico de desenvolvimento de aplicativos do Azure IoT. Você usa 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 de dispositivo IoT do Azure para executar um controlador de temperatura, conectá-lo com segurança ao hub e enviar telemetria. O aplicativo de amostra do controlador de temperatura é executado em sua máquina 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. Foi testado nas seguintes versões de SO e dispositivos:

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

Instale os seguintes pré-requisitos em sua máquina 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. Certifique-se de instalar o SDK do .NET, não apenas o tempo de execução. Para verificar a versão do SDK do .NET e o tempo de execução instalado em sua máquina, execute dotnet --info.

    • Para Windows e Linux (exceto Raspberry Pi), siga as instruções para instalar o .NET Core SDK 3.1 em sua plataforma.
    • Para o Raspberry Pi, você precisará seguir as instruções para instalar manualmente o SDK. Isso ocorre porque no Debian, as instalações do gerenciador de pacotes do SDK .NET são suportadas apenas para a arquitetura x64.
  • Azure IoT Explorer: utilitário multiplataforma, baseado em GUI para monitorar e gerenciar o Azure IoT. Se você estiver usando o Raspberry Pi como sua plataforma de desenvolvimento, recomendamos que 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:

    • Use o Azure Cloud Shell, um shell interativo que executa comandos da CLI em seu navegador. Essa opção é recomendada porque você não precisa instalar nada. Se você estiver usando o Cloud Shell pela primeira vez, entre 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 em sua máquina 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 que use o Azure Cloud Shell ou instale a CLI do Azure em outro computador.

Criar 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 contentor lógico no qual os recursos do Azure são implementados e geridos. 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. Inicie a CLI do Azure:

    • Se você 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 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 do comando, cole-a na janela do Cloud Shell ou no console da CLI, edite 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 no local eastus .

    Nota

    Opcionalmente, você pode definir um local alternativo. Para ver os locais disponíveis, execute az account list-locations. Este tutorial usa eastus como 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 seu hub IoT. Um nome de hub IoT deve ser globalmente exclusivo no Azure. Use o nome do hub IoT no restante deste início rápido onde quer que você veja o espaço reservado.

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

    Gorjeta

    Depois de criar um hub IoT, você usará o Azure IoT Explorer para interagir com seu hub IoT no restante deste início rápido. O IoT Explorer é um aplicativo 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 IoT Explorer

No restante deste início rápido, você usará o IoT Explorer para registrar um dispositivo em seu hub IoT e visualizar a telemetria do dispositivo. Nesta seção, você configura o IoT Explorer para se conectar ao hub IoT que acabou de criar e para ler modelos plug and play do repositório de modelos público.

Nota

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 para o dispositivo. Depois de anotar a cadeia de conexão do dispositivo, você pode pular para Executar o exemplo de dispositivo.

Para adicionar uma conexão ao seu hub IoT:

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

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

  3. No Azure IoT Explorer, selecione Hubs IoT no menu esquerdo e, em seguida, selecione + Adicionar conexão.

  4. Cole a cadeia de conexão na caixa Cadeia de conexão .

  5. Selecione Guardar.

    Captura de ecrã a mostrar a adição de uma ligação no IoT Explorer

  6. Se a conexão for bem-sucedida, o IoT Explorer alternará para o modo de exibição Dispositivos .

Para adicionar o repositório de modelo público:

  1. No IoT Explorer, selecione Página Inicial para retornar ao modo de exibição inicial.

  2. No menu à esquerda, selecione Configurações do IoT Plug and Play e, em seguida, selecione +Adicionar e selecione Repositório público no menu suspenso.

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

    Captura de ecrã a mostrar a adição do repositório de modelos públicos no IoT Explorer

  4. Selecione Guardar.

Registar um dispositivo

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

Para registar um dispositivo:

  1. Na visualização inicial no IoT Explorer, selecione Hubs IoT.

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

  3. Selecione + Novo e insira um ID de dispositivo para o seu dispositivo, por exemplo, mydevice. Deixe todas as outras propriedades iguais.

  4. Selecione Criar.

    Captura de ecrã da identidade do dispositivo do Azure IoT Explorer

  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 seu hub IoT. Você executará uma amostra 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 Node.js código de exemplo.

    Nota

    Se estiver a utilizar uma instalação local da CLI do Azure, poderá agora ter duas janelas da consola abertas. Certifique-se de inserir 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 Microsoft Azure IoT para C# (.NET) em sua máquina 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
    

    Linux ou Raspberry Pi OS

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

    dotnet restore
    

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

    • 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 que você salvou na seção anterior.
    • Defina uma variável de ambiente chamada IOTHUB_DEVICE_SECURITY_TYPE. Para a variável, use o valor connectionStringliteral da cadeia de caracteres .

    CMD (Windows)

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

    Nota

    Para o CMD do Windows, 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
    

    Nota

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

O exemplo se conecta com segurança ao seu hub IoT como o dispositivo que você registrou e começa a enviar mensagens de telemetria. A saída de exemplo aparece no console.

Ver telemetria

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

Para exibir a telemetria no Azure IoT Explorer:

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

  2. No menu esquerdo do seu dispositivo, selecione Telemetria.

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

  4. Visualize a telemetria enquanto o dispositivo envia mensagens para a nuvem.

    Captura de ecrã da telemetria do dispositivo no IoT Explorer

  5. Selecione Parar para terminar o recebimento de eventos.

Para ler a telemetria enviada por componentes de dispositivos individuais, você pode usar os recursos 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 informada pelo termostato1:

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

  2. No painel de componentes termostato1, selecione Telemetria no menu superior.

  3. No painel Telemetria, siga as mesmas etapas anteriores. Certifique-se de que Usar 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 que você criou anteriormente no Azure IoT para seu dispositivo e 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 início rápido, você aprende um fluxo de trabalho básico de desenvolvimento de aplicativos do Azure IoT. Você usa 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 de dispositivo IoT do Azure para executar um controlador de temperatura, conectá-lo com segurança ao hub e enviar telemetria. O aplicativo de amostra do controlador de temperatura é executado em sua máquina 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. Foi testado nas seguintes versões de SO e dispositivos:

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

Instale os seguintes pré-requisitos em sua máquina 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.
  • Azure IoT Explorer: utilitário multiplataforma, baseado em GUI para monitorar e gerenciar o Azure IoT. Se você estiver usando o Raspberry Pi como sua plataforma de desenvolvimento, recomendamos que 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:
    • Use o Azure Cloud Shell, um shell interativo que executa comandos da CLI em seu navegador. Essa opção é recomendada porque você não precisa instalar nada. Se você estiver usando o Cloud Shell pela primeira vez, entre 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 em sua máquina 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 que use o Azure Cloud Shell ou instale a CLI do Azure em outro computador.

Instale os pré-requisitos restantes para o 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 Java 8 (LTS) JDK para várias plataformas em Download Zulu Builds 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 para a pasta Maven /bin para a variável de ambiente do Windows PATH .

Linux ou Raspberry Pi OS

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

Nota

Os passos nesta seção são baseados em distribuições Linux Ubuntu/Debian. (O Raspberry Pi OS é baseado no Debian.) Se você estiver usando uma distribuição Linux diferente, precisará modificar as etapas de acordo.

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

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

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

      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ê pode usar os seguintes comandos 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 para o caminho da instalação do JDK. (Este é geralmente um subdiretório versionado no diretório /usr/lib/jvm .)

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

      Importante

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

    4. Verifique a versão do Java JDK (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 no seu sistema.

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

      sudo apt-get update
      sudo apt-get install maven
      
    2. Digite o seguinte comando para verificar sua instalação.

      mvn --version
      

Criar 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 contentor lógico no qual os recursos do Azure são implementados e geridos. 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. Inicie a CLI do Azure:

    • Se você 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 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 do comando, cole-a na janela do Cloud Shell ou no console da CLI, edite 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 no local eastus .

    Nota

    Opcionalmente, você pode definir um local alternativo. Para ver os locais disponíveis, execute az account list-locations. Este tutorial usa eastus como 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 seu hub IoT. Um nome de hub IoT deve ser globalmente exclusivo no Azure. Use o nome do hub IoT no restante deste início rápido onde quer que você veja o espaço reservado.

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

    Gorjeta

    Depois de criar um hub IoT, você usará o Azure IoT Explorer para interagir com seu hub IoT no restante deste início rápido. O IoT Explorer é um aplicativo 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 IoT Explorer

No restante deste início rápido, você usará o IoT Explorer para registrar um dispositivo em seu hub IoT e visualizar a telemetria do dispositivo. Nesta seção, você configura o IoT Explorer para se conectar ao hub IoT que acabou de criar e para ler modelos plug and play do repositório de modelos público.

Nota

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 para o dispositivo. Depois de anotar a cadeia de conexão do dispositivo, você pode pular para Executar o exemplo de dispositivo.

Para adicionar uma conexão ao seu hub IoT:

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

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

  3. No Azure IoT Explorer, selecione Hubs IoT no menu esquerdo e, em seguida, selecione + Adicionar conexão.

  4. Cole a cadeia de conexão na caixa Cadeia de conexão .

  5. Selecione Guardar.

    Captura de ecrã a mostrar a adição de uma ligação no IoT Explorer

  6. Se a conexão for bem-sucedida, o IoT Explorer alternará para o modo de exibição Dispositivos .

Para adicionar o repositório de modelo público:

  1. No IoT Explorer, selecione Página Inicial para retornar ao modo de exibição inicial.

  2. No menu à esquerda, selecione Configurações do IoT Plug and Play e, em seguida, selecione +Adicionar e selecione Repositório público no menu suspenso.

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

    Captura de ecrã a mostrar a adição do repositório de modelos públicos no IoT Explorer

  4. Selecione Guardar.

Registar um dispositivo

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

Para registar um dispositivo:

  1. Na visualização inicial no IoT Explorer, selecione Hubs IoT.

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

  3. Selecione + Novo e insira um ID de dispositivo para o seu dispositivo, por exemplo, mydevice. Deixe todas as outras propriedades iguais.

  4. Selecione Criar.

    Captura de ecrã da identidade do dispositivo do Azure IoT Explorer

  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ê usa o Java SDK para enviar mensagens de um dispositivo para seu hub IoT. Você executará uma amostra que implementa um controlador de temperatura com dois sensores de termostato.

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

    Nota

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

    Linux e Raspberry Pi OS

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

  2. Clone o SDK do dispositivo Java do Azure IoT em sua máquina local:

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

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

    Esta operação demora vários minutos.

  4. Defina as seguintes variáveis de ambiente para permitir que seu dispositivo se conecte 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 que você salvou na seção anterior.
    • Defina uma variável de ambiente chamada IOTHUB_DEVICE_SECURITY_TYPE. Para a variável, use o valor connectionStringliteral da cadeia de caracteres .

    CMD

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

    Nota

    Para o CMD do Windows, 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. Navegue até 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"
    

    Nota

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

O exemplo se conecta com segurança ao seu hub IoT como o dispositivo que você registrou e começa a enviar mensagens de telemetria. A saída de exemplo aparece no console.

Ver telemetria

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

Para exibir a telemetria no Azure IoT Explorer:

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

  2. No menu esquerdo do seu dispositivo, selecione Telemetria.

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

  4. Visualize a telemetria enquanto o dispositivo envia mensagens para a nuvem.

    Captura de ecrã da telemetria do dispositivo no IoT Explorer

  5. Selecione Parar para terminar o recebimento de eventos.

Para ler a telemetria enviada por componentes de dispositivos individuais, você pode usar os recursos 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 informada pelo termostato1:

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

  2. No painel de componentes termostato1, selecione Telemetria no menu superior.

  3. No painel Telemetria, siga as mesmas etapas anteriores. Certifique-se de que Usar 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 que você criou anteriormente no Azure IoT para seu dispositivo e 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 início rápido, você aprende um fluxo de trabalho básico de desenvolvimento de aplicativos do Azure IoT. Você usa 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 de dispositivo IoT do Azure para executar um controlador de temperatura, conectá-lo com segurança ao hub e enviar telemetria. O aplicativo de amostra do controlador de temperatura é executado em sua máquina 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. Foi testado nas seguintes versões de SO e dispositivos:

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

Instale os seguintes pré-requisitos em sua máquina 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 a versão do nó, execute node --version.
  • Azure IoT Explorer: utilitário multiplataforma, baseado em GUI para monitorar e gerenciar o Azure IoT. Se você estiver usando o Raspberry Pi como sua plataforma de desenvolvimento, recomendamos que 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:
    • Use o Azure Cloud Shell, um shell interativo que executa comandos da CLI em seu navegador. Essa opção é recomendada porque você não precisa instalar nada. Se você estiver usando o Cloud Shell pela primeira vez, entre 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 em sua máquina 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 que use o Azure Cloud Shell ou instale a CLI do Azure em outro computador.

Criar 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 contentor lógico no qual os recursos do Azure são implementados e geridos. 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. Inicie a CLI do Azure:

    • Se você 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 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 do comando, cole-a na janela do Cloud Shell ou no console da CLI, edite 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 no local eastus .

    Nota

    Opcionalmente, você pode definir um local alternativo. Para ver os locais disponíveis, execute az account list-locations. Este tutorial usa eastus como 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 seu hub IoT. Um nome de hub IoT deve ser globalmente exclusivo no Azure. Use o nome do hub IoT no restante deste início rápido onde quer que você veja o espaço reservado.

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

    Gorjeta

    Depois de criar um hub IoT, você usará o Azure IoT Explorer para interagir com seu hub IoT no restante deste início rápido. O IoT Explorer é um aplicativo 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 IoT Explorer

No restante deste início rápido, você usará o IoT Explorer para registrar um dispositivo em seu hub IoT e visualizar a telemetria do dispositivo. Nesta seção, você configura o IoT Explorer para se conectar ao hub IoT que acabou de criar e para ler modelos plug and play do repositório de modelos público.

Nota

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 para o dispositivo. Depois de anotar a cadeia de conexão do dispositivo, você pode pular para Executar o exemplo de dispositivo.

Para adicionar uma conexão ao seu hub IoT:

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

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

  3. No Azure IoT Explorer, selecione Hubs IoT no menu esquerdo e, em seguida, selecione + Adicionar conexão.

  4. Cole a cadeia de conexão na caixa Cadeia de conexão .

  5. Selecione Guardar.

    Captura de ecrã a mostrar a adição de uma ligação no IoT Explorer

  6. Se a conexão for bem-sucedida, o IoT Explorer alternará para o modo de exibição Dispositivos .

Para adicionar o repositório de modelo público:

  1. No IoT Explorer, selecione Página Inicial para retornar ao modo de exibição inicial.

  2. No menu à esquerda, selecione Configurações do IoT Plug and Play e, em seguida, selecione +Adicionar e selecione Repositório público no menu suspenso.

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

    Captura de ecrã a mostrar a adição do repositório de modelos públicos no IoT Explorer

  4. Selecione Guardar.

Registar um dispositivo

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

Para registar um dispositivo:

  1. Na visualização inicial no IoT Explorer, selecione Hubs IoT.

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

  3. Selecione + Novo e insira um ID de dispositivo para o seu dispositivo, por exemplo, mydevice. Deixe todas as outras propriedades iguais.

  4. Selecione Criar.

    Captura de ecrã da identidade do dispositivo do Azure IoT Explorer

  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 seu hub IoT. Você executará uma amostra 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 Node.js código de exemplo.

    Nota

    Se estiver a utilizar uma instalação local da CLI do Azure, poderá agora ter duas janelas da consola abertas. Certifique-se de inserir 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 Azure IoT Node.js em sua máquina 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
    

    Linux ou Raspberry Pi OS

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

    npm install
    

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

  5. Defina ambas as variáveis de ambiente a seguir para permitir que seu dispositivo se conecte 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 que você salvou na seção anterior.
    • Defina uma variável de ambiente chamada IOTHUB_DEVICE_SECURITY_TYPE. Para a variável, use o valor connectionStringliteral da cadeia de caracteres .

    CMD (Windows)

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

    Nota

    Para o CMD do Windows, 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
    

    Nota

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

O exemplo se conecta com segurança ao seu hub IoT como o dispositivo que você registrou e começa a enviar mensagens de telemetria. A saída de exemplo aparece no console.

Ver telemetria

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

Para exibir a telemetria no Azure IoT Explorer:

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

  2. No menu esquerdo do seu dispositivo, selecione Telemetria.

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

  4. Visualize a telemetria enquanto o dispositivo envia mensagens para a nuvem.

    Captura de ecrã da telemetria do dispositivo no IoT Explorer

  5. Selecione Parar para terminar o recebimento de eventos.

Para ler a telemetria enviada por componentes de dispositivos individuais, você pode usar os recursos 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 informada pelo termostato1:

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

  2. No painel de componentes termostato1, selecione Telemetria no menu superior.

  3. No painel Telemetria, siga as mesmas etapas anteriores. Certifique-se de que Usar 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 que você criou anteriormente no Azure IoT para seu dispositivo e 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 início rápido, você aprende um fluxo de trabalho básico de desenvolvimento de aplicativos do Azure IoT. Você usa 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 de dispositivo IoT do Azure para executar um controlador de temperatura, conectá-lo com segurança ao hub e enviar telemetria. O aplicativo de amostra do controlador de temperatura é executado em sua máquina 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. Foi testado nas seguintes versões de SO e dispositivos:

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

Instale os seguintes pré-requisitos em sua máquina 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 do Azure IoT para obter os requisitos de versão atuais do Python. Para verificar sua versão do Python, execute python3 --version.
  • Azure IoT Explorer: utilitário multiplataforma, baseado em GUI para monitorar e gerenciar o Azure IoT. Se você estiver usando o Raspberry Pi como sua plataforma de desenvolvimento, recomendamos que 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:
    • Use o Azure Cloud Shell, um shell interativo que executa comandos da CLI em seu navegador. Essa opção é recomendada porque você não precisa instalar nada. Se você estiver usando o Cloud Shell pela primeira vez, entre 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 em sua máquina 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 que use o Azure Cloud Shell ou instale a CLI do Azure em outro computador.

Criar 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 contentor lógico no qual os recursos do Azure são implementados e geridos. 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. Inicie a CLI do Azure:

    • Se você 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 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 do comando, cole-a na janela do Cloud Shell ou no console da CLI, edite 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 no local eastus .

    Nota

    Opcionalmente, você pode definir um local alternativo. Para ver os locais disponíveis, execute az account list-locations. Este tutorial usa eastus como 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 seu hub IoT. Um nome de hub IoT deve ser globalmente exclusivo no Azure. Use o nome do hub IoT no restante deste início rápido onde quer que você veja o espaço reservado.

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

    Gorjeta

    Depois de criar um hub IoT, você usará o Azure IoT Explorer para interagir com seu hub IoT no restante deste início rápido. O IoT Explorer é um aplicativo 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 IoT Explorer

No restante deste início rápido, você usará o IoT Explorer para registrar um dispositivo em seu hub IoT e visualizar a telemetria do dispositivo. Nesta seção, você configura o IoT Explorer para se conectar ao hub IoT que acabou de criar e para ler modelos plug and play do repositório de modelos público.

Nota

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 para o dispositivo. Depois de anotar a cadeia de conexão do dispositivo, você pode pular para Executar o exemplo de dispositivo.

Para adicionar uma conexão ao seu hub IoT:

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

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

  3. No Azure IoT Explorer, selecione Hubs IoT no menu esquerdo e, em seguida, selecione + Adicionar conexão.

  4. Cole a cadeia de conexão na caixa Cadeia de conexão .

  5. Selecione Guardar.

    Captura de ecrã a mostrar a adição de uma ligação no IoT Explorer

  6. Se a conexão for bem-sucedida, o IoT Explorer alternará para o modo de exibição Dispositivos .

Para adicionar o repositório de modelo público:

  1. No IoT Explorer, selecione Página Inicial para retornar ao modo de exibição inicial.

  2. No menu à esquerda, selecione Configurações do IoT Plug and Play e, em seguida, selecione +Adicionar e selecione Repositório público no menu suspenso.

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

    Captura de ecrã a mostrar a adição do repositório de modelos públicos no IoT Explorer

  4. Selecione Guardar.

Registar um dispositivo

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

Para registar um dispositivo:

  1. Na visualização inicial no IoT Explorer, selecione Hubs IoT.

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

  3. Selecione + Novo e insira um ID de dispositivo para o seu dispositivo, por exemplo, mydevice. Deixe todas as outras propriedades iguais.

  4. Selecione Criar.

    Captura de ecrã da identidade do dispositivo do Azure IoT Explorer

  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ê usa o SDK do Python para enviar mensagens de um dispositivo para seu hub IoT. Você executará uma amostra 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.

    Nota

    Se estiver a utilizar uma instalação local da CLI do Azure, poderá agora ter duas janelas da consola abertas. Certifique-se de inserir 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 do Azure IoT em sua máquina 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
    

    Linux ou Raspberry Pi OS

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

    pip3 install azure-iot-device
    
  5. Defina as seguintes variáveis de ambiente para permitir que seu dispositivo se conecte 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 que você salvou na seção anterior.
    • Defina uma variável de ambiente chamada IOTHUB_DEVICE_SECURITY_TYPE. Para a variável, use o valor connectionStringliteral da cadeia de caracteres .

    CMD (Windows)

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

    Nota

    Para o CMD do Windows, 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 para o seguinte arquivo de exemplo.

    python temp_controller_with_thermostats.py
    

    Nota

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

O exemplo se conecta com segurança ao seu hub IoT como o dispositivo que você registrou e começa a enviar mensagens de telemetria. A saída de exemplo aparece no console.

Ver telemetria

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

Para exibir a telemetria no Azure IoT Explorer:

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

  2. No menu esquerdo do seu dispositivo, selecione Telemetria.

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

  4. Visualize a telemetria enquanto o dispositivo envia mensagens para a nuvem.

    Captura de ecrã da telemetria do dispositivo no IoT Explorer

  5. Selecione Parar para terminar o recebimento de eventos.

Para ler a telemetria enviada por componentes de dispositivos individuais, você pode usar os recursos 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 informada pelo termostato1:

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

  2. No painel de componentes termostato1, selecione Telemetria no menu superior.

  3. No painel Telemetria, siga as mesmas etapas anteriores. Certifique-se de que Usar 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 que você criou anteriormente no Azure IoT para seu dispositivo e 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
    

Clean up resources (Limpar 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 eliminação de um grupo de recursos é irreversível. O grupo de recursos e todos os recursos nele contidos são eliminados permanentemente. Confirme que não elimina acidentalmente o grupo de recursos ou recursos errados.

Para eliminar um grupo de recursos por nome:

  1. Execute o comando az group delete . Este comando remove 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 que o grupo de recursos foi excluído.

    az group list
    

Próximos passos

Neste tutorial, você aprendeu um fluxo de trabalho básico de aplicativo do Azure IoT para conectar com segurança um dispositivo à nuvem e enviar telemetria de dispositivo para 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 seguintes artigos para saber mais sobre como criar soluções de dispositivo com o Azure IoT.