Tutorial: enviar telemetria de um dispositivo IoT Plug and Play para o Hub IoT do Azure
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++.
- 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.
- Na guia Cargas de trabalho do instalador, selecione a carga de trabalho Desenvolvimento para desktop com C++ .
- 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:
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.
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
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
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:
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}
Copie a cadeia de conexão sem os caracteres de aspas.
No Explorer da Internet das Coisas do Azure, selecione hubs IoT no menu à esquerda e selecione + Adicionar conexão.
Cole a cadeia de conexão copiada no campo Cadeia de conexão.
Selecione Salvar.
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:
No Explorer do IoT, selecione Página Inicial para retornar à exibição da página inicial.
No menu à esquerda, selecione Configurações do IoT Plug and Play, +Adicionar e Repositório público no menu suspenso.
Uma entrada é exibida para o repositório de modelo público em
https://devicemodels.azure.com
.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:
Na exibição da página inicial no Explorer do IoT, selecione hubs IoT.
A conexão que você adicionou anteriormente será exibida. Selecione Exibir dispositivos neste hub abaixo das propriedades de conexão.
Selecione + Novo e insira uma ID de dispositivo para o dispositivo. Por exemplo, mydevice. Não altere as demais propriedades.
Selecione Criar.
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
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.
Procure uma pasta local em que deseja clonar o repositório de exemplo.
Clone o SDK do dispositivo IoT do Azure para C no computador local:
git clone https://github.com/Azure/azure-iot-sdk-c.git
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.
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
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 literalconnectionString
.
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"
- Defina uma variável de ambiente chamada
Executar o código
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:
Em seu hub IoT no IoT Explorer, selecione Exibir dispositivos neste hub e escolha seu dispositivo na lista.
No menu à esquerda do dispositivo, selecione Telemetria.
Confirme se a opção Usar hub de eventos interno está definida como Sim e selecione Iniciar.
Exiba a telemetria conforme o dispositivo envia mensagens à nuvem.
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:
Em seu dispositivo no IoT Explorer, selecione Componentes IoT Plug and Play no menu à esquerda. Em seguida, escolha termostato1 na lista de componentes.
No painel do componente termostato1, selecione Telemetria no menu superior.
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:
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}
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}'
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:
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.
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
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
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:
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}
Copie a cadeia de conexão sem os caracteres de aspas.
No Explorer da Internet das Coisas do Azure, selecione hubs IoT no menu à esquerda e selecione + Adicionar conexão.
Cole a cadeia de conexão copiada no campo Cadeia de conexão.
Selecione Salvar.
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:
No Explorer do IoT, selecione Página Inicial para retornar à exibição da página inicial.
No menu à esquerda, selecione Configurações do IoT Plug and Play, +Adicionar e Repositório público no menu suspenso.
Uma entrada é exibida para o repositório de modelo público em
https://devicemodels.azure.com
.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:
Na exibição da página inicial no Explorer do IoT, selecione hubs IoT.
A conexão que você adicionou anteriormente será exibida. Selecione Exibir dispositivos neste hub abaixo das propriedades de conexão.
Selecione + Novo e insira uma ID de dispositivo para o dispositivo. Por exemplo, mydevice. Não altere as demais propriedades.
Selecione Criar.
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.
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.
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
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
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.
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 literalconnectionString
.
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"
- Defina uma variável de ambiente chamada
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:
Em seu hub IoT no IoT Explorer, selecione Exibir dispositivos neste hub e escolha seu dispositivo na lista.
No menu à esquerda do dispositivo, selecione Telemetria.
Confirme se a opção Usar hub de eventos interno está definida como Sim e selecione Iniciar.
Exiba a telemetria conforme o dispositivo envia mensagens à nuvem.
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:
Em seu dispositivo no IoT Explorer, selecione Componentes IoT Plug and Play no menu à esquerda. Em seguida, escolha termostato1 na lista de componentes.
No painel do componente termostato1, selecione Telemetria no menu superior.
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:
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}
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
Selecione CTRL+C para encerrar o monitoramento.
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).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
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
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.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.Para instalar o Maven, insira os seguintes comandos:
sudo apt-get update sudo apt-get install maven
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:
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.
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
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
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:
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}
Copie a cadeia de conexão sem os caracteres de aspas.
No Explorer da Internet das Coisas do Azure, selecione hubs IoT no menu à esquerda e selecione + Adicionar conexão.
Cole a cadeia de conexão copiada no campo Cadeia de conexão.
Selecione Salvar.
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:
No Explorer do IoT, selecione Página Inicial para retornar à exibição da página inicial.
No menu à esquerda, selecione Configurações do IoT Plug and Play, +Adicionar e Repositório público no menu suspenso.
Uma entrada é exibida para o repositório de modelo público em
https://devicemodels.azure.com
.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:
Na exibição da página inicial no Explorer do IoT, selecione hubs IoT.
A conexão que você adicionou anteriormente será exibida. Selecione Exibir dispositivos neste hub abaixo das propriedades de conexão.
Selecione + Novo e insira uma ID de dispositivo para o dispositivo. Por exemplo, mydevice. Não altere as demais propriedades.
Selecione Criar.
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.
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.Clone o SDK do dispositivo IoT do Azure para Java no computador local:
git clone https://github.com/Azure/azure-iot-sdk-java.git
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.
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 literalconnectionString
.
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"
- Defina uma variável de ambiente chamada
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
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:
Em seu hub IoT no IoT Explorer, selecione Exibir dispositivos neste hub e escolha seu dispositivo na lista.
No menu à esquerda do dispositivo, selecione Telemetria.
Confirme se a opção Usar hub de eventos interno está definida como Sim e selecione Iniciar.
Exiba a telemetria conforme o dispositivo envia mensagens à nuvem.
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:
Em seu dispositivo no IoT Explorer, selecione Componentes IoT Plug and Play no menu à esquerda. Em seguida, escolha termostato1 na lista de componentes.
No painel do componente termostato1, selecione Telemetria no menu superior.
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:
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}
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
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:
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.
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
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
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:
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}
Copie a cadeia de conexão sem os caracteres de aspas.
No Explorer da Internet das Coisas do Azure, selecione hubs IoT no menu à esquerda e selecione + Adicionar conexão.
Cole a cadeia de conexão copiada no campo Cadeia de conexão.
Selecione Salvar.
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:
No Explorer do IoT, selecione Página Inicial para retornar à exibição da página inicial.
No menu à esquerda, selecione Configurações do IoT Plug and Play, +Adicionar e Repositório público no menu suspenso.
Uma entrada é exibida para o repositório de modelo público em
https://devicemodels.azure.com
.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:
Na exibição da página inicial no Explorer do IoT, selecione hubs IoT.
A conexão que você adicionou anteriormente será exibida. Selecione Exibir dispositivos neste hub abaixo das propriedades de conexão.
Selecione + Novo e insira uma ID de dispositivo para o dispositivo. Por exemplo, mydevice. Não altere as demais propriedades.
Selecione Criar.
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.
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.
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
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
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.
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 literalconnectionString
.
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"
- Defina uma variável de ambiente chamada
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:
Em seu hub IoT no IoT Explorer, selecione Exibir dispositivos neste hub e escolha seu dispositivo na lista.
No menu à esquerda do dispositivo, selecione Telemetria.
Confirme se a opção Usar hub de eventos interno está definida como Sim e selecione Iniciar.
Exiba a telemetria conforme o dispositivo envia mensagens à nuvem.
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:
Em seu dispositivo no IoT Explorer, selecione Componentes IoT Plug and Play no menu à esquerda. Em seguida, escolha termostato1 na lista de componentes.
No painel do componente termostato1, selecione Telemetria no menu superior.
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:
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}
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
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:
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.
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
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
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:
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}
Copie a cadeia de conexão sem os caracteres de aspas.
No Explorer da Internet das Coisas do Azure, selecione hubs IoT no menu à esquerda e selecione + Adicionar conexão.
Cole a cadeia de conexão copiada no campo Cadeia de conexão.
Selecione Salvar.
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:
No Explorer do IoT, selecione Página Inicial para retornar à exibição da página inicial.
No menu à esquerda, selecione Configurações do IoT Plug and Play, +Adicionar e Repositório público no menu suspenso.
Uma entrada é exibida para o repositório de modelo público em
https://devicemodels.azure.com
.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:
Na exibição da página inicial no Explorer do IoT, selecione hubs IoT.
A conexão que você adicionou anteriormente será exibida. Selecione Exibir dispositivos neste hub abaixo das propriedades de conexão.
Selecione + Novo e insira uma ID de dispositivo para o dispositivo. Por exemplo, mydevice. Não altere as demais propriedades.
Selecione Criar.
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.
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.
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
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
Instale o SDK do Python de IoT do Azure:
pip3 install azure-iot-device
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 literalconnectionString
.
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"
- Defina uma variável de ambiente chamada
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:
Em seu hub IoT no IoT Explorer, selecione Exibir dispositivos neste hub e escolha seu dispositivo na lista.
No menu à esquerda do dispositivo, selecione Telemetria.
Confirme se a opção Usar hub de eventos interno está definida como Sim e selecione Iniciar.
Exiba a telemetria conforme o dispositivo envia mensagens à nuvem.
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:
Em seu dispositivo no IoT Explorer, selecione Componentes IoT Plug and Play no menu à esquerda. Em seguida, escolha termostato1 na lista de componentes.
No painel do componente termostato1, selecione Telemetria no menu superior.
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:
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}
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:
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
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.