Подключение устройств Azure IoT Edge к приложению Azure IoT Central

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

В этой статье рассматриваются следующие вопросы:

  • Шаблоны шлюзов IoT Edge с IoT Central.
  • Подключение устройства IoT Edge к приложению IoT Central.
  • Использование IoT Central для управления устройствами IoT Edge.

Дополнительные сведения об устройстве IoT Edge см. в разделе Что такое Azure IOT Edge?

IoT Edge

Azure IoT Central with Azure IoT Edge

IoT Edge состоит из трех компонентов:

  • Модули IoT Edge — это контейнеры, в которых выполняются службы Azure, партнерские службы или ваш собственный код. Модули развертываются на устройства IoT Edge и выполняются на них локально. Манифест развертывания указывает модули для развертывания на устройстве IoT Edge.
  • Среда выполнения IoT Edge запускается на каждом устройстве IoT Edge и позволяет управлять модулями, развернутыми на каждом устройстве. Среда выполнения состоит из двух модулей IoT Edge: агента IoT Edge и Центра IoT Edge.
  • С помощью облачного интерфейса вы можете осуществлять мониторинг устройств IoT Edge и управлять ими удаленно. IoT Central является примером облачного интерфейса.

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

  • Управление манифестами развертывания. Приложение IoT Central может управлять коллекцией манифестов развертывания и назначать их устройствам.
  • Шаблоны устройств для описания возможностей устройства IoT Edge, например:
    • Данные телеметрии каждого модуля IoT Edge отправляются.
    • Свойства каждого модуля IoT Edge сообщают.
    • Команды каждого модуля IoT Edge отвечают.
    • Связи между устройством шлюза IoT Edge и подчиненным устройством.
    • Свойства облака, которые не хранятся на устройстве IoT Edge.
    • Представления и формы устройств.
  • Возможность подготавливать устройства Azure IoT Edge в большом масштабе с помощью службы подготовки устройств Интернета вещей Azure.
  • Правила и действия.
  • Пользовательские панели мониторинга и аналитика.
  • Непрерывный экспорт данных телеметрии, передаваемых с устройств Azure IoT Edge.

Есть два типа устройств IoT Edge:

  • Автономное устройство, состоящее из пользовательских модулей.
  • устройство шлюза с подключенными к нему подчиненными устройствами. Устройство шлюза может включать пользовательские модули.

Устройства IoT Edge и IoT Central

Для проверки подлинности в Azure IOT Central устройства Azure IoT Edge могут использовать маркеры подписанных URL-адресов или сертификаты X.509. Вы можете вручную зарегистрировать устройства IoT Edge в IoT Central перед первым подключением или использовать для регистрации службу подготовки устройств. Дополнительные сведения см. в разделе "Подключение устройств".

IoT Central при необходимости использует шаблоны устройств для определения взаимодействия IoT Central с устройством IoT Edge. Например, в шаблоне устройства указано:

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

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

Манифесты развертывания IoT Edge

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

Манифест развертывания Azure IOT Edge содержит список модулей Azure IOT Edge для развертывания на устройстве и способы их настройки.

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

В следующем фрагменте кода показан пример манифеста развертывания IoT Edge:

{
  "modulesContent": {
    "$edgeAgent": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "runtime": {
          "type": "docker",
          "settings": {
            "minDockerVersion": "v1.25",
            "loggingOptions": "",
            "registryCredentials": {}
          }
        },
        "systemModules": {
          "edgeAgent": {
            "type": "docker",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-agent:1.0.9",
              "createOptions": "{}"
            }
          },
          "edgeHub": {
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-hub:1.0.9",
              "createOptions": "{}"
            }
          }
        },
        "modules": {
          "SimulatedTemperatureSensor": {
            "version": "1.0",
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0",
              "createOptions": "{}"
            }
          }
        }
      }
    },
    "$edgeHub": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "routes": {
            "route": "FROM /* INTO $upstream"
        },
        "storeAndForwardConfiguration": {
          "timeToLiveSecs": 7200
        }
      }
    },
    "SimulatedTemperatureSensor": {
      "properties.desired": {
           "SendData": true,
           "SendInterval": 10
      }
    }
  }
}

В приведенном фрагменте мы видим следующее.

  • Есть три модуля: системные модули агент Azure IOT Edge и концентратор Azure IOT Edge, которые имеются в каждом манифесте развертывания, и пользовательский модуль SimulatedTemperatureSensor.
  • Образы общедоступных модулей извлекаются из репозитория Реестра контейнеров Azure, для подключения к которому не требуются учетные данные. Для частных образов модулей задайте учетные данные реестра контейнеров для использования в параметре registryCredentials для агента Azure IOT Edge модуля.
  • Настраиваемый модуль SimulatedTemperatureSensor имеет два доступных для записи свойства "SendData": true и "SendInterval": 10.

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

Screenshot that shows the imported Environmental sensor deployment manifest.

Если приложение использует организации, вы можете назначить манифесты развертывания определенным организациям. На предыдущем снимках экрана показан манифест развертывания, назначенный организации Store Manager или Americas .

Сведения об использовании страницы манифестов Edge и назначении манифестов развертывания устройствам IoT Edge см. в статье "Управление манифестами развертывания IoT Edge" в приложении IoT Central.

Управление неназначимым устройством

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

  • Просмотр необработанных данных, таких как телеметрия и свойства.
  • вызов команд устройства.
  • Чтение и запись свойств.

Screenshot that shows unassigned device capabilities.

Вы также можете управлять отдельными модулями на неназначенных устройствах:

Screenshot that shows the options for managing modules on unassigned devices.

Шаблоны устройств IoT Edge

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

Diagram that shows the model structure for an IoT Edge device connected to IoT Central.

IoT Central моделирует устройство IoT Edge следующим образом:

  • В каждом шаблоне устройства IoT Edge есть модель возможностей.
  • Для каждого пользовательского модуля, указанного в манифесте развертывания, добавьте определение модуля, если вы хотите использовать IoT Central для взаимодействия с этим модулем.
  • Модель возможностей модуля реализует один или несколько интерфейсов модуля.
  • Каждый интерфейс модуля содержит данные телеметрии, свойства и команды.

Базовую модель возможностей можно создать на основе модулей и свойств, определенных в манифесте устройства. Дополнительные сведения см. в разделе "Добавление модулей и свойств" в шаблоны устройств.

Шаблоны шлюза IoT Edge

IoT Central поддерживает следующие шаблоны устройств IoT Edge:

IoT Edge как прозрачный шлюз

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

IoT Edge as transparent gateway

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

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

Примечание.

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

IoT Edge в качестве шлюза перевода протоколов

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

IoT Edge as protocol translation gateway

Устройство IoT Edge подготовлено в IoT Central, а любые данные телеметрии с подчиненных устройств представлены как поступающие с устройства IoT Edge. Подчиненные устройства, подключенные к устройству IoT Edge, не подготавливаются в IoT Central.

IoT Edge в качестве шлюза перевода удостоверений

Подчиненные устройства подключаются к модулю в шлюзе, который предоставляет удостоверения устройств IoT Central для них.

IoT Edge as identity translation gateway

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

Связи подчиненных устройств со шлюзом и модулями

Если подчиненные устройства подключаются к устройству шлюза IoT Edge через модуль Центра IoT Edge, устройство IoT Edge является прозрачным шлюзом:

Diagram of transparent gateway

Если подчиненные устройства подключаются к устройству шлюза IoT Edge через пользовательский модуль, устройство IoT Edge — это шлюз перевода. В следующем примере подчиненные устройства подключаются через настраиваемый модуль Modbus , который выполняет преобразование протокола:

Diagram of custom module connection

На следующей схеме показано подключение к устройству шлюза IoT Edge через модули обоих типов. В этом сценарии устройство IoT Edge является прозрачным шлюзом и шлюзом перевода:

Diagram of connecting using both connection modules

Подчиненные устройства могут подключаться к устройству шлюза IoT Edge через несколько настраиваемых модулей. На следующей схеме показаны подчиненные устройства, подключающиеся через настраиваемый модуль Modbus, настраиваемый модуль BLE и модуль Концентратор IoT Edge:

Diagram of connecting using multiple custom modules

Дополнительные сведения о шаблонах шлюзов IoT Edge см. в статье Использование устройства IoT Edge в качестве шлюза.

Развертывание среды выполнения IoT Edge

Сведения о том, где можно запустить среду выполнения IoT Edge, см. в статье Поддерживаемые системы Azure IOT Edge.

Также можно установить среду выполнения IoT Edge в следующих средах:

Мониторинг устройств IoT Edge

Сведения о удаленном мониторинге парка IoT Edge см. в разделе "Сбор и транспортировка".

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

Далее рекомендуем ознакомиться со статьей Разработка собственных модулей Azure IoT Edge.