Поделиться через


Управление устройствами центра Интернета вещей Azure с помощью расширения Интернета вещей для Azure CLI

Комплексная схема

В этой статье вы узнаете, как использовать расширение Интернета вещей для Azure CLI с разными параметрами управления на компьютере разработки. Расширение центра Интернета вещей для Azure CLI является расширением центра Интернета вещей с открытым кодом, увеличивающим возможности Azure CLI. Azure CLI содержит команды для взаимодействия с Azure Resource Manager и конечными точками управления. Например, Azure CLI можно использовать для создания центра Интернета вещей или виртуальной машины Azure. Расширение CLI включает службу Azure для ускорения работы Azure CLI, за счет чего вы получаете доступ к дополнительным определенным функциям службы. Расширение Интернета вещей обеспечивает для разработчиков решений Интернета вещей доступ ко всем возможностям Центра Интернета вещей, IoT Edge и службе "Подготовка устройств к добавлению в Центр Интернета вещей" из командной строки.

Возможность управления Задача
Прямые методы Выполнение на устройстве таких действий, как запуск и остановка отправки сообщений или перезагрузка устройства.
Требуемые свойства двойников Перевод устройства в определенные состояния, например включение зеленого светодиодного индикатора или установка 30-минутного интервала отправки данных телеметрии.
Сообщаемые свойства двойника Получение зарегистрированного состояния устройства, например данных о том, что сейчас на устройстве мигает индикатор.
Теги двойников Хранение метаданных для конкретного устройства в облаке. Например, расположение развертывания торгового автомата.
Запросы двойника устройства Запрос всех двойников устройства для получения тех из них, которые соответствуют произвольным условиям, например для определения устройств, которые доступны для использования.

Более подробное объяснение различий и рекомендации по использованию этих параметров см. в статьях Руководство по обмену данными между устройством и облаком и Руководство по обмену данными между облаком и устройством.

Двойники устройств — это документы JSON, хранящие сведения о состоянии устройства (метаданные, конфигурации и условия). Центр Интернета вещей сохраняет двойник устройства для каждого устройства, подключаемого к нему. Дополнительные сведения о двойниках устройства см. в статье Начало работы с двойниками устройств.

Примечание

В этой статье используется последняя версия расширения Azure IoT под названием azure-iot. Прежняя версия называется azure-cli-iot-ext. В каждый момент времени должна быть установлена только одна версия. Проверить установленные расширения можно с помощью команды az extension list.

Используйте az extension remove --name azure-cli-iot-ext, чтобы удалить устаревшую версию расширения.

Используйте az extension add --name azure-iot, чтобы добавить новую версию расширения.

Чтобы узнать, какие расширения установлены, используйте az extension list.

Примечание

Функции, описанные в этой статье, доступны только на стандартном уровне Центра Интернета вещей. Дополнительные сведения о базовых и стандартных и бесплатных уровнях Центр Интернета вещей см. в статье Выбор подходящего уровня Центр Интернета вещей для решения.

Предварительные требования

  • Пройдите одно из руководств по использованию подключенного симулятора Raspberry Pi или одно из руководств по использованию устройства. Например, можно перейти к разделу Raspberry Pi с Node.js или к одному из кратких руководств по отправке данных телеметрии. В этих статьях указаны следующие требования:

    • Активная подписка Azure.
    • Центр Интернета вещей Azure в подписке;
    • клиентское приложение, которое отправляет сообщения в Центр Интернета вещей Azure.
  • Во время работы с этим руководством на устройстве должно работать клиентское приложение.

  • Python 2.7x или Python 3.x

  • Azure CLI. Если вам необходимо выполнить установку, см. статью Установка Azure CLI. Вам понадобится как минимум Azure CLI версии 2.0.70 или более поздней. Для проверки используйте az –version.

Примечание

В этой статье используется последняя версия расширения Azure IoT под названием azure-iot. Прежняя версия называется azure-cli-iot-ext. В каждый момент времени должна быть установлена только одна версия. Проверить установленные расширения можно с помощью команды az extension list.

Используйте az extension remove --name azure-cli-iot-ext, чтобы удалить устаревшую версию расширения.

Используйте az extension add --name azure-iot, чтобы добавить новую версию расширения.

Чтобы узнать, какие расширения установлены, используйте az extension list.

Вход в учетную запись Azure

Войдите в свою учетную запись Azure с помощью следующей команды:

az login

Прямые методы

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>

Требуемые свойства двойника устройства

Установите для требуемого свойства интервал 3000, выполнив следующую команду:

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

Устройство может прочитать это свойство.

Сообщаемые свойства двойника устройства

Получите сообщаемые свойства устройства, выполнив следующую команду:

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

Одно из сообщаемых свойств ($metadata.$lastUpdated) указывает время последнего обновления набора передаваемых свойств приложением для устройства.

Теги двойника устройства

Отобразите теги и свойства устройства, выполнив следующую команду:

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

Добавьте рабочую роль "temperature&humidity" на устройство с помощью следующей команды:

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

Запросы двойника устройства

Выполните запрос для устройств с тегом роли "temperature&humidity", выполнив следующую команду:

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

Выполните запрос для устройств без тега роли "temperature&humidity", выполнив следующую команду:

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

Дальнейшие действия

Вы узнали, как отслеживать сообщения, отправляемые из устройства Интернета вещей в облако Центра Интернета вещей, и отправлять сообщения из этого облака на устройство.

Чтобы продолжить знакомство с Центром Интернета вещей Azure и изучить расширенные сценарии Центра Интернета вещей, см. следующие ресурсы: