Создание шаблона устройства в приложении Azure IoT Central
Шаблон устройства — это схема, которая определяет характеристики и реакции на события для типа устройств, которые подключаются к приложению Azure IoT Central. Например, можно создать шаблон устройства для датчика, который отправляет данные телеметрии, например температуру и свойства, например расположение. Дополнительные сведения см. в разделе Что такое шаблоны устройств?
В этой статье описываются некоторые способы создания шаблона устройства в 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. В этом примере используется шаблон устройства Temp Sensor Hobo Hobo MX-100 из списка шаблонов доступных устройств:
- Чтобы добавить новый шаблон устройства, щелкните Создать на странице Шаблоны устройств.
- На странице "Выбор типа" прокрутите вниз до тех пор, пока не найдите плитку "Датчик темпа" в разделе "Популярные шаблоны устройств" на плитке "Начало Хоббо MX-100 Temp Sensor".
- Выберите плитку Датчика temp hobo Hobo MX-100, а затем нажмите кнопку "Далее: Проверка".
- На странице Отзыв выберите Создать. Имя созданного шаблона — Hobo MX-100. Модель включает такие компоненты, как Hobo MX-100 и IotDevice. Компоненты определяют возможности устройства Hobo MX-100. Возможности могут включать данные телеметрии, свойства и команды. Это устройство имеет только возможности телеметрии.
Автоматическое генерирование шаблона устройства
Вы также можете автоматически создать шаблон устройства с текущего неназначаемого устройства. IoT Central использует данные телеметрии и значения свойств, которые отправляет устройство, чтобы сделать вывод о модели устройства.
Примечание.
Сейчас эта предварительная версия функции не может использовать данные телеметрии и свойства из компонентов. Она может создавать возможности только из данных телеметрии и свойств, указанных в корневом каталоге.
Следующие шаги показывают, как использовать эту функцию:
Подключите устройство к IoT Central и начните отправку данных. Когда отобразятся данные в представлении Необработанные данные, выберите Автоматически создать шаблон в раскрывающемся меню Управление шаблоном:
На странице Предварительный просмотр данных внесите необходимые изменения в необработанные данные и выберите Создать шаблон:
IoT Central создает шаблон на основе формата данных, показанного на странице Предварительный просмотр данных, и назначает ему устройство. Вы можете внести дополнительные изменения в шаблон устройства, например переименовать его или добавить возможности, на странице Шаблоны устройств:
Управление шаблонами устройств в пользовательском интерфейсе
Вы можете создать, изменить, переименовать или удалить шаблон на странице редактора шаблона.
После определения шаблона его можно опубликовать. До публикации к шаблону нельзя подключить устройство и он не отображается на странице Устройства.
Дополнительные сведения об изменении шаблонов устройств и управлении их версиями см. в разделе Изменение существующего шаблона устройства.
Модели
Модель определяет, как ваше устройство взаимодействует с приложением центра IoT Central. Настройте модель с дополнительными возможностями, добавьте интерфейсы для наследования возможностей или новые компоненты, основанные на других интерфейсах.
Чтобы создать модель устройства, вы можете выполнить следующее:
- Используйте IoT Central для создания настраиваемой модели с нуля.
- Импортируйте модель DTDL из JSON-файла. Построитель устройств может использовать Visual Studio Code для создания модели устройства для приложения.
- Выберите одно из устройств из списка шаблонов доступных устройств. Этот параметр импортирует модель устройства, опубликованную производителем для этого устройства. Модель устройства, импортированная таким образом, публикуется автоматически.
Чтобы просмотреть идентификатор модели, выберите корневой интерфейс в модели и щелкните Изменить удостоверение:
Чтобы просмотреть идентификатор компонента, выберите Изменить удостоверение в любом из интерфейсов компонентов в модели.
Дополнительные сведения см. в статье Руководство моделирования IoT Plug and Play.
Интерфейсы и компоненты
Для просмотра интерфейсов и управления ими в модели устройства выполните следующие действия.
Перейдите на страницу Шаблоны устройств и выберите созданный вами шаблон устройства. Интерфейсы перечислены в разделе Модели шаблона устройства. На следующем снимке экрана показан пример корневого интерфейса Контроллера датчика в шаблоне устройства:
Нажмите кнопку с многоточием, чтобы добавить унаследованный интерфейс или компонент к корневому интерфейсу. Дополнительные сведения об интерфейсах и компонентах см. в разделе Несколько компонентов в руководстве по моделированию.
Чтобы экспортировать модель или интерфейс, выберите Экспорт.
Чтобы просмотреть или изменить DTDL для интерфейса или возможности, выберите Правка DTDL.
Возможности
Выберите + Добавить возможность, чтобы добавить возможность к интерфейсу или компоненту. Например, можно добавить возможность Целевая температура в компонент SensorTemp.
Телеметрия
Телеметрия — это поток значений, отправляемых с устройства (обычно из датчика). Например, датчик может сообщить о температуре окружающей среды, как показано на следующем снимке экрана:
В следующей таблице показаны параметры конфигурации для возможностей телеметрии.
Поле | Описание: |
---|---|
Отображаемое имя. | Отображаемое имя для значения телеметрии, используемое в представлениях и формах. |
Имя. | Имя поля в сообщении телеметрии. IoT Central создает значение для этого поля на основе отображаемого имени, но при необходимости можно выбрать собственное значение. Это поле должно содержать только буквы и цифры. |
Тип возможности | Телеметрия. |
Семантический тип | Семантический тип телеметрии, например температура, состояние или событие. Выбор семантического типа определяет, какие из следующих полей будут доступны. |
Схема | Тип данных телеметрии, например double, string или vector. Семантический тип определяет доступные варианты. Для семантических типов событий и состояний схема недоступна. |
Важность | Доступно только для семантического типа события. Возможны такие степени серьезности: Ошибка, Сведения или Предупреждение. |
Значения состояния | Доступно только для семантического типа состояния. Определите возможные значения состояния, для каждого из которых есть отображаемое имя, название, тип перечисления и значение. |
Единица измерения | Единица для значения телеметрии, например mph, %или °C. |
Единица отображения | Единица отображения, используемая в представлениях и формах. |
Комментарий | Любые комментарии о возможности "Телеметрия". |
Description | Описание возможности "Телеметрия". |
Свойства
Свойства представляют собой значения на момент во времени. Записываемые свойства можно задавать из IoT Central. Например, устройство может использовать записываемое свойство, чтобы позволить оператору задать целевую температуру, как показано на следующем снимке экрана:
В следующей таблице показаны параметры конфигурации для возможности "Свойства".
Поле | Описание: |
---|---|
Отображаемое имя. | Отображаемое имя для значения свойства, используемое в представлениях и формах. |
Имя. | Имя свойства. IoT Central создает значение для этого поля на основе отображаемого имени, но при необходимости можно выбрать собственное значение. Это поле должно содержать только буквы и цифры. |
Тип возможности | Свойство. |
Семантический тип | Семантический тип свойства, например температура, состояние или событие. Выбор семантического типа определяет, какие из следующих полей будут доступны. |
Схема | Тип данных свойства, например double, string или vector. Семантический тип определяет доступные варианты. Для семантических типов событий и состояний схема недоступна. |
Возможность записи | Если свойство недоступно для записи, устройство может передавать значения свойства в IoT Central. Если свойство доступно для записи, устройство может сообщать значения свойств в IoT Central, а IoT Central может отправлять обновления свойств на устройство. |
Важность | Доступно только для семантического типа события. Возможны такие степени серьезности: Ошибка, Сведения или Предупреждение. |
Значения состояния | Доступно только для семантического типа состояния. Определите возможные значения состояния, для каждого из которых есть отображаемое имя, название, тип перечисления и значение. |
Единица измерения | Единица для значения свойства, например 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 (Создать представления по умолчанию), представления автоматически добавляются в раздел Представления в шаблоне устройства.
Пользовательские представления
Добавьте представления в шаблон устройства, чтобы позволить операторам визуализировать работу устройства с помощью диаграмм и метрик. К шаблону устройства можно добавить собственные пользовательские представления.
Чтобы добавить представление в шаблон устройства, выполните следующие действия.
- Перейдите к шаблону устройства и щелкните Представления.
- Выберите Визуализация устройства.
- Введите имя представления в поле Имя представления.
- Выберите Начать с визуального элемента в разделе добавления элементов и укажите визуальный тип элемента. Затем либо выберите пункт Добавить элемент, либо перетащите визуальный элемент на холст. Чтобы настроить элемент, выберите значок шестеренки.
Чтобы проверить представление, выберите команду Настройка предварительной версии устройства. Эта функция позволяет увидеть представление как оператор видит его после публикации. Используйте эту функцию, чтобы убедиться, что в представлениях отображаются правильные данные. Выберите один из следующих параметров:
- устройство без предварительной версии;
- Реальное тестовое устройство, настроенное для шаблона устройства.
- имеющееся устройство в приложении (с указанием идентификатора устройства).
Формы
Добавьте формы в шаблон устройства, чтобы операторы могли управлять устройством путем просмотра и настройки свойств. Операторы могут изменять только облачные свойства и доступные для записи свойства устройства. Для шаблона устройства можно использовать несколько форм.
Выберите узел Представления, а затем щелкните плитку Изменение устройства и облачных данных, чтобы добавить новое представление.
Укажите для него имя Управление устройством.
Выберите свойства и облачные свойства, которые нужно добавить в форму. Затем щелкните Add section (Добавить раздел).
Щелкните Сохранить, чтобы сохранить новую форму.
Публикация шаблона устройства
Прежде чем подключать устройство, реализующее модель устройства, необходимо опубликовать шаблон устройства.
Чтобы опубликовать шаблон устройства, перейдите к шаблону устройства и выберите " Опубликовать".
После публикации шаблона устройства оператор может перейти на страницу Устройства и добавить реальные или имитированные устройства, использующие шаблон устройства. Вы можете продолжать изменять и сохранять шаблон устройства по мере внесения изменений. Если вы хотите отправить эти изменения оператору для просмотра на странице Устройства, необходимо каждый раз выбирать Опубликовать.