Метаданные сведений об устройстве в предварительно настроенном решении для удаленного мониторинга

В предварительно настроенном решении для удаленного мониторинга Azure IoT Suite демонстрируется, как управлять метаданными устройства. В этой статье описан подход, применяемый в этом решении. Он позволяет понять следующее:

  • какие метаданные устройства хранятся в решении;
  • как решение управляет метаданными устройства.

Контекст

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

Расположение Сохраненные сведения Реализация
Реестр удостоверений Идентификатор устройства, ключи проверки подлинности, включенное состояние Встроены в Центр Интернета вещей
Двойники устройства Метаданные: сообщаемые свойства, требуемые свойства, теги Встроены в Центр Интернета вещей
Cosmos DB Журнал методов и команд Специальная для каждого решения

Центр Интернета вещей содержит реестр удостоверений устройств для управления доступом к Центру Интернета вещей и управления метаданными устройства с помощью двойников устройства. В центре также есть реестр устройств для удаленного мониторинга каждого решения. В этом реестре хранится журнал методов и команд. Решение для удаленного мониторинга использует базу данных Cosmos DB для реализации специального хранилища журнала методов и команд.

Примечание

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

Метаданные устройства

Центр Интернета вещей поддерживает двойники устройств для каждого имитируемого и физического устройства, подключенного к решению для удаленного мониторинга. Решение использует двойники устройств для управления метаданными, связанными с устройствами. Двойник устройства — это документ JSON, поддерживаемый Центром Интернета вещей. Решение использует API Центра Интернета вещей для взаимодействия с двойниками устройств.

Двойник устройства содержит три типа метаданных.

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

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

Примечание

Код имитации устройства использует только требуемые свойства Desired.Config.TemperatureMeanValue и Desired.Config.TelemetryInterval, чтобы обновить сообщаемые свойства, отправляемые обратно в Центр Интернета вещей. Все прочие запросы на изменение требуемых свойств игнорируются.

Ниже представлена структура документа JSON с метаданными сведений об устройстве, хранящегося в базе данных Cosmos DB в реестре устройств:

{
  "DeviceProperties": {
    "DeviceID": "deviceid1",
    "HubEnabledState": null,
    "CreatedTime": "2016-04-25T23:54:01.313802Z",
    "DeviceState": "normal",
    "UpdatedTime": null
    },
  "SystemProperties": {
    "ICCID": null
  },
  "Commands": [],
  "CommandHistory": [],
  "IsSimulatedDevice": false,
  "id": "fe81a81c-bcbc-4970-81f4-7f12f2d8bda8"
}

Примечание

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

Жизненный цикл

Когда вы создаете устройство на портале решения, решение создает запись в базе данных Cosmos DB для хранения журнала методов команд. На этом этапе решение также формирует запись для устройства в реестре удостоверений устройств, которая создает ключи. Устройство использует их для аутентификации в Центре Интернета вещей. Оно также создает двойника устройства.

При первом подключении к решению устройство отправляет сообщаемые свойства и свои сведения. Значения сообщаемых свойств автоматически сохраняются в двойниках устройств. Сообщаемые свойства включают изготовителя устройства, номер модели, серийный номер и список поддерживаемых методов. Кроме того, сообщение со сведениями устройства содержит список команд, которые поддерживает устройство, а также сведения о всех параметрах этих команд. При получении этого сообщения решение обновляет в базе данных Cosmos DB сведения об устройстве.

Просмотр и изменение сведений об устройстве на портале решения

В списке устройств на портале решения по умолчанию отображаются следующие свойства устройства в виде столбцов: Состояние, Идентификатор устройства, Производитель, Номер модели, Серийный номер, Встроенное ПО, Платформа, Процессор и Установлено ОЗУ. Вы можете настроить столбцы, щелкнув редактор столбцов. Такие свойства устройства, как Широта и Долгота, управляют расположением на карте Bing на панели мониторинга.

Редактор столбцов в списке устройств

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

Панель сведений об устройстве

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

Удаление устройства

Обработка сообщений со сведениями об устройстве

Сообщения со сведениями об устройстве, отправляемые устройством, отличаются от сообщений телеметрии. Сообщения со сведениями об устройстве содержат команды, на которые может реагировать устройство, и журнал команд. В Центре Интернета вещей отсутствуют сведения о метаданных в сообщении со сведениями об устройстве. Он обрабатывает такое сообщение так же, как и все сообщения, отправляемые с устройства в облако. В решении для удаленного мониторинга задание Azure Stream Analytics (ASA) считывает сообщения из Центра Интернета вещей. Задание DeviceInfo Stream Analytics отфильтровывает сообщения, содержащие фрагмент кода "ObjectType": "DeviceInfo", и пересылает их экземпляру узла EventProcessorHost, выполняющемуся в веб-задании. Логика в экземпляре EventProcessorHost использует идентификатор устройства для поиска записи Cosmos DB для конкретного устройства и обновления записи.

Примечание

Сообщение со сведениями об устройстве — это стандартное сообщение, отправляемое с устройства в облако. Решение различает сообщения со сведениями об устройстве и сообщения с телеметрией с помощью запросов ASA.

Дальнейшие действия

Теперь когда вы знаете, как менять параметры предварительно настроенных решений IoT Suite, можете ознакомиться с другими функциями и возможностями таких решений: