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

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

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

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

Screenshot that shows a device template.

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

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

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

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

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

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

Примечание

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

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

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

Screenshot that shows a Sensor controller device template.

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

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

Примечание

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

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

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

    Screenshot that shows raw data from unassigned device.

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

    Screenshot that shows data preview change that lets you edit data that IoT Central uses to generate the device template.

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

    Screenshot that shows how to rename the autogenerated device template.

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

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

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

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

Модели

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

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

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

    Screenshot that shows model id for device template root interface.

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

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

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

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

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

    Screenshot that shows root interface for a model

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

    How to add interface or component

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

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

Характеристики

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

How to add capability

Телеметрия

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

How to add telemetry

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

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

Элемент Property

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

How to add property

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

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

Команды

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

How to add commands

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

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

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

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

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

How to add offline commands

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

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

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

Примечание

Этот вариант доступен только в веб-интерфейсе IoT Central. Этот параметр недоступен в случае экспорта модели или компонента из шаблона устройства.

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

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

How to add cloud properties

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

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

Настройки

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

How to do customizations

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

Поле Описание
Отображаемое имя Переопределение отображаемого имени из модели.
Семантический тип Переопределение семантического типа из модели.
Единица измерения Переопределение единицы из модели.
Отображаемая единица Переопределение из модели.
Комментарий Переопределение из модели.
Описание Переопределение из модели.
Color Параметр IoT Central.
Минимальное значение Задайте минимальное значение — параметр IoT Central.
Максимальное значение Задайте максимальное значение — параметр IoT Central.
Число десятичных знаков Параметр IoT Central.
Начальное значение Команды только для конкретного значения IoT Central — значение параметра по умолчанию.

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

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

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

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

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

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

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

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

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

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

How to start with a visual

configure tile

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

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

Формы

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

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

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

  3. Выделите свойства облака Customer name (Имя клиента) и Last Service Date (Дата последнего обслуживания), а также свойство Target Temperature (Целевая температура). Затем щелкните Add section (Добавить раздел).

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

configure form

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

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

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

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

Дальнейшие шаги

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