Exercício – Configurar a comunicação entre o Hub IoT e o IoT Edge
Este exercício usa a CLI do Azure no Azure Cloud Shell para executar os comandos necessários.
Instalar a extensão de IoT do Azure
Adicionar a extensão Internet das Coisas do Azure à instância do Cloud Shell na CLI do Azure.
az extension add --name azure-iot
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. Para verificar quais extensões estão instaladas, execute az extension list.
Execute az extension remove --name azure-cli-iot-ext para remover a versão herdada da extensão.
Execute az extension add --name azure-iot para adicionar a nova versão da extensão.
Criar um grupo de recursos
Crie um grupo de recursos chamado "IoTEdgeResources" executando o seguinte comando:
az group create --name IoTEdgeResources --location eastus2
A saída deverá ser semelhante a esta:
Criar um hub IoT
O código a seguir cria um hub gratuito de camada F1 no grupo de recursos "IoTEdgeResources". Substitua {hub_name} por um nome exclusivo para seu hub IoT.
az iot hub create --resource-group IoTEdgeResources --name {hub_name} --sku F1 --partition-count 2
Observação
Se você receber um erro porque já há um hub gratuito em sua assinatura, altere o SKU para S1. Cada assinatura só pode ter um hub IoT gratuito. Se você receber um erro de que o nome do hub IoT não está disponível, isso significa que outra pessoa já tem um hub com esse nome.
Registrar um dispositivo IoT Edge
No Azure Cloud Shell, siga estas etapas para criar um dispositivo chamado "myEdgeDevice" em seu hub.
Criar uma identidade do dispositivo
Os dispositivos IoT Edge se comportam e são gerenciados de forma diferente dos dispositivos IoT típicos. Use o --edge-enabled sinalizador para declarar essa identidade como um dispositivo do IoT Edge.
Importante
Se você vir um erro sobre "chaves de política iothubowner", verifique se o Cloud Shell está executando a versão mais recente da extensão azure-iot.
O comando a seguir cria a identidade do dispositivo:
az iot hub device-identity create --hub-name {hub_name} --device-id myEdgeDevice --edge-enabled
Recuperar a cadeia de conexão
Para recuperar a cadeia de conexão do dispositivo, que vincula seu dispositivo físico à sua identidade no Hub IoT, use este comando:
az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name} --output table
A saída deverá ser semelhante a esta:
HostName={YourIoTHubName}.azure-devices.net;DeviceId=MyNodeDevice;SharedAccessKey={YourSharedAccessKey}
Copie o valor da chave connectionString da saída JSON e salve-o. Esse valor é a cadeia de conexão do dispositivo, que é usada para configurar o runtime do IoT Edge na próxima seção.
Implantar o dispositivo IoT Edge
Use este comando da CLI para criar seu dispositivo IoT Edge com base no modelo predefinido iotedge-vm-deploy . Copie o comando em um editor de texto, substitua o texto do espaço reservado por suas informações e cole-o na janela bash ou Cloud Shell:
az deployment group create \
--resource-group IoTEdgeResources \
--template-uri "https://aka.ms/iotedge-vm-deploy" \
--parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' \
--parameters adminUsername='azureuser' \
--parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name
<REPLACE_WITH_HUB_NAME> -o tsv) \
--parameters authenticationType='password' \
--parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"
Verifique se sua senha (adminPasswordOrKey) tem pelo menos 12 caracteres e inclui três dos seguintes: caracteres minúsculos, caracteres maiúsculos, dígitos e caracteres especiais.
Pode levar alguns minutos para criar e iniciar a nova máquina virtual. Depois que a implantação for concluída, você receberá a saída formatada em JSON na CLI que contém as informações de SSH para se conectar à máquina virtual. Copie o valor da entrada SSH pública na seção de saídas :
Exibir o status do runtime do IoT Edge
Use este comando para se conectar à sua máquina virtual. Substitua azureuser se você usou um nome de usuário diferente durante a implantação da VM. Substitua <DNS-name> pelo nome DNS do seu computador.
ssh <admin-username>@<DNS-name>
Verificar se o dispositivo IoT Edge está configurado
Para verificar se o daemon de segurança do IoT Edge está em execução como um serviço do sistema, use os comandos iotedge.
Importante
Você precisa de privilégios elevados para executar comandos iotedge.
Execute o seguinte comando para verificar o status do dispositivo IoT Edge:
sudo systemctl status iotedge
A saída resultante será semelhante a esta:


Seu dispositivo IoT Edge agora está configurado. Ele está pronto para executar os módulos implantados na nuvem.
Para solucionar problemas do serviço, recupere os logs de serviço.
journalctl -u iotedge
Exiba todos os módulos em execução no seu dispositivo IoT Edge. Como o serviço acabou de ser iniciado pela primeira vez, somente o módulo edgeAgent está em execução. O módulo edgeAgent é executado por padrão e ajuda a instalar e a iniciar quaisquer módulos adicionais que você implante em seu dispositivo.
sudo iotedge list



