Partilhar via


Utilizar a extensão IoT para a CLI do Azure para Hub IoT do Azure gestão de dispositivos

Diagrama ponto a ponto

Neste artigo, irá aprender a utilizar a extensão IoT para a CLI do Azure com várias opções de gestão no seu computador de desenvolvimento. A extensão IoT da CLI do Azure é uma extensão de IoT open source que adiciona às capacidades da CLI do Azure. A CLI do Azure inclui comandos para interagir com Resource Manager do Azure e pontos finais de gestão. Por exemplo, pode utilizar a CLI do Azure para criar uma VM do Azure ou um hub IoT. Uma extensão da CLI permite que um serviço do Azure aumente a CLI do Azure, dando-lhe acesso a capacidades específicas do serviço adicionais. A extensão IoT dá aos programadores de IoT acesso de linha de comandos a todos os Hub IoT, IoT Edge e Hub IoT capacidades do Serviço de Aprovisionamento de Dispositivos.

Opção de gestão Tarefa
Métodos diretos Faça um ato de dispositivo, como iniciar ou parar o envio de mensagens ou reiniciar o dispositivo.
Propriedades pretendidas de duplos Coloque um dispositivo em determinados estados, como definir um LED para verde ou definir o intervalo de envio de telemetria para 30 minutos.
Propriedades comunicadas de duplos Obtenha o estado comunicado de um dispositivo. Por exemplo, o dispositivo comunica que o LED está a piscar agora.
Etiquetas de duplos Armazene metadados específicos do dispositivo na cloud. Por exemplo, a localização de implementação de um computador de venda automática.
Consultas de dispositivo duplo Consulte todos os dispositivos duplos para obter os duplos com condições arbitrárias, como identificar os dispositivos que estão disponíveis para utilização.

Para obter uma explicação mais detalhada sobre as diferenças e documentação de orientação sobre a utilização destas opções, veja Orientações de comunicação do dispositivo para a cloud e documentação de orientação de comunicação da Cloud para o dispositivo.

Os dispositivos duplos são documentos JSON que armazenam informações de estado dos dispositivos (metadados, configurações e condições). Hub IoT persiste um dispositivo duplo para cada dispositivo que se liga ao mesmo. Para obter mais informações sobre dispositivos duplos, consulte Introdução aos dispositivos duplos.

Nota

Este artigo utiliza a versão mais recente da extensão do Azure IoT, denominada azure-iot. A versão legada chama-se azure-cli-iot-ext. Só deve ter uma versão instalada de cada vez. Pode utilizar o comando az extension list para validar as extensões atualmente instaladas.

Utilize az extension remove --name azure-cli-iot-ext para remover a versão legada da extensão.

Utilize az extension add --name azure-iot para adicionar a nova versão da extensão.

Para ver que extensões instalou, utilize az extension list.

Nota

As funcionalidades descritas neste artigo só estão disponíveis no escalão padrão de Hub IoT. Para obter mais informações sobre as camadas de Hub IoT básicas e padrão/gratuitas, consulte Escolher o escalão de Hub IoT adequado para a sua solução.

Pré-requisitos

  • Conclua o tutorial do simulador online Raspberry Pi ou um dos tutoriais do dispositivo. Por exemplo, pode aceder ao Raspberry Pi com Node.js ou a um dos inícios rápidos Enviar telemetria . Estes artigos abrangem os seguintes requisitos:

    • Uma subscrição ativa do Azure.
    • Um hub IoT do Azure na sua subscrição.
    • Uma aplicação cliente que envia mensagens para o hub IoT do Azure.
  • Certifique-se de que o seu dispositivo está em execução com a aplicação cliente durante este tutorial.

  • Python 2.7x ou Python 3.x

  • A CLI do Azure. Se precisar de instalá-lo, consulte Instalar a CLI do Azure. No mínimo, a versão da CLI do Azure tem de ser 2.0.70 ou superior. Utilize az –version para validar.

Nota

Este artigo utiliza a versão mais recente da extensão do Azure IoT, denominada azure-iot. A versão legada chama-se azure-cli-iot-ext. Só deve ter uma versão instalada de cada vez. Pode utilizar o comando az extension list para validar as extensões atualmente instaladas.

Utilize az extension remove --name azure-cli-iot-ext para remover a versão legada da extensão.

Utilize az extension add --name azure-iot para adicionar a nova versão da extensão.

Para ver que extensões instalou, utilize az extension list.

  • Instale a extensão IoT. A forma mais simples consiste em executar az extension add --name azure-iot. O ficheiro Leia-me da extensão de IoT descreve várias formas de instalar a extensão.

Inicie sessão na sua conta do Azure

Inicie sessão na sua conta do Azure ao executar o seguinte comando:

az login

Métodos diretos

az iot hub invoke-device-method --device-id <your device id> \
  --hub-name <your hub name> \
  --method-name <the method name> \
  --method-payload <the method payload>

Propriedades pretendidas do dispositivo duplo

Defina um intervalo de propriedades pretendido = 3000 ao executar o seguinte comando:

az iot hub device-twin update -n <your hub name> \
  -d <your device id> --set properties.desired.interval=3000

Esta propriedade pode ser lida a partir do seu dispositivo.

Propriedades comunicadas do dispositivo duplo

Obtenha as propriedades comunicadas do dispositivo ao executar o seguinte comando:

az iot hub device-twin show -n <your hub name> -d <your device id>

Uma das propriedades comunicadas do duplo é $metadata.$lastUpdated, que mostra a última vez que a aplicação do dispositivo atualizou o conjunto de propriedades comunicado.

Etiquetas de dispositivo duplo

Apresente as etiquetas e propriedades do dispositivo ao executar o seguinte comando:

az iot hub device-twin show --hub-name <your hub name> --device-id <your device id>

Adicione uma função de campo = humidade de temperatura&ao dispositivo ao executar o seguinte comando:

az iot hub device-twin update \
  --hub-name <your hub name> \
  --device-id <your device id> \
  --set tags='{"role":"temperature&humidity"}'

Consultas de dispositivo duplo

Consultar dispositivos com uma etiqueta de função = "humidade da temperatura&" ao executar o seguinte comando:

az iot hub query --hub-name <your hub name> \
  --query-command "SELECT * FROM devices WHERE tags.role = 'temperature&humidity'"

Consulte todos os dispositivos, exceto os que têm uma etiqueta de função = "humidade da temperatura&" ao executar o seguinte comando:

az iot hub query --hub-name <your hub name> \
  --query-command "SELECT * FROM devices WHERE tags.role != 'temperature&humidity'"

Passos seguintes

Aprendeu a monitorizar mensagens do dispositivo para a nuvem e a enviar mensagens da cloud para o dispositivo entre o seu dispositivo IoT e Hub IoT do Azure.

Para continuar a começar a Hub IoT do Azure e explorar todos os cenários de IoT expandidos, veja o seguinte: