Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Шаблон устройства содержит модель, описывающую взаимодействие устройства с IoT Central. Эта модель определяет возможности устройства и способы взаимодействия IoT Central с ними. Устройства могут отправлять значения телеметрии и свойств в IoT Central, IoT Central может отправлять обновления свойств и команды на устройство. IoT Central также использует модель для определения взаимодействия с функциями IoT Central, такими как задания, правила и экспорт.
Изменения модели в шаблоне устройства могут повлиять на все приложение, включая все подключенные устройства. Изменения в возможностях, которые используются правилами, экспортом, группами устройств или заданиями, могут привести к их непредсказуемому поведению или полной неработоспособности. Например, если удалить определение телеметрии из шаблона:
- IoT Central больше не может интерпретировать это значение. IoT Central отображает данные устройства, которые не могут интерпретироваться как немодированные данные на странице необработанныхданных устройства.
- IoT Central больше не включает значение в экспорт данных.
Чтобы избежать непредвиденных последствий редактирования шаблона устройства, эта статья содержит рекомендации на основе текущего этапа жизненного цикла разработки. В целом, чем раньше вы находитесь в жизненном цикле разработки, тем более терпимо вы можете относиться к изменениям шаблона устройства.
Дополнительные сведения о шаблонах устройств и их создании см. в статье "Что такое шаблоны устройств" и "Создание шаблона устройства" в приложении Azure IoT Central.
Сведения об управлении шаблонами устройств с помощью REST API IoT Central см. в статье "Как использовать REST API IoT Central для управления шаблонами устройств".
Изменение шаблона устройства
Аддитивные изменения, такие как добавление возможности или интерфейса в модель, являются неразрывными изменениями. Вы можете вносить аддитивные изменения в модель на любом этапе жизненного цикла разработки.
Критические изменения включают удаление частей модели или изменение имени возможности или типа схемы. Эти изменения могут привести к тому, что такие функции приложения, как правила, экспорт или панели мониторинга, могут отображать сообщения об ошибках и перестать работать.
На ранних этапах разработки устройств, пока вы по-прежнему разрабатываете и тестируете модель, существует большая терпимость к внесению изменений непосредственно в модель устройства. Перед подключением рабочих устройств к шаблону устройства можно напрямую изменить шаблон устройства. IoT Central применяет эти изменения автоматически к устройствам при публикации шаблона устройства.
После подключения рабочих устройств к шаблону устройства оцените влияние любых изменений перед изменением шаблона устройства. Не следует вносить критические изменения в шаблон устройства в рабочей среде. Чтобы внести такие изменения, создайте новую версию шаблона устройства. Проверьте новый шаблон устройства, а затем перенесите рабочие устройства в новый шаблон в запланированное время простоя.
Обновление шаблона устройства IoT Edge
Для устройства IoT Edge можно группировать возможности моделей по модулям, соответствующим модулям IoT Edge, работающим на устройстве. Манифест развертывания — это отдельный документ JSON, который сообщает устройству IoT Edge, какие модули необходимо установить, как их настроить и какие свойства имеет модуль. При изменении манифеста развертывания можно обновить шаблон устройства, чтобы включить модули и свойства, определенные в манифесте:
- Перейдите к узлу modules в шаблоне устройства.
- На странице сводки модулей выберите "Импорт модулей" из манифеста.
- Выберите соответствующий манифест развертывания и нажмите кнопку "Импорт".
Дополнительные сведения см. в статье об устройствах IoT Edge и IoT Central.
Изменение и публикация действий
При редактировании шаблона устройства полезны следующие действия:
- Сохраните. При изменении части шаблона устройства сохранение изменений создает черновик, в который можно вернуться. Эти изменения еще не влияют на подключенные устройства. Все устройства, созданные из этого шаблона, не имеют сохраненных изменений, пока вы не опубликуете его.
- Публикация. При публикации шаблона устройства все сохраненные изменения применяются к существующим экземплярам устройства. Только что созданные экземпляры устройств всегда используют последний опубликованный шаблон.
- Создайте версию шаблона. При версии шаблона устройства он создает новый шаблон со всеми последними сохраненными изменениями. Изменения, внесенные в новую версию, не влияют на существующие экземпляры устройств. Дополнительные сведения см. в разделе "Версия шаблона устройства".
- Версия интерфейса. При версии интерфейса он создает новый интерфейс со всеми последними сохраненными возможностями. Вы можете повторно использовать интерфейс в нескольких расположениях в шаблоне. Изменение, внесенное в одну ссылку на интерфейс, приводит к изменению всех мест в шаблоне, использующих интерфейс. При версии интерфейса это поведение изменяется, так как новая версия теперь является отдельным интерфейсом. Дополнительные сведения см. в разделе "Версия интерфейса".
- Перенос устройства. При переносе устройства экземпляр устройства переключается с одного шаблона устройства на другой. Миграция устройств может вызвать кратковременную паузу, пока IoT Central обрабатывает изменения. Дополнительные сведения см. в статье "Миграция устройства в разных версиях".
Номера версий
Как модели устройств, так и интерфейсы имеют номера версий. Различные номера версий позволяют моделям или интерфейсам совместно использовать @id значение, обеспечивая историю обновлений. Номера версий увеличиваются только при выборе версии шаблона или интерфейса или при намеренном изменении номера версии. При внесении основного изменения в шаблон или интерфейс необходимо изменить номер версии.
В следующем фрагменте кода показана модель устройства термостата. Модель устройства имеет один интерфейс. Номер версии 1отображается в конце@id поля.
{
"@context": "dtmi:dtdl:context;2",
"@id": "dtmi:com:example:Thermostat;1",
"@type": "Interface",
"displayName": "Thermostat",
"description": "Reports current temperature and provides desired temperature control.",
"contents": [
// ...
]
}
Чтобы просмотреть эти сведения в пользовательском интерфейсе IoT Central, выберите "Изменить удостоверение " в редакторе шаблонов устройства:
Версия шаблона устройства
Чтобы изменить шаблон устройства, выполните приведенные действия.
- Перейдите на страницу шаблонов устройств .
- Выберите шаблон устройства, который требуется использовать для версии.
- Выберите версию в верхней части страницы и присвойте шаблону новое имя. IoT Central предлагает новое имя, которое можно изменить.
- Нажмите кнопку "Создать".
Теперь вы создали новый шаблон с уникальным идентификатором, который не связан с какими-либо существующими устройствами.
Версия интерфейса
Чтобы изменить интерфейс, выполните приведенные действия.
- Перейдите на страницу шаблонов устройств .
- Выберите шаблон устройства, который у вас есть в черновике.
- Выберите опубликованный интерфейс, который вы хотите версионировать и отредактировать.
- Выберите версию в верхней части страницы интерфейса.
- Нажмите кнопку "Создать".
Теперь вы создали новый интерфейс с уникальной идентификацией, которая не синхронизируется с предыдущей версией интерфейса.
Перенос устройства между версиями
Можно создать несколько версий шаблона устройства. Со временем у вас будет несколько подключенных устройств с помощью этих шаблонов устройств. Вы можете перенести устройства из одной версии шаблона устройства в другую. Ниже описано, как перенести устройство.
Перейдите на страницу "Устройства".
Выберите устройство, которое необходимо перенести в другую версию.
Выберите "Миграция":
Выберите шаблон устройства с версией, в которую нужно перенести устройство, и выберите "Миграция".
Подсказка
Задание можно использовать для переноса всех устройств в группе устройств в новый шаблон устройства одновременно.