Compartilhar via


Use a extensão de IoT da CLI do Azure para gerenciamento de dispositivo Hub IoT do Azure

Diagrama de ponta a ponta

Neste artigo, você aprenderá a usar a extensão IoT para CLI do Azure com várias opções de gerenciamento em sua máquina de desenvolvimento. A extensão de IoT para CLI do Azure é uma extensão de IoT de software livre que adiciona os recursos da CLI do Azure. A CLI do Azure inclui comandos para interagir com pontos de extremidade de gerenciamento e gerente de recursos do Azure. Por exemplo, é possível usar a CLI do Azure para criar uma VM do Azure ou um Hub IoT. Uma extensão CLI permite que um serviço do Azure amplie a CLI do Azure, fornecendo acesso a recursos específicos de serviços adicionais. A extensão de IoT fornece aos desenvolvedores de IoT acesso de linha de comando para todos os Hub IoT, IoT Edge, e recursos do Serviço de Provisionamento de Dispositivos no Hub IoT.

Opção de gerenciamento Tarefa
Métodos diretos Faça com que um dispositivo comece ou pare de enviar mensagens ou seja reinicializado.
Propriedades desejadas do gêmeo Coloque um dispositivo em alguns estados, como definir um LED como verde ou definir o intervalo de envio de telemetria como 30 minutos.
Propriedades relatadas do gêmeo Obtenha o estado relatado de um dispositivo. Por exemplo, o dispositivo relata que o LED está piscando no momento.
Marcações do gêmeo Armazene os metadados específicos do dispositivo na nuvem. Por exemplo, o local de implantação de uma máquina de vendas.
Consultas de dispositivo gêmeo Consulte todos os dispositivos gêmeos para recuperar aqueles com condições arbitrárias, como identificar os dispositivos que estão disponíveis para uso.

Para obter explicações mais detalhadas sobre as diferenças e diretrizes sobre como usar essas opções, consulte Diretrizes de comunicação do dispositivo para a nuvem e Diretrizes de comunicação da nuvem para o dispositivo.

Dispositivos gêmeos são documentos JSON que armazenam informações do estado do dispositivo (metadados, configurações e condições). O Hub IoT persiste um dispositivo gêmeo para cada dispositivo que você conecta a ele. Para obter mais informações sobre dispositivos gêmeos, consulte Introdução aos dispositivos gêmeos.

Observação

Este artigo usa a versão mais recente da extensão de IoT do Azure, chamada azure-iot. A versão herdada chama-se 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 você tem instaladas, use az extension list.

Observação

Os recursos descritos neste artigo estão disponíveis apenas na camada padrão do Hub IoT. Para obter mais informações sobre as camadas básica e padrão/gratuita do Hub IoT, confira Escolher a camada certa do Hub IoT para a sua solução.

Pré-requisitos

  • Conclua o tutorial do simulador online Raspberry Pi ou um dos tutoriais do dispositivo. Por exemplo, você pode ir para Raspberry Pi com Node.js ou para um dos guias de início rápido Enviar telemetria. Os artigos cobrem os seguintes requisitos:

    • Uma assinatura ativa do Azure.
    • Um hub IoT do Azure em sua assinatura.
    • O aplicativo cliente que envia mensagens para o hub IoT do Azure.
  • Verifique se o dispositivo está sendo executado com o aplicativo cliente durante este tutorial.

  • Python 2.7x ou Python 3.x

  • A CLI do Azure. Se você precisar instalar, confira Instalar a CLI do Azure. No mínimo, a versão da CLI do Azure deve ser 2.0.70 ou superior. Use az –version para validar.

Observação

Este artigo usa a versão mais recente da extensão de IoT do Azure, chamada azure-iot. A versão herdada chama-se 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 você tem instaladas, use az extension list.

  • Instalar a extensão de IoT. A maneira mais simples é executar az extension add --name azure-iot. O Leiame da extensão de IoT descreve várias maneiras de instalar a extensão.

Entre na sua conta do Azure

Faça logon em sua conta do Azure executando o comando a seguir:

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 desejadas do dispositivo gêmeo

Defina um intervalo de propriedade desejado = 3000 executando o seguinte comando:

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

Essa propriedade pode ser lido do seu dispositivo.

Propriedades relatadas do dispositivo gêmeo

Obtenha as propriedades relatadas do dispositivo executando o seguinte comando:

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

Um das propriedades gêmeas relatadas é $metadata. $lastUpdated que mostra a última vez que o aplicativo do dispositivo atualizou o conjunto de propriedades relatadas.

Marcas do dispositivo gêmeo

Exiba as marcações e as propriedades do dispositivo executando o seguinte comando:

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

Adicione um campo role = temperature&humidity ao dispositivo executando 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 gêmeo

Consulte dispositivo com uma tag role = 'temperature&humidity' executando 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 aqueles com uma tag role = 'temperature&humidity' executando o seguinte comando:

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

Próximas etapas

Você aprendeu como monitorar mensagens do dispositivo para a nuvem e enviar mensagens da nuvem para o dispositivo entre o dispositivo IoT e o Hub IoT do Azure.

Para continuar a introdução ao Hub IoT do Azure e explorar todos os outros cenários de IoT estendidos, confira: