Подключение к Azure IoT Central

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

  • Пройти проверку подлинности. При проверке подлинности в IoT Central используется маркер подписанного URL-адреса (SAS) или сертификат X.509. Сертификаты X. 509 рекомендуется использовать в рабочих средах.
  • Пройти регистрацию. Устройства должны быть зарегистрированы в приложении IoT Central. Вы можете просмотреть список зарегистрированных устройств на странице Устройства в приложении.
  • Получить ассоциацию с шаблоном устройства. В IoT Central шаблоны устройств определяют пользовательский интерфейс, используемый операторами для просмотра подключенных устройств и управления ими.

IoT Central поддерживает следующие два сценария регистрации устройств:

  • Автоматическая регистрация. Устройство регистрируется автоматически при первом подключении. Этот сценарий позволяет поставщикам вычислительной техники выполнять массовое изготовление устройств, которые могут подключаться без предварительной регистрации. Изготовитель оборудования создает подходящие учетные данные устройства и настраивает устройства в процессе производства. При необходимости можно потребовать от оператора утверждения устройства перед началом отправки данных. Этот вариант требует настройки группы регистрации X. 509 или SAS в приложении.
  • Регистрация вручную. Операторы регистрируют отдельные устройства на странице Устройства или импортируют CSV-файл для массовой регистрации устройств. В этом случае можно использовать как группы регистрации x. 509 или SAS, так и индивидуальную регистрацию x. 509 или SAS.

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

Azure IoT Central использует Службу подготовки устройств к добавлению в Центр Интернета вещей (DPS) в Azure для всех регистраций и подключений устройств. Сначала устройство подключается к конечной точке DPS для получения сведений, необходимых для подключения к приложению. С программной стороны ваше приложение IoT Central использует Службу подготовки устройств для получения данных о возможности подключения. DPS позволяет следующее:

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

В этой статье описаны следующие шаги подключения устройства:

Группа регистрации X.509

В рабочей среде рекомендуемым механизмом проверки подлинности устройств для IoT Central является использование сертификатов X. 509. Дополнительные сведения см. в статье Device Authentication using X.509 CA Certificates (Аутентификация устройств с помощью сертификатов ЦС X.509).

Чтобы подключить устройство с сертификатом X. 509 к приложению, выполните следующие действия.

  1. Создайте группу регистрации, использующую тип аттестации Certificates (X. 509) .
  2. Добавьте и проверьте промежуточный или корневой сертификат X.509 в группе регистрации.
  3. Создайте конечный сертификат из корневого или промежуточного сертификата в группе регистрации. Отправьте конечный сертификата с устройства при подключении к приложению.

Дополнительные сведения см. в статье Подключение устройств с помощью сертификатов X. 509

Только в целях тестирования

Только для тестирования можно использовать следующие служебные программы для создания корневого и промежуточного сертификатов, а также и сертификатов устройств:

  • Пакет SDK для устройств от Центра подготовки устройств Azure IoT: коллекция инструментов Node.js, которые можно использовать для создания и проверки сертификатов и ключей X. 509.
  • Управление тестовыми сертификатами ЦС для примеров и учебников: коллекция скриптов PowerShell и Bash, с помощью которых можно сделать следующее:
    • Создать цепочку сертификатов.
    • Сохраните сертификаты в виде файлов формата .cer, чтобы отправить их в приложение IoT Central.
    • Используйте код проверки из приложения IoT Central, чтобы создать сертификат проверки.
    • Создайте конечные сертификаты для устройств, используя идентификаторы устройств в качестве параметра для инструментария.

Группа регистрации SAS

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

  1. Создайте группу регистрации, использующую тип аттестации подписанного URL-адреса (SAS) .

  2. Скопируйте первичный или вторичный ключ группы из группы регистрации.

  3. Воспользуйтесь Azure CLI для создания ключа устройства на основе ключа группы:

    az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>
    
  4. Используйте сгенерированный ключ устройства, когда устройство подключается к приложению IoT Central.

Примечание

Чтобы использовать существующие ключи SAS в группах регистрации, отключите переключатель Автоматическое создание ключей и введите ключи SAS.

Отдельная регистрация

Подключающиеся к устройствам клиенты, у которых есть свои учетные данные для проверки подлинности, используют индивидуальные регистрации. Индивидуальная регистрация — это запись одного устройства, которому разрешено подключение. При аттестации таких устройств используются либо конечные сертификаты X.509, либо маркеры SAS (от физических или виртуальных доверенных платформенных модулей). Код устройства может содержать только буквы, цифры и символ -. Дополнительные сведения см. в статье Индивидуальная регистрация в DPS.

Примечание

При создании индивидуальной регистрации для устройства оно имеет приоритет над параметрами регистрации группы по умолчанию в приложении IoT Central.

Создание индивидуальной регистрации

IoT Central поддерживает следующие механизмы аттестации для индивидуальных регистраций:

  • Аттестация симметричных ключей: аттестация симметричных ключей — это простой подход к аутентификации устройства в экземпляре Службы подготовки устройств. Чтобы создать индивидуальную регистрацию, которая использует симметричные ключи, откройте страницу Подключение устройства, выберите Индивидуальная регистрация в качестве метода подключения и, наконец, механизм Подписанный URL-адрес (SAS) . Введите первичные и вторичные ключи в кодировке Base64 и сохраните изменения. Для подключения устройства используйте область идентификатора, идентификатор устройства и первичный или вторичный ключ.

    Совет

    Для тестирования можно использовать OpenSSL для создания ключей в кодировке Base64:

  • Сертификаты X.509: для создания индивидуальной регистрации с помощью сертификатов X.509 сначала откройте страницу Подключение устройства, затем выберите в качестве метода соединения Индивидуальная регистрация, после чего выберите механизм Сертификаты (X.509) . Сертификаты устройств, используемые с отдельной записью регистрации, имеют определенное требование — для издателя и субъекта CN должно быть задано значение идентификатора устройства.

    Совет

    Для тестирования можно использовать средства для пакета SDK устройства подготовки устройств Azure IOT для Node.js создания самозаверяющего сертификата.

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

Регистрация устройства

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

  • Устройства могут автоматически регистрироваться при первом подключении. Чтобы использовать этот параметр, необходимо использовать группы регистрации или X.509, или SAS.
  • Оператор может импортировать CSV-файл для выполнения групповой регистрации списка устройств в приложении.
  • Оператор также может вручную зарегистрировать отдельное устройство на странице Устройства в приложении.

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

Совет

На странице " Администрирование" подключения устройства параметр автоматического утверждения определяет, должен ли оператор вручную утвердить устройство, прежде чем он сможет начать отправку данных.

Автоматическая регистрация устройств, использующих сертификаты X.509

  1. Создайте конечные сертификаты для устройств с помощью корневого или промежуточного сертификата, добавленного в группу регистрации X.509. Используйте идентификаторы устройств в качестве CNAME в конечных сертификатах. Код устройства может содержать только буквы, цифры и символ -.

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

  3. При переключении на устройство оно сначала подключается к DPS для получения сведений о подключении к IoT Central.

  4. Устройство использует сведения из DPS для подключения к приложению IoT Central и регистрации в нем.

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

Автоматическая регистрация устройств, использующих маркеры SAS

  1. Скопируйте первичный ключ группы из группы регистрации SAS-IOT-Devices:

    Первичный ключ группы из группы регистрации SAS-IOT-Devices

  2. Используйте команду az iot central device compute-device-key, чтобы создать ключи SAS для устройства. Используйте первичный ключ группы из предыдущего шага. Код устройства может содержать только буквы, цифры и символ -:

    az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>
    
  3. Производителю необходимо предоставить каждому устройству идентификатор устройства, сгенерированный ключ SAS и значение области идентификатора для приложения. Код устройства также должен отправить идентификатор модели устройства, которую он реализует.

  4. При переключении на устройство оно сначала подключается к DPS для получения сведений о подключении к IoT Central.

  5. Устройство использует сведения из DPS для подключения к приложению IoT Central и регистрации в нем.

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

Предварительная массовая регистрация устройств

Чтобы зарегистрировать большое количество устройств в IoT Central, используйте CSV-файл для импорта идентификаторов устройств и устройств.

Если устройства используют маркеры SAS для проверки подлинности, экспортируйте CSV-файл из приложения IOT Central. Экспортированный CSV-файл будет содержать идентификаторы устройств и ключи SAS.

Если устройства используют сертификаты X.509 для проверки подлинности, создайте конечные сертификаты X.509 для устройств с помощью корневого или промежуточного сертификата, загруженных в группу регистрации X.509. Используйте импортированные идентификаторы устройств в качестве значения CNAME в конечных сертификатах.

Устройства должны использовать значение области идентификатора для приложения и отправить идентификатор модели при подключении.

Совет

Значение области идентификаторов можно найти в окне Администрирование Подключение устройства.

Регистрация одного устройства заранее

Этот подход удобен при экспериментах с IoT Central или тестировании устройств. На странице Устройства выберите + Новое, чтобы зарегистрировать отдельное устройство. Вы можете использовать ключи SAS подключения устройства для подключения устройства к IoT Central. Скопируйте ключ SAS для устройства из сведений о подключении для зарегистрированного устройства:

Ключи SAS для отдельного устройства

Связь устройства с шаблоном устройства

IoT Central автоматически связывает устройство с шаблоном устройства при подключении. Устройство отправляет идентификатор модели при подключении. IoT Central использует идентификатор модели для идентификации или создания шаблона устройства для этой конкретной модели устройства. Процесс обнаружения работает следующим образом.

  1. Если шаблон устройства уже опубликован в IoT Central, устройство связывается с шаблоном устройства.
  2. Если шаблон устройства еще не опубликован в приложении, IoT Central ищет модель устройства в общедоступном репозитории моделей. Если IoT Central находит модель, приложение использует ее для создания базового шаблона устройства.
  3. Если IoT Central не находит модель в репозитории, устройство помечается как несвязанное. Оператор может либо создать шаблон устройства для устройства, а затем перенести несвязанное устройство в новый шаблон, либо автоматически создать шаблон устройства на основе отправляемых устройством данных.

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

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

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

"@id": "dtmi:com:example:Thermostat;1"

Используйте следующие полезные данные DPS, чтобы связать устройство с шаблоном устройства:

{
  "modelId":"dtmi:com:example:TemperatureController;2"
}

Дополнительные сведения о полезных данных DPS см. в примере кода, который используется в руководстве по созданию и подключению клиентского приложения к приложению IOT Central Azure.

Значения состояния устройства

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

  1. Состояние устройства сначала имеет значение Зарегистрировано. Это состояние означает, что устройство создано в IoT Central и имеет идентификатор устройства. Устройство считается зарегистрированным, если:

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

  3. Оператор может блокировать устройство. Если устройство заблокировано, оно не может отправить данные в ваше приложение IoT Central. Заблокированные устройства имеют состояние Заблокировано. Оператор должен разблокировать устройство, прежде чем оно сможет возобновить отправку данных. Когда оператор разблокирует устройство, состояние вернется к предыдущему значению — Зарегистрировано или Подготовлено.

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

  5. Если устройство имеет состояние Не связано, это означает, что устройство, подключающееся к IoT Central, не имеет связанного шаблона устройства. Данная ситуация обычно возникает в следующих сценариях:

    • Набор устройств добавлен с помощью пункта Импорт на странице Устройства без указания шаблона устройства.
    • Устройство было зарегистрировано вручную на странице Устройства без указания шаблона устройства. После этого устройство подключается с действительными учетными данными.

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

Состояние подключения устройства

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

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

Схема с временным окном для событий подключения и отключения.

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

События подключения и отключения можно включить в данные, экспортируемые из IOT Central. дополнительные сведения см. в статье React об ограничениях событий центра интернета вещей для подключенных устройств и событий отключения устройства.

Поддержка пакетов SDK

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

Функции пакета SDK и возможность подключения Центра Интернета вещей

Для всего обмена данными устройства с Центром Интернета вещей используются следующие варианты подключения Центра Интернета вещей:

В следующей таблице содержатся сведения о том, каким образом возможности устройства Azure IoT Central сопоставляются с возможностями Центра Интернета вещей.

Azure IoT Central Центр Интернета вещей Azure
Телеметрия Передача сообщений с устройства в облако
Автономные команды Передача сообщений из облака на устройство
Свойство Сообщаемые свойства двойника устройства
Свойство (доступно для записи) Требуемые и передаваемые свойства двойника устройства
Get-Help Прямые методы

Протоколы

Пакеты SDK для устройства поддерживают следующие сетевые протоколы для подключения к Центру Интернета вещей.

  • MQTT
  • AMQP
  • HTTPS

Дополнительные сведения об этих разных протоколах и рекомендации по их выбору см. в статье Справочник — выбор протокола связи.

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

Безопасность

Все данные, передаваемые между устройствами и Azure IoT Central, зашифрованы. Центр Интернета вещей выполняет проверку подлинности каждого запроса с устройства, которое подключается к любой конечной точке Центра Интернета вещей, обращенной к устройству. Чтобы избежать обмена учетными данными по сети, для проверки подлинности устройство использует подписанные маркеры. Дополнительные сведения см. в статье Управление доступом к Центру Интернета вещей.

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

Ниже приведены некоторые из рекомендуемых дальнейших действий.