Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste início rápido, você usa um método direto para controlar um dispositivo simulado conectado ao seu 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 dispositivos para a nuvem para armazenamento ou processamento. Você pode usar métodos diretos para alterar remotamente o comportamento de dispositivos conectados ao seu 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 diretas do método, esta aplicação conecta-se a um endpoint 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 num dispositivo, esta aplicação liga-se ao ponto de extremidade do lado do servidor no seu hub IoT.
Pré-requisitos
Uma conta do Azure com uma assinatura ativa. Crie um gratuitamente.
Os dois aplicativos de exemplo que você executa neste início rápido são escritos usando C#. Você precisa do .NET SDK 6.0 ou superior em sua máquina de desenvolvimento.
Pode descarregar o SDK de .NET Core para múltiplas plataformas de .NET.
Pode verificar qual a versão atual do C# no seu computador de desenvolvimento através do seguinte comando:
dotnet --versionClone ou baixe o SDK do Microsoft Azure IoT para .NET do GitHub. Os aplicativos de exemplo usados por este início rápido estã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. Esta porta pode estar bloqueada em alguns ambientes de redes corporativas e educacionais. Para obter mais informações e maneiras de contornar 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 na Azure Cloud Shell. Para obter mais informações, consulte Introdução ao Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale o CLI do Azure. Se você estiver executando no Windows ou macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre extensões, consulte Usar e gerenciar extensões com a CLI do Azure.
Execute az version para descobrir 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 do Azure IoT, chamada azure-iot. A versão herdada é chamada azure-cli-iot-ext. Você só deve ter uma versão instalada de cada vez. Você pode usar o comando az extension list para validar as extensões atualmente 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 de mensagens central para comunicação bidirecional entre seu aplicativo IoT e os dispositivos.
Se você já tiver um hub IoT em sua assinatura do Azure, poderá ignorar esta seção.
Para criar um hub IoT e um grupo de recursos:
Inicie seu aplicativo CLI. Para executar os comandos da CLI no restante deste artigo, copie a sintaxe do comando, cole-a no aplicativo da CLI, edite valores de variáveis e pressione
Enter.- 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, inicie seu aplicativo de console da CLI e entre 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-iotEm seu aplicativo CLI, 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 .
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 como mostrado no exemplo de comando.az group create --name MyResourceGroup --location eastusExecute o comando az iot hub create para criar um hub IoT. Pode levar alguns minutos para criar um hub IoT.
YourIoTHubName. Substitua este espaço reservado e as chaves que o rodeiam no comando a seguir, usando o nome escolhido para o seu hub IoT. Um nome de hub IoT deve ser globalmente exclusivo no Azure. Use o nome do hub IoT no restante deste guia de iniciação rápida onde se veja o marcador.
az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
Recuperar a cadeia de conexão de 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 seu hub IoT como um todo e é diferente da cadeia de conexão de dispositivo recuperada na seção anterior.
O comando a seguir recupera a cadeia de conexão de serviço para seu hub IoT:
az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table
Tome nota da cadeia de conexão do serviço, que é parecido com o seguinte:
HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}
Use 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 em seu hub IoT, envia telemetria simulada e escuta chamadas de método diretas de seu hub. Neste início rápido, a chamada de método direta do hub diz ao dispositivo para alterar o intervalo no qual ele envia telemetria. O dispositivo simulado envia uma confirmação de volta ao seu 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 restoreExecute o seguinte comando para criar e executar o aplicativo de dispositivo simulado.
{DeviceConnectionString}: Substitua este espaço reservado pela cadeia de conexão do dispositivo que você anotou anteriormente.dotnet run -- -c "{DeviceConnectionString}"A seguinte captura de ecrã mostra a saída à medida que a aplicação de dispositivo simulado envia telemetria para o seu hub IoT:
Chamar o método direto
A aplicação de serviço conecta-se a um ponto de extremidade do lado do servidor no seu Hub IoT. A aplicação faz chamadas diretas de método para um dispositivo através do seu hub IoT e aguarda pelas confirmações. Um aplicativo de serviço do Hub IoT normalmente é executado na nuvem.
Em outra janela de 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 buildNa janela do terminal local, execute os seguintes comandos para criar e executar o aplicativo de serviço.
{ServiceConnectionString}: Substitui este espaço marcador pela cadeia de ligação de serviço do Hub IoT que anotaste anteriormente.{DeviceName}: Substitua este marcador de posição pelo nome do dispositivo que registou.dotnet run -- -c "{ServiceConnectionString}" -d {DeviceName}A captura de tela a seguir mostra a saída quando 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 mensagens muda:
Este guia de início rápido usa dois aplicativos Java:
- Uma aplicação de dispositivo simulado que responde a métodos diretos chamados de uma aplicação de back-end.
- Uma aplicação 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.
Kit de Desenvolvimento Java SE 8. Em Suporte de longo prazo Java para Azure e Azure Stack, em Suporte de longo prazo, selecione Java 8.
Você pode verificar a versão atual do Java em sua máquina de desenvolvimento usando o seguinte comando:
java -version-
Você pode verificar a versão atual do Maven em sua máquina de desenvolvimento usando o seguinte comando:
mvn --version Clone ou baixe os Exemplos do Azure IoT para Java 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. Esta porta pode estar bloqueada em alguns ambientes de redes corporativas e educacionais. Para obter mais informações e maneiras de contornar 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 na Azure Cloud Shell. Para obter mais informações, consulte Introdução ao Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale o CLI do Azure. Se você estiver executando no Windows ou macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre extensões, consulte Usar e gerenciar extensões com a CLI do Azure.
Execute az version para descobrir 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 do Azure IoT, chamada azure-iot. A versão herdada é chamada azure-cli-iot-ext. Você só deve ter uma versão instalada de cada vez. Você pode usar o comando az extension list para validar as extensões atualmente 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.
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 contêiner lógico no qual os recursos do Azure são implantados e gerenciados. Um hub IoT atua como um hub de mensagens central para comunicação bidirecional entre seu aplicativo IoT e os dispositivos.
Se você já tiver um hub IoT em sua assinatura do Azure, poderá ignorar esta seção.
Para criar um hub IoT e um grupo de recursos:
Inicie seu aplicativo CLI. Para executar os comandos da CLI no restante deste artigo, copie a sintaxe do comando, cole-a no aplicativo da CLI, edite valores de variáveis e pressione
Enter.- 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, inicie seu aplicativo de console da CLI e entre 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-iotEm seu aplicativo CLI, 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 .
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 como mostrado no exemplo de comando.az group create --name MyResourceGroup --location eastusExecute o comando az iot hub create para criar um hub IoT. Pode levar alguns minutos para criar um hub IoT.
YourIoTHubName. Substitua este espaço reservado e as chaves que o rodeiam no comando a seguir, usando o nome escolhido para o seu hub IoT. Um nome de hub IoT deve ser globalmente exclusivo no Azure. Use o nome do hub IoT no restante deste guia de iniciação rápida onde se veja o marcador.
az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
Registar um dispositivo
É necessário registar um dispositivo no hub IoT antes de o mesmo se poder ligar. Nesta seção, você usa a CLI do Azure para criar uma identidade de dispositivo.
Se já tiver um dispositivo registado no seu hub IoT, pode ignorar esta secção.
Para criar uma identidade de dispositivo:
Corre o comando az iot hub device-identity create no ambiente da CLI. Este comando cria a identidade do dispositivo.
YourIoTHubName. Substitua este espaço reservado e as chaves que o rodeiam no comando a seguir, usando o nome escolhido para o seu hub IoT. Um nome de hub IoT deve ser globalmente exclusivo no Azure.
myDevice. Você pode usar esse nome para a ID 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 az iot hub device-identity connection-string show.
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 um local seguro.
Observação
Mantenha seu aplicativo CLI aberto. Você vai usá-lo nas 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 permitir que o aplicativo back-end se conecte ao seu hub IoT e recupere as mensagens. O comando a seguir recupera a cadeia de conexão de serviço para seu hub IoT:
YourIoTHubName: substitua este espaço reservado no comando a seguir pelo nome escolhido para seu hub IoT.
az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table
Tome nota da cadeia de conexão do serviço, que é parecido com o seguinte:
HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}
Use esse valor posteriormente no início rápido. Esta cadeia de conexão de serviço é diferente da cadeia de conexão de 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 em seu hub IoT, envia telemetria simulada e escuta chamadas de método diretas de seu hub. Neste início rápido, a chamada de método direta do hub diz ao dispositivo para alterar o intervalo no qual ele envia telemetria. O dispositivo simulado envia uma confirmação de volta ao seu hub depois de executar o método direto.
Em uma janela de 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 variável
connStringpela cadeia de conexão do dispositivo que anotou anteriormente. Em seguida, salve as alterações no 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 packageNa 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.jarA seguinte captura de ecrã mostra a saída à medida que a aplicação de dispositivo simulado envia telemetria para o seu hub IoT:
Chamar o método direto
A aplicação back-end liga-se a um ponto de extremidade do lado do servidor no seu Hub IoT. A aplicação faz chamadas diretas de método para um dispositivo através do seu hub IoT e aguarda pelas confirmações. Um aplicativo back-end do Hub IoT normalmente é executado na nuvem.
Em outra janela de 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 variável
iotHubConnectionStringpela cadeia de conexão de serviço anteriormente anotada. Em seguida, salve as alterações no BackEndApplication.java.Na janela do terminal local, execute os seguintes comandos para instalar as bibliotecas necessárias e criar o aplicativo back-end:
mvn clean packageNa janela do terminal local, execute os seguintes comandos para executar o aplicativo back-end:
java -jar target/back-end-application-1.0.0-with-deps.jarA captura de tela a seguir mostra a saída quando o aplicativo faz uma chamada de método direto para o dispositivo e recebe uma confirmação:
Depois de executar o aplicativo back-end, você verá uma mensagem na janela do terminal local executando o dispositivo simulado e a taxa na qual ele envia mensagens muda:
Este guia de início rápido usa duas aplicações Node.js:
- Uma aplicação de dispositivo simulado que responde a métodos diretos chamados de uma aplicação de back-end. Para receber as chamadas diretas do método, esta aplicação conecta-se a um endpoint específico do dispositivo no seu hub IoT.
- Uma aplicação no 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 em seu hub IoT.
Pré-requisitos
Uma conta do Azure com uma assinatura ativa. Crie um gratuitamente.
-
Pode verificar qual a versão atual do Node.js no seu computador de desenvolvimento através do seguinte comando:
node --version Clone ou baixe as amostras de Azure IoT Node.js 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. Esta porta pode estar bloqueada em alguns ambientes de redes corporativas e educacionais. Para obter mais informações e maneiras de contornar 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 na Azure Cloud Shell. Para obter mais informações, consulte Introdução ao Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale o CLI do Azure. Se você estiver executando no Windows ou macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre extensões, consulte Usar e gerenciar extensões com a CLI do Azure.
Execute az version para descobrir 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 do Azure IoT, chamada azure-iot. A versão herdada é chamada azure-cli-iot-ext. Você só deve ter uma versão instalada de cada vez. Você pode usar o comando az extension list para validar as extensões atualmente 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.
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 contêiner lógico no qual os recursos do Azure são implantados e gerenciados. Um hub IoT atua como um hub de mensagens central para comunicação bidirecional entre seu aplicativo IoT e os dispositivos.
Se você já tiver um hub IoT em sua assinatura do Azure, poderá ignorar esta seção.
Para criar um hub IoT e um grupo de recursos:
Inicie seu aplicativo CLI. Para executar os comandos da CLI no restante deste artigo, copie a sintaxe do comando, cole-a no aplicativo da CLI, edite valores de variáveis e pressione
Enter.- 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, inicie seu aplicativo de console da CLI e entre 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-iotEm seu aplicativo CLI, 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 .
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 como mostrado no exemplo de comando.az group create --name MyResourceGroup --location eastusExecute o comando az iot hub create para criar um hub IoT. Pode levar alguns minutos para criar um hub IoT.
YourIoTHubName. Substitua este espaço reservado e as chaves que o rodeiam no comando a seguir, usando o nome escolhido para o seu hub IoT. Um nome de hub IoT deve ser globalmente exclusivo no Azure. Use o nome do hub IoT no restante deste guia de iniciação rápida onde se veja o marcador.
az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
Registar um dispositivo
É necessário registar um dispositivo no hub IoT antes de o mesmo se poder ligar. Nesta seção, você usa a CLI do Azure para criar uma identidade de dispositivo.
Se já tiver um dispositivo registado no seu hub IoT, pode ignorar esta secção.
Para criar uma identidade de dispositivo:
Corre o comando az iot hub device-identity create no ambiente da CLI. Este comando cria a identidade do dispositivo.
YourIoTHubName. Substitua este espaço reservado e as chaves que o rodeiam no comando a seguir, usando o nome escolhido para o seu hub IoT. Um nome de hub IoT deve ser globalmente exclusivo no Azure.
myDevice. Você pode usar esse nome para a ID 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 az iot hub device-identity connection-string show.
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 um local seguro.
Observação
Mantenha seu aplicativo CLI aberto. Você vai usá-lo nas etapas posteriores.
Recuperar a cadeia de conexão de serviço
Você também precisa da cadeia de conexão de serviço do hub IoT para permitir que o aplicativo back-end se conecte ao hub IoT e recupere as mensagens. O comando a seguir recupera a cadeia de conexão de serviço para seu hub IoT:
YourIoTHubName: substitua este espaço reservado no comando a seguir pelo nome escolhido para seu hub IoT.
az iot hub connection-string show \
--policy-name service --hub-name {YourIoTHubName} --output table
Tome nota da cadeia de conexão do serviço, que é parecido com o seguinte:
HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}
Use esse valor posteriormente no início rápido. Esta cadeia de conexão de serviço é diferente da cadeia de conexão de 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 em seu hub IoT, envia telemetria simulada e escuta chamadas de método diretas de seu hub. Neste início rápido, a chamada de método direta do hub diz ao dispositivo para alterar o intervalo no qual ele envia telemetria. O dispositivo simulado envia uma confirmação de volta ao seu hub depois de executar o método direto.
Em uma janela de 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 variável
connectionStringpela cadeia de conexão do dispositivo que anotou anteriormente. Em seguida, salve suas alterações em SimulatedDevice.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.jsA seguinte captura de ecrã mostra a saída à medida que a aplicação de dispositivo simulado envia telemetria para o seu hub IoT:
Chamar o método direto
A aplicação back-end conecta-se a um ponto de extremidade do serviço no seu hub IoT. A aplicação faz chamadas diretas de método para um dispositivo através do seu hub IoT e aguarda pelas confirmações. Um aplicativo back-end do Hub IoT normalmente é executado na nuvem.
Em outra janela de terminal local, navegue até à pasta raiz do projeto de exemplo Node.js. 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 variável
connectionStringpela cadeia de conexão de serviço anteriormente anotada. Em seguida, salve suas alterações em BackEndApplication.js.Na janela do terminal local, execute os seguintes comandos para instalar as bibliotecas necessárias e executar o aplicativo back-end:
npm install node BackEndApplication.jsA captura de tela a seguir mostra a saída quando o aplicativo faz uma chamada de método direto para o dispositivo e recebe uma confirmação:
Depois de executar o aplicativo back-end, você verá uma mensagem na janela do terminal local executando o dispositivo simulado e a taxa na qual ele envia mensagens muda:
Este guia de início rápido usa dois aplicativos Python:
- Uma aplicação de dispositivo simulado que responde a métodos diretos chamados de uma aplicação de back-end.
- Uma aplicação no back-end que chama os métodos diretos no dispositivo simulado.
Pré-requisitos
Uma conta do Azure com uma assinatura ativa. Crie um gratuitamente.
Python 3.7+. Para outras versões do Python suportadas, consulte Recursos de dispositivo IoT do Azure.
Clone ou baixe os exemplos do Azure IoT Python 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. Esta porta pode estar bloqueada em alguns ambientes de redes corporativas e educacionais. Para obter mais informações e maneiras de contornar 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 na Azure Cloud Shell. Para obter mais informações, consulte Introdução ao Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale o CLI do Azure. Se você estiver executando no Windows ou macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre extensões, consulte Usar e gerenciar extensões com a CLI do Azure.
Execute az version para descobrir 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 do Azure IoT, chamada azure-iot. A versão herdada é chamada azure-cli-iot-ext. Você só deve ter uma versão instalada de cada vez. Você pode usar o comando az extension list para validar as extensões atualmente 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.
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 contêiner lógico no qual os recursos do Azure são implantados e gerenciados. Um hub IoT atua como um hub de mensagens central para comunicação bidirecional entre seu aplicativo IoT e os dispositivos.
Se você já tiver um hub IoT em sua assinatura do Azure, poderá ignorar esta seção.
Para criar um hub IoT e um grupo de recursos:
Inicie seu aplicativo CLI. Para executar os comandos da CLI no restante deste artigo, copie a sintaxe do comando, cole-a no aplicativo da CLI, edite valores de variáveis e pressione
Enter.- 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, inicie seu aplicativo de console da CLI e entre 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-iotEm seu aplicativo CLI, 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 .
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 como mostrado no exemplo de comando.az group create --name MyResourceGroup --location eastusExecute o comando az iot hub create para criar um hub IoT. Pode levar alguns minutos para criar um hub IoT.
YourIoTHubName. Substitua este espaço reservado e as chaves que o rodeiam no comando a seguir, usando o nome escolhido para o seu hub IoT. Um nome de hub IoT deve ser globalmente exclusivo no Azure. Use o nome do hub IoT no restante deste guia de iniciação rápida onde se veja o marcador.
az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
Registar um dispositivo
É necessário registar um dispositivo no hub IoT antes de o mesmo se poder ligar. Nesta seção, você usa a CLI do Azure para criar uma identidade de dispositivo.
Se já tiver um dispositivo registado no seu hub IoT, pode ignorar esta secção.
Para criar uma identidade de dispositivo:
Corre o comando az iot hub device-identity create no ambiente da CLI. Este comando cria a identidade do dispositivo.
YourIoTHubName. Substitua este espaço reservado e as chaves que o rodeiam no comando a seguir, usando o nome escolhido para o seu hub IoT. Um nome de hub IoT deve ser globalmente exclusivo no Azure.
myDevice. Você pode usar esse nome para a ID 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 az iot hub device-identity connection-string show.
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 um local seguro.
Observação
Mantenha seu aplicativo CLI aberto. Você vai usá-lo nas 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 permitir que o aplicativo back-end se conecte ao seu hub IoT e recupere as mensagens. O comando a seguir recupera a cadeia de conexão de serviço para seu hub IoT:
YourIoTHubName: substitua este espaço reservado no comando a seguir pelo nome escolhido para seu hub IoT.
az iot hub connection-string show \
--policy-name service \
--hub-name {YourIoTHubName} \
--output table
Tome nota da cadeia de conexão do serviço, que é parecido com o seguinte:
HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}
Use esse valor posteriormente no início rápido. Esta cadeia de conexão de serviço é diferente da cadeia de conexão de 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 em seu hub IoT, envia telemetria simulada e escuta chamadas de método diretas de seu hub. Neste início rápido, a chamada de método direta do hub diz ao dispositivo para alterar o intervalo no qual ele envia telemetria. O dispositivo simulado envia uma confirmação de volta ao seu 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 variável
CONNECTION_STRINGpela cadeia de conexão do dispositivo que anotou anteriormente. Em seguida, salve as 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-deviceNa janela do terminal local, execute os seguintes comandos para executar o aplicativo de dispositivo simulado:
python SimulatedDeviceSync.pyA seguinte captura de ecrã mostra a saída à medida que a aplicação de dispositivo simulado envia telemetria para o seu hub IoT:
Chamar o método direto
A aplicação back-end liga-se a um ponto de extremidade do lado do servidor no seu Hub IoT. A aplicação faz chamadas diretas de método para um dispositivo através do seu hub IoT e aguarda pelas confirmações. Um aplicativo 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 variável
CONNECTION_STRINGpela cadeia de conexão de serviço anteriormente anotada. Em seguida, salve as alterações no 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-hubNa janela do terminal local, execute os seguintes comandos para executar o aplicativo back-end:
python BackEndApplication.pyA captura de tela a seguir mostra a saída quando o aplicativo faz uma chamada de método direto para o dispositivo e recebe uma confirmação:
Depois de executar o aplicativo back-end, você verá uma mensagem na janela do console executando o dispositivo simulado e a taxa na qual ele envia mensagens muda:
Limpeza de recursos
Se continuar para o próximo artigo recomendado, pode manter os recursos que já criou e reutilizá-los.
Caso contrário, você pode excluir os recursos do Azure criados neste artigo para evitar cobranças.
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. Certifique-se de não eliminar acidentalmente os grupos de recursos ou 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 próprio recurso do Hub IoT em vez de excluir o grupo de recursos.
Para eliminar um grupo de recursos por nome:
Inicie sessão 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 seu hub IoT.
Na lista de resultados, selecione o grupo de recursos que contém seu hub IoT.
No painel de trabalho do grupo de recursos, selecione Excluir grupo de recursos na barra de comandos.
É-lhe pedido que confirme a eliminaçã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 no mesmo são eliminados.
Próximos passos
Neste início rápido, é chamado um método directo num dispositivo a partir de uma aplicação de serviço, e responde-se à chamada do método directo numa aplicação de dispositivo simulada.
Para saber como encaminhar mensagens do dispositivo para a nuvem para diferentes destinos na nuvem, continue para o próximo tutorial.