Tutorial: Enviar telemetria de um dispositivo IoT Plug and Play para o Hub IoT do Azure
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++.
- 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.
- Na guia Cargas de trabalho do instalador , selecione a carga de trabalho Desenvolvimento de área de trabalho com C++ .
- 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:
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.
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 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
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:
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}
Copie a cadeia de conexão sem os caracteres de cotação ao redor.
No Azure IoT Explorer, selecione Hubs IoT no menu esquerdo e, em seguida, selecione + Adicionar conexão.
Cole a cadeia de conexão na caixa Cadeia de conexão .
Selecione Guardar.
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:
No IoT Explorer, selecione Página Inicial para retornar ao modo de exibição inicial.
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.
Uma entrada aparece para o repositório de modelo público em
https://devicemodels.azure.com
.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:
Na visualização inicial no IoT Explorer, selecione Hubs IoT.
A conexão que você adicionou anteriormente deve aparecer. Selecione Exibir dispositivos neste hub abaixo das propriedades de conexão.
Selecione + Novo e insira um ID de dispositivo para o seu dispositivo, por exemplo, mydevice. Deixe todas as outras propriedades iguais.
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ê 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
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.
Navegue até uma pasta local onde você deseja clonar o repositório de exemplo.
Clone o SDK do dispositivo Azure IoT C em sua máquina 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 dependências:
cd azure-iot-sdk-c git submodule update --init
Esta operação poderá demorar alguns minutos.
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
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 valorconnectionString
literal 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"
- Defina uma variável de ambiente chamada
Executar o código
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:
No seu hub Iot no IoT Explorer, selecione Exibir dispositivos neste hub e, em seguida, selecione seu dispositivo na lista.
No menu esquerdo do seu dispositivo, selecione Telemetria.
Confirme se Usar hub de eventos interno está definido como Sim e selecione Iniciar.
Visualize a telemetria enquanto o dispositivo envia mensagens para a nuvem.
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:
No seu dispositivo no IoT Explorer, selecione Componentes IoT Plug and Play no menu à esquerda. Em seguida, selecione termostato1 na lista de componentes.
No painel de componentes termostato1, selecione Telemetria no menu superior.
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:
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}
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 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:
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.
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 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
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:
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}
Copie a cadeia de conexão sem os caracteres de cotação ao redor.
No Azure IoT Explorer, selecione Hubs IoT no menu esquerdo e, em seguida, selecione + Adicionar conexão.
Cole a cadeia de conexão na caixa Cadeia de conexão .
Selecione Guardar.
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:
No IoT Explorer, selecione Página Inicial para retornar ao modo de exibição inicial.
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.
Uma entrada aparece para o repositório de modelo público em
https://devicemodels.azure.com
.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:
Na visualização inicial no IoT Explorer, selecione Hubs IoT.
A conexão que você adicionou anteriormente deve aparecer. Selecione Exibir dispositivos neste hub abaixo das propriedades de conexão.
Selecione + Novo e insira um ID de dispositivo para o seu dispositivo, por exemplo, mydevice. Deixe todas as outras propriedades iguais.
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 seu hub IoT. Você executará uma amostra 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 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.
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
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
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 .
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 valorconnectionString
literal 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"
- Defina uma variável de ambiente chamada
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:
No seu hub Iot no IoT Explorer, selecione Exibir dispositivos neste hub e, em seguida, selecione seu dispositivo na lista.
No menu esquerdo do seu dispositivo, selecione Telemetria.
Confirme se Usar hub de eventos interno está definido como Sim e selecione Iniciar.
Visualize a telemetria enquanto o dispositivo envia mensagens para a nuvem.
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:
No seu dispositivo no IoT Explorer, selecione Componentes IoT Plug and Play no menu à esquerda. Em seguida, selecione termostato1 na lista de componentes.
No painel de componentes termostato1, selecione Telemetria no menu superior.
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:
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}
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 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).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
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
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.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.Para instalar o Maven, digite os seguintes comandos:
sudo apt-get update sudo apt-get install maven
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:
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.
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 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
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:
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}
Copie a cadeia de conexão sem os caracteres de cotação ao redor.
No Azure IoT Explorer, selecione Hubs IoT no menu esquerdo e, em seguida, selecione + Adicionar conexão.
Cole a cadeia de conexão na caixa Cadeia de conexão .
Selecione Guardar.
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:
No IoT Explorer, selecione Página Inicial para retornar ao modo de exibição inicial.
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.
Uma entrada aparece para o repositório de modelo público em
https://devicemodels.azure.com
.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:
Na visualização inicial no IoT Explorer, selecione Hubs IoT.
A conexão que você adicionou anteriormente deve aparecer. Selecione Exibir dispositivos neste hub abaixo das propriedades de conexão.
Selecione + Novo e insira um ID de dispositivo para o seu dispositivo, por exemplo, mydevice. Deixe todas as outras propriedades iguais.
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ê 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.
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.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
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.
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 valorconnectionString
literal 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"
- Defina uma variável de ambiente chamada
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
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:
No seu hub Iot no IoT Explorer, selecione Exibir dispositivos neste hub e, em seguida, selecione seu dispositivo na lista.
No menu esquerdo do seu dispositivo, selecione Telemetria.
Confirme se Usar hub de eventos interno está definido como Sim e selecione Iniciar.
Visualize a telemetria enquanto o dispositivo envia mensagens para a nuvem.
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:
No seu dispositivo no IoT Explorer, selecione Componentes IoT Plug and Play no menu à esquerda. Em seguida, selecione termostato1 na lista de componentes.
No painel de componentes termostato1, selecione Telemetria no menu superior.
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:
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}
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 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:
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.
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 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
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:
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}
Copie a cadeia de conexão sem os caracteres de cotação ao redor.
No Azure IoT Explorer, selecione Hubs IoT no menu esquerdo e, em seguida, selecione + Adicionar conexão.
Cole a cadeia de conexão na caixa Cadeia de conexão .
Selecione Guardar.
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:
No IoT Explorer, selecione Página Inicial para retornar ao modo de exibição inicial.
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.
Uma entrada aparece para o repositório de modelo público em
https://devicemodels.azure.com
.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:
Na visualização inicial no IoT Explorer, selecione Hubs IoT.
A conexão que você adicionou anteriormente deve aparecer. Selecione Exibir dispositivos neste hub abaixo das propriedades de conexão.
Selecione + Novo e insira um ID de dispositivo para o seu dispositivo, por exemplo, mydevice. Deixe todas as outras propriedades iguais.
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 seu hub IoT. Você executará uma amostra 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 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.
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
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
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.
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 valorconnectionString
literal 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"
- Defina uma variável de ambiente chamada
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:
No seu hub Iot no IoT Explorer, selecione Exibir dispositivos neste hub e, em seguida, selecione seu dispositivo na lista.
No menu esquerdo do seu dispositivo, selecione Telemetria.
Confirme se Usar hub de eventos interno está definido como Sim e selecione Iniciar.
Visualize a telemetria enquanto o dispositivo envia mensagens para a nuvem.
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:
No seu dispositivo no IoT Explorer, selecione Componentes IoT Plug and Play no menu à esquerda. Em seguida, selecione termostato1 na lista de componentes.
No painel de componentes termostato1, selecione Telemetria no menu superior.
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:
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}
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 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:
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.
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 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
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:
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}
Copie a cadeia de conexão sem os caracteres de cotação ao redor.
No Azure IoT Explorer, selecione Hubs IoT no menu esquerdo e, em seguida, selecione + Adicionar conexão.
Cole a cadeia de conexão na caixa Cadeia de conexão .
Selecione Guardar.
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:
No IoT Explorer, selecione Página Inicial para retornar ao modo de exibição inicial.
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.
Uma entrada aparece para o repositório de modelo público em
https://devicemodels.azure.com
.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:
Na visualização inicial no IoT Explorer, selecione Hubs IoT.
A conexão que você adicionou anteriormente deve aparecer. Selecione Exibir dispositivos neste hub abaixo das propriedades de conexão.
Selecione + Novo e insira um ID de dispositivo para o seu dispositivo, por exemplo, mydevice. Deixe todas as outras propriedades iguais.
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ê 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.
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.
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
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
Instale o SDK Python do Azure IoT:
pip3 install azure-iot-device
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 valorconnectionString
literal 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"
- Defina uma variável de ambiente chamada
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:
No seu hub Iot no IoT Explorer, selecione Exibir dispositivos neste hub e, em seguida, selecione seu dispositivo na lista.
No menu esquerdo do seu dispositivo, selecione Telemetria.
Confirme se Usar hub de eventos interno está definido como Sim e selecione Iniciar.
Visualize a telemetria enquanto o dispositivo envia mensagens para a nuvem.
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:
No seu dispositivo no IoT Explorer, selecione Componentes IoT Plug and Play no menu à esquerda. Em seguida, selecione termostato1 na lista de componentes.
No painel de componentes termostato1, selecione Telemetria no menu superior.
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:
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}
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:
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
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.