Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste início rápido, você usará um método direto para controlar um dispositivo simulado conectado ao hub IoT. O Hub IoT é um serviço do Azure que permite gerenciar seus dispositivos IoT da nuvem e ingerir grandes volumes de telemetria de dispositivo para a nuvem para armazenamento ou processamento. Você pode usar métodos diretos para alterar remotamente o comportamento dos dispositivos conectados ao hub IoT.
O início rápido usa dois aplicativos .NET pré-escritos:
Um aplicativo de dispositivo simulado que responde a métodos diretos chamados de um aplicativo de serviço. Para receber as chamadas de método direto, esse aplicativo se conecta a um ponto de extremidade específico do dispositivo no seu hub IoT.
Um aplicativo de serviço que chama os métodos diretos no dispositivo simulado. Para chamar um método direto em um dispositivo, esse aplicativo se conecta a um ponto de extremidade do lado do serviço no seu hub IoT.
Pré-requisitos
Uma conta do Azure com uma assinatura ativa. Crie um gratuitamente.
Os dois aplicativos de exemplo executados neste início rápido são escritos usando C#. Você precisa do SDK do .NET 6.0 ou superior em seu computador de desenvolvimento.
Você pode fazer o download do SDK do .NET Core para várias plataformas a partir do .NET.
Verifique a versão atual do C# no computador de desenvolvimento usando o seguinte comando:
dotnet --version
Clone ou baixe o SDK do Microsoft Azure IoT para .NET no GitHub. Os aplicativos de exemplo usados por este início rápido são incluídos no SDK.
Verifique se a porta 8883 está aberta no firewall. O exemplo de dispositivo neste início rápido usa o protocolo MQTT, que se comunica pela porta 8883. Essa porta pode ser bloqueada em alguns ambientes de rede corporativa e educacional. Para obter mais informações e maneiras de solucionar esse problema, consulte a seção Conectar-se ao Hub IoT de Comunicar-se com um hub IoT usando o protocolo MQTT.
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Introdução ao Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Se você estiver executando no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas em seu terminal. Para obter outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar e gerenciar extensões com a CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para atualizar para a versão mais recente, execute az upgrade.
Observação
Este artigo usa a versão mais recente da extensão de IoT do Azure, chamada azure-iot
. A versão herdada é chamada azure-cli-iot-ext
. Você deve ter apenas uma versão instalada por vez. Use o comando az extension list
para validar quais extensões estão instaladas.
Use az extension remove --name azure-cli-iot-ext
para remover a versão herdada da extensão.
Use az extension add --name azure-iot
para adicionar a nova versão da extensão.
Para ver quais extensões estão instaladas no momento, use az extension list
.
Nesta seção, você usa a CLI do Azure para criar um hub IoT e um grupo de recursos. Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. Um hub IoT atua como um hub central de mensagens para comunicação bidirecional entre o aplicativo IoT e os dispositivos.
Se você já tiver um hub IoT em sua assinatura do Azure, ignore esta seção.
Para criar um hub IoT e um grupo de recursos:
Inicie o aplicativo da CLI. Para executar os comandos da CLI no restante deste artigo, copie a sintaxe do comando, cole-a no aplicativo da CLI, edite os valores de variáveis e pressione
Enter
.- 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 estiver usando a CLI do Azure localmente, inicie o aplicativo de console da CLI e faça logon na CLI do Azure.
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
No aplicativo da CLI, execute o comando az group create para criar um grupo de recursos. O comando a seguir cria um grupo de recursos chamado MyResourceGroup na localização eastus.
Observação
Opcionalmente, você pode definir um local diferente. Para ver os locais disponíveis, execute
az account list-locations
. Este início rápido 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 que você escolheu para o hub IoT. Um nome de Hub IoT deve ser exclusivo globalmente no Azure. Use o nome do seu hub IoT no restante deste guia de início rápido, sempre que vir o espaço reservado.
az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
Recuperar a string de conexão do serviço
Você também precisa da cadeia de conexão de serviço do hub IoT para permitir que o aplicativo de serviço se conecte ao hub e recupere as mensagens. A cadeia de conexão de serviço é para o hub IoT como um todo e é diferente da cadeia de conexão do dispositivo recuperada na seção anterior.
O comando a seguir recupera a cadeia de conexão de serviço para o hub IoT:
az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table
Anote cadeia de conexão de serviço, que se parece com:
HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}
Você usará esse valor posteriormente no início rápido.
Simular um dispositivo
O aplicativo de dispositivo simulado se conecta a um ponto de extremidade específico do dispositivo no seu hub IoT, envia telemetria simulada e escuta chamadas de método direto do seu hub. Neste início rápido, a chamada de método direto do hub informa ao dispositivo para alterar o intervalo de envio da telemetria. O dispositivo simulado envia uma confirmação de volta ao hub depois de executar o método direto.
Em uma janela de terminal local, navegue até a pasta raiz do SDK. Em seguida, navegue até a pasta iothub\device\samples\getting started\SimulatedDeviceWithCommand .
Execute o seguinte comando para instalar os pacotes necessários para o aplicativo de dispositivo simulado:
dotnet restore
Execute o comando a seguir para compilar e executar o aplicativo de dispositivo simulado.
{DeviceConnectionString}
: substitua o valor do espaço reservado pela cadeia de conexão do dispositivo que você copiou anteriormente.dotnet run -- -c "{DeviceConnectionString}"
A captura de tela a seguir mostra o resultado à medida que o aplicativo de dispositivo simulado envia telemetria para o seu hub IoT:
Chamar o método direto
O aplicativo de serviço se conecta a um ponto de extremidade do lado do serviço no seu Hub IoT. O aplicativo faz chamadas de método direto para um dispositivo pelo hub IoT e escuta as confirmações. Um aplicativo de serviço do Hub IoT normalmente é executado na nuvem.
Em outra janela do terminal local, navegue até a pasta raiz do SDK. Em seguida, navegue até a pasta iothub\service\samples\getting started\InvokeDeviceMethod .
Na janela do terminal local, execute os seguintes comandos para instalar as bibliotecas necessárias para o aplicativo de serviço:
dotnet build
Na janela do terminal local, execute os comandos a seguir para compilar e executar o aplicativo de serviço.
{ServiceConnectionString}
: substitua o valor do espaço reservado pela cadeia de conexão do serviço do hub IoT que você copiou anteriormente.{DeviceName}
: substitua esse espaço reservado pelo nome do dispositivo que você registrou.dotnet run -- -c "{ServiceConnectionString}" -d {DeviceName}
A captura de tela a seguir mostra a saída à medida que o aplicativo faz uma chamada de método direto para o dispositivo e recebe uma confirmação:
Depois de executar o aplicativo de serviço, você verá uma mensagem na janela do terminal local executando o dispositivo simulado e a taxa na qual ele envia alterações de mensagens:
Este início rápido usa dois aplicativos Java:
- Um aplicativo de dispositivo simulado que responde a métodos diretos acionados por um aplicativo de back-end.
- Um aplicativo de serviço que chama o método direto no dispositivo simulado.
Pré-requisitos
Uma conta do Azure com uma assinatura ativa. Crie um gratuitamente.
Java SE Development Kit 8. No suporte de longo prazo do Java para o Azure e o Azure Stack, em suporte de longo prazo, selecione Java 8.
Você pode verificar a versão atual do Java em seu computador de desenvolvimento usando o seguinte comando:
java -version
-
Você pode verificar a versão atual do Maven em seu computador de desenvolvimento usando o seguinte comando:
mvn --version
Clone ou baixe os exemplos de IoT do Azure para Java no GitHub.
Verifique se a porta 8883 está aberta no firewall. O exemplo de dispositivo neste início rápido usa o protocolo MQTT, que se comunica pela porta 8883. Essa porta pode ser bloqueada em alguns ambientes de rede corporativa e educacional. Para obter mais informações e maneiras de solucionar esse problema, consulte a seção Conectar-se ao Hub IoT de Comunicar-se com um hub IoT usando o protocolo MQTT.
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Introdução ao Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Se você estiver executando no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas em seu terminal. Para obter outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar e gerenciar extensões com a CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para atualizar para a versão mais recente, execute az upgrade.
Observação
Este artigo usa a versão mais recente da extensão de IoT do Azure, chamada azure-iot
. A versão herdada é chamada azure-cli-iot-ext
. Você deve ter apenas uma versão instalada por vez. Use o comando az extension list
para validar quais extensões estão instaladas.
Use az extension remove --name azure-cli-iot-ext
para remover a versão herdada da extensão.
Use az extension add --name azure-iot
para adicionar a nova versão da extensão.
Para ver quais extensões estão instaladas no momento, use az extension list
.
Crie um hub IoT
Nesta seção, você usa a CLI do Azure para criar um hub IoT e um grupo de recursos. Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. Um hub IoT atua como um hub central de mensagens para comunicação bidirecional entre o aplicativo IoT e os dispositivos.
Se você já tiver um hub IoT em sua assinatura do Azure, ignore esta seção.
Para criar um hub IoT e um grupo de recursos:
Inicie o aplicativo da CLI. Para executar os comandos da CLI no restante deste artigo, copie a sintaxe do comando, cole-a no aplicativo da CLI, edite os valores de variáveis e pressione
Enter
.- 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 estiver usando a CLI do Azure localmente, inicie o aplicativo de console da CLI e faça logon na CLI do Azure.
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
No aplicativo da CLI, execute o comando az group create para criar um grupo de recursos. O comando a seguir cria um grupo de recursos chamado MyResourceGroup na localização eastus.
Observação
Opcionalmente, você pode definir um local diferente. Para ver os locais disponíveis, execute
az account list-locations
. Este início rápido 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 seu hub IoT no restante deste guia de início rápido, sempre que vir o espaço reservado.
az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
Registrar um dispositivo
Um dispositivo deve ser registrado no hub IoT antes de poder se conectar. Nesta seção, você usará a CLI do Azure para criar uma identidade do dispositivo.
Se você já tiver um dispositivo registrado em seu hub IoT, poderá ignorar essa seção.
Para criar uma identidade do dispositivo:
Execute o comando az iot hub device-identity create no seu shell de linha de comando. Esse comando cria a identidade do dispositivo.
YourIoTHubName. Substitua esse espaço reservado e as chaves ao redor no comando a seguir, usando o nome que você escolheu para o hub IoT. Um nome de Hub IoT deve ser exclusivo globalmente no Azure.
myDevice. Você pode usar esse nome para a identidade do dispositivo ao longo deste artigo ou fornecer um nome de dispositivo diferente.
az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
Execute o comando mostrar az iot hub device-identity connection-string.
az iot hub device-identity connection-string show --device-id myDevice --hub-name {YourIoTHubName}
A saída da cadeia de conexão está no seguinte formato:
HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
Salve a cadeia de conexão em uma localização segura.
Observação
Mantenha seu aplicativo da CLI aberto. Você vai usá-lo em etapas posteriores.
Recuperar a cadeia de conexão de serviço
Você também precisa de uma cadeia de conexão de serviço para habilitar o aplicativo de back-end para se conectar ao hub IoT e recuperar as mensagens. O comando a seguir recupera a cadeia de conexão de serviço para o hub IoT:
YourIoTHubName: substitua esse espaço reservado no comando a seguir pelo nome escolhido para o hub IoT.
az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table
Anote cadeia de conexão de serviço, que se parece com:
HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}
Você usará esse valor posteriormente no início rápido. Essa cadeia de conexão de serviço é diferente da cadeia de conexão do dispositivo que você anotou na etapa anterior.
Simular um dispositivo
O aplicativo de dispositivo simulado se conecta a um ponto de extremidade específico do dispositivo no seu hub IoT, envia telemetria simulada e escuta chamadas de método direto do seu hub. Neste início rápido, a chamada de método direto do hub informa ao dispositivo para alterar o intervalo de envio da telemetria. O dispositivo simulado envia uma confirmação de volta ao hub depois de executar o método direto.
Em uma janela do terminal local, navegue até a pasta raiz do projeto Java de exemplo. Em seguida, navegue até a pasta iot-hub\Quickstarts\simulated-device-2 .
Abra o arquivo src/main/java/com/microsoft/docs/iothub/samples/SimulatedDevice.java em um editor de texto de sua escolha.
Substitua o valor da
connString
variável pela cadeia de conexão do dispositivo que você anotou anteriormente. Em seguida, salve suas alterações em SimulatedDevice.java.Na janela do terminal local, execute os seguintes comandos para instalar as bibliotecas necessárias e criar o aplicativo de dispositivo simulado:
mvn clean package
Na janela do terminal local, execute os seguintes comandos para executar o aplicativo de dispositivo simulado:
java -jar target/simulated-device-2-1.0.0-with-deps.jar
A captura de tela a seguir mostra o resultado à medida que o aplicativo de dispositivo simulado envia telemetria para o seu hub IoT:
Chamar o método direto
O aplicativo de back-end se conecta a um ponto de extremidade do lado do serviço no seu Hub IoT. O aplicativo faz chamadas de método direto para um dispositivo pelo hub IoT e escuta as confirmações. Um aplicativo de back-end do Hub IoT normalmente é executado na nuvem.
Em outra janela do terminal local, navegue até a pasta raiz do projeto Java de exemplo. Em seguida, navegue até a pasta iot-hub\Quickstarts\back-end-application .
Abra o arquivo src/main/java/com/microsoft/docs/iothub/samples/BackEndApplication.java em um editor de texto de sua escolha.
Substitua o valor da
iotHubConnectionString
variável pela cadeia de conexão de serviço que você anotou anteriormente. Em seguida, salve suas alterações em BackEndApplication.java.Na janela do terminal local, execute os seguintes comandos para instalar as bibliotecas necessárias e compilar o aplicativo de back-end:
mvn clean package
Na janela do terminal local, execute os seguintes comandos para executar o aplicativo de back-end:
java -jar target/back-end-application-1.0.0-with-deps.jar
A captura de tela a seguir mostra a saída à medida que o aplicativo faz uma chamada de método direto para o dispositivo e recebe uma confirmação:
Depois de executar o aplicativo de back-end, você verá uma mensagem na janela do terminal local executando o dispositivo simulado e a taxa em que ele envia mensagens é alterada.
Esse início rápido usa dois aplicativos Node.js:
- Um aplicativo de dispositivo simulado que responde a métodos diretos invocados por um aplicativo back-end. Para receber as chamadas de método direto, esse aplicativo se conecta a um ponto de extremidade específico do dispositivo no seu hub IoT.
- Um aplicativo de back-end que chama os métodos diretos no dispositivo simulado. Para chamar um método direto em um dispositivo, esse aplicativo se conecta a um ponto de extremidade específico do serviço no hub IoT.
Pré-requisitos
Uma conta do Azure com uma assinatura ativa. Crie um gratuitamente.
-
Você pode verificar a versão atual do Node.js no computador de desenvolvimento usando o seguinte comando:
node --version
Clone ou baixe os exemplos de Node.js do IoT do Azure no GitHub.
Verifique se a porta 8883 está aberta no firewall. O exemplo de dispositivo neste início rápido usa o protocolo MQTT, que se comunica pela porta 8883. Essa porta pode ser bloqueada em alguns ambientes de rede corporativa e educacional. Para obter mais informações e maneiras de solucionar esse problema, consulte a seção Conectar-se ao Hub IoT de Comunicar-se com um hub IoT usando o protocolo MQTT.
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Introdução ao Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Se você estiver executando no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas em seu terminal. Para obter outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar e gerenciar extensões com a CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para atualizar para a versão mais recente, execute az upgrade.
Observação
Este artigo usa a versão mais recente da extensão de IoT do Azure, chamada azure-iot
. A versão herdada é chamada azure-cli-iot-ext
. Você deve ter apenas uma versão instalada por vez. Use o comando az extension list
para validar quais extensões estão instaladas.
Use az extension remove --name azure-cli-iot-ext
para remover a versão herdada da extensão.
Use az extension add --name azure-iot
para adicionar a nova versão da extensão.
Para ver quais extensões estão instaladas no momento, use az extension list
.
Crie um hub IoT
Nesta seção, você usa a CLI do Azure para criar um hub IoT e um grupo de recursos. Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. Um hub IoT atua como um hub central de mensagens para comunicação bidirecional entre o aplicativo IoT e os dispositivos.
Se você já tiver um hub IoT em sua assinatura do Azure, ignore esta seção.
Para criar um hub IoT e um grupo de recursos:
Inicie o aplicativo da CLI. Para executar os comandos da CLI no restante deste artigo, copie a sintaxe do comando, cole-a no aplicativo da CLI, edite os valores de variáveis e pressione
Enter
.- 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 estiver usando a CLI do Azure localmente, inicie o aplicativo de console da CLI e faça logon na CLI do Azure.
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
No aplicativo da CLI, execute o comando az group create para criar um grupo de recursos. O comando a seguir cria um grupo de recursos chamado MyResourceGroup na localização eastus.
Observação
Opcionalmente, você pode definir um local diferente. Para ver os locais disponíveis, execute
az account list-locations
. Este início rápido 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}
Registrar um dispositivo
Um dispositivo deve ser registrado no hub IoT antes de poder se conectar. Nesta seção, você usará a CLI do Azure para criar uma identidade do dispositivo.
Se você já tiver um dispositivo registrado em seu hub IoT, poderá ignorar essa seção.
Para criar uma identidade do dispositivo:
Execute o comando criar az iot hub device-identity no seu shell da CLI. Esse comando cria a identidade do dispositivo.
YourIoTHubName. Substitua esse espaço reservado e as chaves ao redor no comando a seguir, usando o nome que você escolheu para o hub IoT. Um nome de Hub IoT deve ser exclusivo globalmente no Azure.
myDevice. Você pode usar esse nome para a identidade do dispositivo ao longo deste artigo ou fornecer um nome de dispositivo diferente.
az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
Execute o comando mostrar az iot hub device-identity connection-string.
az iot hub device-identity connection-string show --device-id myDevice --hub-name {YourIoTHubName}
A saída da cadeia de conexão está no seguinte formato:
HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
Salve a cadeia de conexão em uma localização segura.
Observação
Mantenha seu aplicativo da CLI aberto. Use-o em etapas posteriores.
Recuperar a cadeia de conexão de serviço
Você também precisa de uma cadeia de conexão de serviço do seu hub IoT para permitir que aplicativos de back-end se conectem ao hub IoT e recuperem mensagens. O comando a seguir recupera a cadeia de conexão de serviço para o hub IoT:
YourIoTHubName: substitua esse espaço reservado no comando a seguir pelo nome escolhido para o hub IoT.
az iot hub connection-string show \
--policy-name service --hub-name {YourIoTHubName} --output table
Anote cadeia de conexão de serviço, que se parece com:
HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}
Você usará esse valor posteriormente no início rápido. Essa cadeia de conexão de serviço é diferente da cadeia de conexão do dispositivo que você anotou na etapa anterior.
Simular um dispositivo
O aplicativo de dispositivo simulado se conecta a um ponto de extremidade específico do dispositivo no seu hub IoT, envia telemetria simulada e escuta chamadas de método direto do seu hub. Neste início rápido, a chamada de método direto do hub informa ao dispositivo para alterar o intervalo de envio da telemetria. O dispositivo simulado envia uma confirmação de volta ao hub depois de executar o método direto.
Em uma janela do terminal local, navegue até a pasta raiz do projeto de Node.js de exemplo. Em seguida, navegue até a pasta iot-hub\Quickstarts\simulated-device-2 .
Abra o arquivo SimulatedDevice.js em um editor de texto de sua escolha.
Substitua o valor da
connectionString
variável pela cadeia de conexão do dispositivo que você anotou anteriormente. Em seguida, salve suas alterações emSimulatedDevice.js.Na janela do terminal local, execute os seguintes comandos para instalar as bibliotecas necessárias e executar o aplicativo de dispositivo simulado:
npm install node SimulatedDevice.js
A captura de tela a seguir mostra o resultado à medida que o aplicativo de dispositivo simulado envia telemetria para o seu hub IoT:
Chamar o método direto
O aplicativo de back-end se conecta a um ponto de extremidade do lado do serviço em seu hub IoT. O aplicativo faz chamadas de método direto para um dispositivo pelo hub IoT e escuta as confirmações. Um aplicativo de back-end do Hub IoT normalmente é executado na nuvem.
Em outra janela do terminal local, navegue até a pasta raiz do projeto de Node.js de exemplo. Em seguida, navegue até a pasta iot-hub\Quickstarts\back-end-application .
Abra o arquivo BackEndApplication.js em um editor de texto de sua escolha.
Substitua o valor da
connectionString
variável pela cadeia de conexão de serviço que você anotou anteriormente. Em seguida, salve suas alterações emBackEndApplication.js.Na janela do terminal local, execute os seguintes comandos para instalar as bibliotecas necessárias e executar o aplicativo de back-end:
npm install node BackEndApplication.js
A captura de tela a seguir mostra a saída à medida que o aplicativo faz uma chamada de método direto para o dispositivo e recebe uma confirmação:
Depois de executar o aplicativo de back-end, você verá uma mensagem na janela do terminal local executando o dispositivo simulado, e a taxa em que ele envia mensagens muda:
Este início rápido usa dois aplicativos Python:
- Um aplicativo de dispositivo simulado que responde aos métodos diretos chamados de um aplicativo de back-end.
- Um aplicativo de back-end que invoca métodos diretos no dispositivo simulado.
Pré-requisitos
Uma conta do Azure com uma assinatura ativa. Crie um gratuitamente.
Python 3.7+. Para obter outras versões do Python com suporte, consulte os recursos do dispositivo IoT do Azure.
Clone ou baixe os exemplos de Python do Azure IoT do GitHub.
Verifique se a porta 8883 está aberta no firewall. O exemplo de dispositivo neste início rápido usa o protocolo MQTT, que se comunica pela porta 8883. Essa porta pode ser bloqueada em alguns ambientes de rede corporativa e educacional. Para obter mais informações e maneiras de solucionar esse problema, consulte a seção Conectar-se ao Hub IoT de Comunicar-se com um hub IoT usando o protocolo MQTT.
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Introdução ao Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Se você estiver executando no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas em seu terminal. Para obter outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar e gerenciar extensões com a CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para atualizar para a versão mais recente, execute az upgrade.
Observação
Este artigo usa a versão mais recente da extensão de IoT do Azure, chamada azure-iot
. A versão herdada é chamada azure-cli-iot-ext
. Você deve ter apenas uma versão instalada por vez. Use o comando az extension list
para validar quais extensões estão instaladas.
Use az extension remove --name azure-cli-iot-ext
para remover a versão herdada da extensão.
Use az extension add --name azure-iot
para adicionar a nova versão da extensão.
Para ver quais extensões estão instaladas no momento, use az extension list
.
Crie um hub IoT
Nesta seção, você usa a CLI do Azure para criar um hub IoT e um grupo de recursos. Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. Um hub IoT atua como um hub central de mensagens para comunicação bidirecional entre o aplicativo IoT e os dispositivos.
Se você já tiver um hub IoT em sua assinatura do Azure, ignore esta seção.
Para criar um hub IoT e um grupo de recursos:
Inicie o aplicativo da CLI. Para executar os comandos da CLI no restante deste artigo, copie a sintaxe do comando, cole-a no aplicativo da CLI, edite os valores de variáveis e pressione
Enter
.- 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 estiver usando a CLI do Azure localmente, inicie o aplicativo de console da CLI e faça logon na CLI do Azure.
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
No aplicativo da CLI, execute o comando az group create para criar um grupo de recursos. O comando a seguir cria um grupo de recursos chamado MyResourceGroup na localização eastus.
Observação
Opcionalmente, você pode definir um local diferente. Para ver os locais disponíveis, execute
az account list-locations
. Este início rápido 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}
Registrar um dispositivo
Um dispositivo deve ser registrado no hub IoT antes de poder se conectar. Nesta seção, você usará a CLI do Azure para criar uma identidade do dispositivo.
Se você já tiver um dispositivo registrado em seu hub IoT, poderá ignorar essa seção.
Para criar uma identidade do dispositivo:
Execute o comando criar az iot hub device-identity no seu shell da CLI. Esse comando cria a identidade do dispositivo.
YourIoTHubName. Substitua esse espaço reservado e as chaves ao redor no comando a seguir, usando o nome que você escolheu para o hub IoT. Um nome de Hub IoT deve ser exclusivo globalmente no Azure.
myDevice. Você pode usar esse nome para a identidade do dispositivo ao longo deste artigo ou fornecer um nome de dispositivo diferente.
az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
Execute o comando mostrar az iot hub device-identity connection-string.
az iot hub device-identity connection-string show --device-id myDevice --hub-name {YourIoTHubName}
A saída da cadeia de conexão está no seguinte formato:
HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
Salve a cadeia de conexão em uma localização segura.
Observação
Mantenha seu aplicativo da CLI aberto. Use-o em etapas posteriores.
Recupere a string de conexão do serviço
Você também precisa de uma cadeia de conexão de serviço para habilitar o aplicativo de back-end para se conectar ao hub IoT e recuperar as mensagens. O comando a seguir recupera a cadeia de conexão de serviço para o hub IoT:
YourIoTHubName: substitua esse espaço reservado no comando a seguir pelo nome escolhido para o hub IoT.
az iot hub connection-string show \
--policy-name service \
--hub-name {YourIoTHubName} \
--output table
Anote cadeia de conexão de serviço, que se parece com:
HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}
Você usará esse valor posteriormente no início rápido. Essa cadeia de conexão de serviço é diferente da cadeia de conexão do dispositivo que você anotou na etapa anterior.
Simular um dispositivo
O aplicativo de dispositivo simulado se conecta a um ponto de extremidade específico do dispositivo no seu hub IoT, envia telemetria simulada e escuta chamadas de método direto do seu hub. Neste início rápido, a chamada de método direto do hub informa ao dispositivo para alterar o intervalo de envio da telemetria. O dispositivo simulado envia uma confirmação de volta ao hub depois de executar o método direto.
Em uma janela de terminal local, navegue até a pasta raiz do projeto python de exemplo. Em seguida, navegue até a pasta iot-hub\Quickstarts\simulated-device-2 .
Abra o arquivo SimulatedDeviceSync.py em um editor de texto de sua escolha.
Substitua o valor da
CONNECTION_STRING
variável pela cadeia de conexão do dispositivo que você anotou anteriormente. Em seguida, salve suas alterações em SimulatedDeviceSync.py.Na janela do terminal local, execute os seguintes comandos para instalar as bibliotecas necessárias para o aplicativo de dispositivo simulado:
pip install azure-iot-device
Na janela do terminal local, execute os seguintes comandos para executar o aplicativo de dispositivo simulado:
python SimulatedDeviceSync.py
A captura de tela a seguir mostra o resultado à medida que o aplicativo de dispositivo simulado envia telemetria para o seu hub IoT:
Chamar o método direto
O aplicativo de back-end se conecta a um ponto de extremidade do lado do serviço no seu Hub IoT. O aplicativo faz chamadas de método direto para um dispositivo pelo hub IoT e escuta as confirmações. Um aplicativo de back-end do Hub IoT normalmente é executado na nuvem.
Em outra janela do terminal local, navegue até a pasta raiz do projeto python de exemplo. Em seguida, navegue até a pasta iot-hub\Quickstarts\back-end-application .
Abra o arquivo BackEndApplication.py em um editor de texto de sua escolha.
Substitua o valor da
CONNECTION_STRING
variável pela cadeia de conexão de serviço que você anotou anteriormente. Em seguida, salve suas alterações em BackEndApplication.py.Na janela do terminal local, execute os seguintes comandos para instalar as bibliotecas necessárias para o aplicativo de dispositivo simulado:
pip install azure-iot-hub
Na janela do terminal local, execute os seguintes comandos para executar o aplicativo de back-end:
python BackEndApplication.py
A captura de tela a seguir mostra a saída à medida que o aplicativo faz uma chamada de método direto para o dispositivo e recebe uma confirmação:
Depois de executar o aplicativo de back-end, você verá uma mensagem na janela do console sobre o dispositivo simulado, e a taxa em que ele envia mensagens mudará.
Limpar os recursos
Se você continuar para o próximo artigo recomendado, poderá manter os recursos que já criou e reutilizá-los.
Caso contrário, você poderá excluir os recursos do Azure criados neste artigo para evitar encargos.
Importante
A exclusão de um grupo de recursos é irreversível. O grupo de recursos e todos os recursos contidos nele são excluídos permanentemente. Certifique-se de não excluir acidentalmente o grupo de recursos ou os recursos errados. Se você criou o hub IoT dentro de um grupo de recursos existente que contém recursos que deseja manter, exclua apenas o recurso do Hub IoT em vez de excluir o grupo de recursos.
Para excluir um grupo de recursos por nome:
Entre no portal do Azure e selecione Grupos de recursos.
Na caixa de texto Filtrar para qualquer campo , digite o nome do grupo de recursos que contém o hub IoT.
Na lista de resultados, selecione o grupo de recursos que contém o hub IoT.
No painel de trabalho do grupo de recursos, selecione Excluir grupo de recursos na barra de comandos.
Você receberá uma solicitação para confirmar a exclusão do grupo de recursos. Digite o nome do grupo de recursos novamente para confirmar e selecione Excluir. Após alguns instantes, o grupo de recursos, e todos os recursos contidos nele, serão excluídos.
Próximas etapas
Neste início rápido, você já chamou um método direto em um dispositivo de um aplicativo de serviço e respondeu à chamada de método direto em um aplicativo de dispositivo simulado.
Para saber como rotear mensagens do dispositivo para a nuvem para destinos diferentes na nuvem, prossiga para o próximo tutorial.