Архитектура IoT Plug and Play

IoT Plug and Play позволяет разработчикам решений интегрировать IoT-устройства в решения без необходимости выполнять настройку вручную. В основе IoT Plug and Play лежит модель устройства, которая описывает возможности устройства в приложении с поддержкой IoT Plug and Play. Эта модель структурирована как набор интерфейсов, которые определяют следующее.

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

У каждой модели и интерфейса есть уникальный идентификатор.

На приведенной ниже схеме показаны ключевые элементы решения IoT Plug and Play:

Схема с ключевыми элементами архитектуры Интернета вещей самонастраивающийся.

Репозиторий моделей

Репозиторий моделей — это хранилище для курируемых моделей и определений интерфейса. Модели и интерфейсы определяются с помощью языка определения Digital Twins (DTDL).

Пользовательский веб-интерфейс позволяет искать и извлекать модели и интерфейсы.

.

Разработчик устройств реализует код для запуска на устройстве IoT с помощью одного из пакетов SDK для устройств Azure IoT. Пакеты SDK для устройств помогают разработчику устройств:

  • Подключить устройства к центру Интернета вещей.
  • Зарегистрировать устройство в центре Интернета вещей и объявить идентификатор модели, определяющий коллекцию интерфейсов DTDL, которые реализует устройство.
  • Синхронизировать свойства, определенные в интерфейсах DTDL, между устройством и центром Интернета вещей.
  • Добавлять обработчики для команд, указанных в интерфейсах DTDL.
  • Отправлять данные телеметрии в центр Интернета вещей.

Шлюз IoT Edge

Шлюз IoT Edge выступает в качестве посредника для подключения устройств IoT Plug and Play, которые не могут подключаться напрямую к центру Интернета вещей. Дополнительные сведения см. в статье Использование устройства IoT Edge в качестве шлюза.

Модули IoT Edge

Модуль IoT Edge позволяет развертывать бизнес-логику на пограничном устройстве и управлять ею. Модуль Azure IoT Edge представляет собой наименьшую единицу вычислительных ресурсов, которыми управляет IoT Edge. Эти модули могут содержать службы Azure (например, Azure Stream Analytics) или пользовательский код для конкретного решения.

Центр IoT Edge — это один из модулей, составляющих среду выполнения Azure IoT Edge. Он действует в качестве локального прокси-сервера для Центра Интернета вещей, предоставляя те же конечные точки протокола, что и Центр Интернета вещей. Эта согласованность означает, что клиенты (устройства или модули) могут подключаться к среде выполнения IoT Edge так же, как к Центру Интернета вещей.

Пакеты SDK для устройств помогают разработчику модулей:

  • Использовать центр IoT Edge для безопасного подключения к центру Интернета вещей.
  • Зарегистрировать модуль в центре Интернета вещей и объявить идентификатор модели, определяющий коллекцию интерфейсов DTDL, которые реализует устройство.
  • Синхронизировать свойства, определенные в интерфейсах DTDL, между устройством и центром Интернета вещей.
  • Добавлять обработчики для команд, указанных в интерфейсах DTDL.
  • Отправлять данные телеметрии в центр Интернета вещей.

Центр Интернета вещей

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

Центр Интернета вещей:

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

Серверное решение

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

  1. Извлекает идентификатор модели, зарегистрированный для устройства в центре Интернета вещей.
  2. Использует идентификатор модели для извлечения определений интерфейса из любого репозитория модели.
  3. Использует средство синтаксического анализа модели для извлечения сведений из определений интерфейса.

Серверное решение может использовать сведения из определений интерфейса для:

  • Чтения значений свойств, сообщаемых устройствами.
  • Обновления записываемых свойств на устройстве.
  • Вызова команд, реализованных устройством.
  • Распознавания формата данных телеметрии, отправляемых устройством.

Следующие шаги

Теперь, когда у вас есть общее представление об архитектуре решения IoT Plug and Play, дальнейшие действия помогут получить дополнительные сведения: