Определение типа нового устройства Интернета вещей в приложении Azure IoT Central

Шаблон устройства — это схема, которая определяет характеристики и реакции на события для типа устройств, которые подключаются к приложению Azure IoT Central.

В этой статье описано, как создать шаблон устройства в IoT Central. Например, можно создать шаблон устройства для датчика, который отправляет данные телеметрии, например температуру и свойства, например расположение. На основе этого шаблона устройства можно создавать и подключать вентиляторы.

На следующем снимке экрана показан пример шаблона устройства.

Снимок экрана: шаблон устройства.

Шаблон устройства состоит из разделов, описанных ниже.

  • Модель — используйте модель, чтобы определить, как устройство взаимодействует с приложением IoT Central. Каждая модель имеет уникальный идентификатор и определяет возможности устройства. Связанные возможности группируются в интерфейсы. Интерфейсы позволяют повторно использовать компоненты в моделях или применять наследование для расширения набора возможностей.
  • Необработанные данные. Просмотр необработанных данных, отправленных указанным устройством предварительной версии. Это представление полезно при отладке или устранении неполадок шаблона устройства.
  • Представления — используйте представления для визуализации данных с устройства и форм для управления устройством и управления ими.

Дополнительные сведения см. в разделе Что такое шаблоны устройств?

Сведения об управлении шаблонами устройств с помощью REST API IoT Central см. в статье "Как использовать REST API IoT Central для управления шаблонами устройств".

Создание шаблона устройства

На выбор предоставляется несколько вариантов создания шаблонов устройств:

  • Разработайте шаблон устройства в графическом пользовательском интерфейсе IoT Central.
  • Импорт шаблона устройства из каталога устройств. При желании настройте шаблон устройства в соответствии с вашими требованиями в IoT Central.
  • Когда устройство подключается к IoT Central, оно отправляет идентификатор реализуемой им модели. IoT Central использует идентификатор модели, чтобы получить модель из репозитория моделей и создать шаблон устройства. Добавьте все облачные свойства и представления приложения IoT Central в шаблон устройства.
  • Когда устройство подключится к IoT Central, разрешите IoT Central автоматически сгенерировать определение шаблона устройства из данных, отправляемых устройством.
  • Создав модель устройства с помощью расширения DTDL (DTDL) Digital Twin(DTDL) версии 2 и IoT Central DTDL. Вручную импортируйте модель устройства в приложение IoT Central. Затем добавьте свойства облака и просматривайте потребности приложения IoT Central.
  • Вы также можете добавить шаблоны устройств в приложение IoT Central с помощью интерфейса REST API IoT Central для управления шаблонами устройств.

Примечание.

В каждом случае код устройства должен реализовывать возможности, определенные в модели. Реализация кода устройства не затрагивается разделами облачных свойств и представлений шаблона устройства.

В этом разделе показано, как импортировать шаблон устройства из каталога и настроить с помощью графического пользовательского интерфейса IoT Central. В этом примере используется шаблон устройства ESP32-Azure IoT Kit из каталога устройств:

  1. Чтобы добавить новый шаблон устройства, щелкните Создать на странице Шаблоны устройств.
  2. На странице Выбрать тип прокрутите вниз, пока не найдете фрагмент ESP32-Azure IoT Kit в разделе Использовать предварительно настроенный шаблон устройства.
  3. Выберите плитку ESP32-Azure IoT Kit , а затем нажмите кнопку "Далее: Проверка".
  4. На странице Отзыв выберите Создать. Имя созданного шаблона — Sensor Controller (Контроллер датчика). Модель содержит такие компоненты, как Sensor Controller (Контроллер датчика), SensorTemp и Device Information interface (Интерфейс со сведениями об устройстве). Компоненты определяют возможности устройства ESP32. К этим возможностям относятся данные телеметрии, свойства и команды.

Снимок экрана: шаблон устройства Sensor Controller (Контроллер датчика).

Автоматическое генерирование шаблона устройства

Вы также можете автоматически создать шаблон устройства с текущего неназначаемого устройства. IoT Central использует данные телеметрии и значения свойств, которые отправляет устройство, чтобы сделать вывод о модели устройства.

Примечание.

Сейчас эта предварительная версия функции не может использовать данные телеметрии и свойства из компонентов. Она может создавать возможности только из данных телеметрии и свойств, указанных в корневом каталоге.

Следующие шаги показывают, как использовать эту функцию:

  1. Подключите устройство к IoT Central и начните отправку данных. Когда отобразятся данные в представлении Необработанные данные, выберите Автоматически создать шаблон в раскрывающемся меню Управление шаблоном:

    Снимок экрана: необработанные данные с неназначенного устройства.

  2. На странице Предварительный просмотр данных внесите необходимые изменения в необработанные данные и выберите Создать шаблон:

    Снимок экрана: изменение предварительной версии данных, позволяющее редактировать данные, которые IoT Central используют для создания шаблона устройства.

  3. IoT Central создает шаблон на основе формата данных, показанного на странице Предварительный просмотр данных, и назначает ему устройство. Вы можете внести дополнительные изменения в шаблон устройства, например переименовать его или добавить возможности, на странице Шаблоны устройств:

    Снимок экрана: переименование шаблона автоматически созданного устройства.

Управление шаблоном устройства

Вы можете переименовать или удалить шаблон на странице редактора.

После определения шаблона его можно опубликовать. До публикации к шаблону нельзя подключить устройство и он не отображается на странице Устройства.

Дополнительные сведения об изменении шаблонов устройств и управлении их версиями см. в разделе Изменение существующего шаблона устройства.

Модели

Модель определяет, как ваше устройство взаимодействует с приложением центра IoT Central. Настройте модель с дополнительными возможностями, добавьте интерфейсы для наследования возможностей или новые компоненты, основанные на других интерфейсах.

Чтобы создать модель устройства, вы можете выполнить следующее:

  • Используйте IoT Central для создания настраиваемой модели с нуля.
  • Импортируйте модель DTDL из JSON-файла. Построитель устройств может использовать Visual Studio Code для создания модели устройства для приложения.
  • Выберите одно из устройств из каталога устройств. Этот параметр импортирует модель устройства, опубликованную производителем для этого устройства. Модель устройства, импортированная таким образом, публикуется автоматически.
  1. Чтобы просмотреть идентификатор модели, выберите корневой интерфейс в модели и щелкните Изменить удостоверение:

    Снимок экрана: идентификатор модели для корневого интерфейса шаблона устройства.

  2. Чтобы просмотреть идентификатор компонента, выберите Изменить удостоверение в любом из интерфейсов компонентов в модели.

Дополнительные сведения см. в статье Руководство моделирования IoT Plug and Play.

Интерфейсы и компоненты

Для просмотра интерфейсов и управления ими в модели устройства выполните следующие действия.

  1. Перейдите на страницу Шаблоны устройств и выберите созданный вами шаблон устройства. Интерфейсы перечислены в разделе Модели шаблона устройства. На следующем снимке экрана показан пример корневого интерфейса Контроллера датчика в шаблоне устройства:

    Снимок экрана: корневой интерфейс для модели

  2. Нажмите кнопку с многоточием, чтобы добавить унаследованный интерфейс или компонент к корневому интерфейсу. Дополнительные сведения об интерфейсах и компонентах см. в разделе Несколько компонентов в руководстве по моделированию.

    Снимок экрана: добавление интерфейса или компонента.

  3. Чтобы экспортировать модель или интерфейс, выберите Экспорт.

  4. Чтобы просмотреть или изменить DTDL для интерфейса или возможности, выберите Правка DTDL.

Возможности

Выберите + Добавить возможность, чтобы добавить возможность к интерфейсу или компоненту. Например, можно добавить возможность Целевая температура в компонент SensorTemp.

Снимок экрана, на котором показано, как добавить возможность.

Телеметрия

Телеметрия — это поток значений, отправляемых с устройства (обычно из датчика). Например, датчик может сообщить о температуре окружающей среды, как показано на следующем снимке экрана:

Снимок экрана: добавление типа телеметрии.

В следующей таблице показаны параметры конфигурации для возможностей телеметрии.

Поле Описание:
Отображаемое имя. Отображаемое имя для значения телеметрии, используемое в представлениях и формах.
Имя. Имя поля в сообщении телеметрии. IoT Central создает значение для этого поля на основе отображаемого имени, но при необходимости можно выбрать собственное значение. Это поле должно содержать только буквы и цифры.
Тип возможности Телеметрия.
Семантический тип Семантический тип телеметрии, например температура, состояние или событие. Выбор семантического типа определяет, какие из следующих полей будут доступны.
Схема Тип данных телеметрии, например double, string или vector. Семантический тип определяет доступные варианты. Для семантических типов событий и состояний схема недоступна.
Важность Доступно только для семантического типа события. Возможны такие степени серьезности: Ошибка, Сведения или Предупреждение.
Значения состояния Доступно только для семантического типа состояния. Определите возможные значения состояния, для каждого из которых есть отображаемое имя, название, тип перечисления и значение.
Unit Единица для значения телеметрии, например mph, %или °C.
Единица отображения Единица отображения, используемая в представлениях и формах.
Комментарий Любые комментарии о возможности "Телеметрия".
Description Описание возможности "Телеметрия".

Свойства

Свойства представляют собой значения на момент во времени. Записываемые свойства можно задавать из IoT Central. Например, устройство может использовать записываемое свойство, чтобы позволить оператору задать целевую температуру, как показано на следующем снимке экрана:

Снимок экрана: добавление свойства.

В следующей таблице показаны параметры конфигурации для возможности "Свойства".

Поле Описание:
Отображаемое имя. Отображаемое имя для значения свойства, используемое в представлениях и формах.
Имя. Имя свойства. IoT Central создает значение для этого поля на основе отображаемого имени, но при необходимости можно выбрать собственное значение. Это поле должно содержать только буквы и цифры.
Тип возможности Свойство.
Семантический тип Семантический тип свойства, например температура, состояние или событие. Выбор семантического типа определяет, какие из следующих полей будут доступны.
Схема Тип данных свойства, например double, string или vector. Семантический тип определяет доступные варианты. Для семантических типов событий и состояний схема недоступна.
Возможность записи Если свойство недоступно для записи, устройство может передавать значения свойства в IoT Central. Если свойство доступно для записи, устройство может сообщать значения свойств в IoT Central, а IoT Central может отправлять обновления свойств на устройство.
Важность Доступно только для семантического типа события. Возможны такие степени серьезности: Ошибка, Сведения или Предупреждение.
Значения состояния Доступно только для семантического типа состояния. Определите возможные значения состояния, для каждого из которых есть отображаемое имя, название, тип перечисления и значение.
Unit Единица для значения свойства, например mph, %или °C.
Единица отображения Единица отображения, используемая в представлениях и формах.
Комментарий Любые комментарии о возможности "Свойство".
Description Описание возможности "Свойство".
Color Расширение IoT Central для DTDL.
Минимальное значение Задайте минимальное значение — расширение IoT Central для DTDL.
Максимальное значение Задайте максимальное значение — расширение IoT Central для DTDL.
Число десятичных знаков Расширение IoT Central для DTDL.

Команды

Команды устройства можно вызывать в IoT Central. Команды при необходимости передают параметры на устройство и получают от него ответ. Например, можно вызвать команду для перезагрузки устройства в течение 10 секунд, как показано на следующем снимке экрана:

Снимок экрана: добавление команд.

В следующей таблице показаны параметры конфигурации для возможности "Команда".

Поле Описание:
Отображаемое имя. Отображаемое имя для команды, используемое в представлениях и формах.
Имя. Имя команды. IoT Central создает значение для этого поля на основе отображаемого имени, но при необходимости можно выбрать собственное значение. Это поле должно содержать только буквы и цифры.
Тип возможности Команда.
Ставить отключенные в очередь Если параметр включен, можно вызвать команду, даже если устройство отключено. Если параметр не включен, команду можно вызвать, только когда устройство подключено.
Комментарий Любые комментарии о возможности "Команда".
Description Описание возможности "Команда".
Запросить Если параметр включен, определение параметра запроса включает в себя: название, отображаемое имя, схему, единицу измерения и отображаемую единицу.
Response Если параметр включен, определение ответа команды включает в себя: название, отображаемое имя, схему, единицу измерения и отображаемую единицу.
Первоначальная стоимость Значение параметра по умолчанию. Этот параметр является расширением IoT Central для DTDL.

Дополнительные сведения о том, как устройства реализуют команды, см. в статье Телеметрия, свойство и полезные данные > команд и длительные команды.

Автономные команды

Если устройство в настоящее время находится вне сети, можно выбрать помещение команд в очередь, включив параметр Ставить отключенные в очередь в шаблоне устройства.

Этот параметр использует сообщения Центра Интернета вещей, пересылаемые из облака на устройство, для отправки уведомлений на устройства. Дополнительные сведения см. в статье Центра Интернета вещей Отправка сообщений из облака на устройство.

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

  • Это односторонние уведомления для устройства, поступающие из вашего решения.
  • Гарантируется по меньшей мере однократная доставка сообщения. Центр Интернета вещей сохраняет сообщения из облака на устройство в отдельных очередях для каждого из устройств, гарантируя устойчивость к сбоям сетевых подключений и отказам устройств.
  • Требуется, чтобы на устройстве был реализован обработчик сообщений, который будет обрабатывать сообщение из облака на устройство.

Примечание.

Автономные команды помечаются как durable если вы экспортируете модель как DTDL.

Облачные свойства

Свойства облака можно использовать для хранения сведений об устройствах в IoT Central. Свойства облака никогда не отправляются на устройство. Например, можно использовать облачные свойства для хранения имени клиента, установившего устройство, или дату последней службы устройства.

Снимок экрана: добавление свойств облака.

Совет

В модель можно добавлять только облачные свойства в корневой компонент.

В следующей таблице показаны параметры конфигурации для свойства облака.

Поле Описание:
Отображаемое имя. Отображаемое имя для значения свойства облака, используемое в представлениях и формах.
Имя. Имя свойства облака. IoT Central создает значение для этого поля на основе отображаемого имени, но при необходимости можно выбрать собственное значение.
Семантический тип Семантический тип свойства, например температура, состояние или событие. Выбор семантического типа определяет, какие из следующих полей будут доступны.
Схема Тип данных свойства облака, например double, string или vector. Семантический тип определяет доступные варианты.

Представления

Представления позволяют определять представления и формы, благодаря которым оператор может наблюдать за устройством и взаимодействовать с ним. Представления используют такие визуализации, как диаграммы, для отображения данных телеметрии и значений свойств.

Представления по умолчанию позволяют быстро визуализировать важную информацию об устройстве. Есть три представления по умолчанию:

Представления по умолчанию

  • Команды: представление с командами устройства, которое позволяет оператору отправлять их на устройство.
  • Обзор: представление с данными телеметрии устройства, в котором отображаются диаграммы и метрики.
  • Об устройстве: представление со сведениями об устройстве, в котором отображаются свойства устройства.

Когда вы выбираете действие Generate default views (Создать представления по умолчанию), представления автоматически добавляются в раздел Представления в шаблоне устройства.

Пользовательские представления

Добавьте представления в шаблон устройства, чтобы позволить операторам визуализировать работу устройства с помощью диаграмм и метрик. К шаблону устройства можно добавить собственные пользовательские представления.

Чтобы добавить представление в шаблон устройства, выполните следующие действия.

  1. Перейдите к шаблону устройства и щелкните Представления.
  2. Выберите Визуализация устройства.
  3. Введите имя представления в поле Имя представления.
  4. Выберите Начать с визуального элемента в разделе добавления элементов и укажите визуальный тип элемента. Затем либо выберите пункт Добавить элемент, либо перетащите визуальный элемент на холст. Чтобы настроить элемент, выберите значок шестеренки.

Снимок экрана: начало работы с визуальным элементом.

Снимок экрана, на котором показано, как настроить плитку.

Чтобы проверить представление, выберите команду Настройка предварительной версии устройства. Эта функция позволяет увидеть представление как оператор видит его после публикации. Используйте эту функцию, чтобы убедиться, что в представлениях отображаются правильные данные. Выберите один из следующих параметров:

  • устройство без предварительной версии;
  • Реальное тестовое устройство, настроенное для шаблона устройства.
  • имеющееся устройство в приложении (с указанием идентификатора устройства).

Формы

Добавьте формы в шаблон устройства, чтобы операторы могли управлять устройством путем просмотра и настройки свойств. Операторы могут изменять только облачные свойства и доступные для записи свойства устройства. Для шаблона устройства можно использовать несколько форм.

  1. Выберите узел Представления, а затем щелкните плитку Изменение устройства и облачных данных, чтобы добавить новое представление.

  2. Укажите для него имя Управление устройством.

  3. Выберите свойства и облачные свойства, которые нужно добавить в форму. Затем щелкните Add section (Добавить раздел).

  4. Щелкните Сохранить, чтобы сохранить новую форму.

Снимок экрана: настройка формы.

Публикация шаблона устройства

Прежде чем подключать устройство, реализующее модель устройства, необходимо опубликовать шаблон устройства.

Чтобы опубликовать шаблон устройства, перейдите к его шаблону и нажмите кнопку Опубликовать.

После публикации шаблона устройства оператор может перейти на страницу Устройства и добавить реальные или имитированные устройства, использующие шаблон устройства. Вы можете продолжать изменять и сохранять шаблон устройства по мере внесения изменений. Если вы хотите отправить эти изменения оператору для просмотра на странице Устройства, необходимо каждый раз выбирать Опубликовать.