Поделиться через


Сведения о расширенных возможностях автономной работы устройств, модулей и дочерних устройств IoT Edge

Область применения:Отметка IoT Edge 1.5 IoT Edge 1.5

Внимание

IoT Edge 1.5 LTS является поддерживаемым выпуском. IoT Edge 1.4 LTS заканчивается жизнью с 12 ноября 2024 года. Если вы используете более ранний выпуск, см. статью Обновление IoT Edge.

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

Принцип работы

Когда устройство IoT Edge переходит в автономный режим, центр IoT Edge выполняет три роли.

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

В следующем примере показано, как IoT Edge работает в автономном режиме:

  1. Настройка устройств

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

  2. Синхронизация с центром Интернета вещей

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

  3. Переход в автономный режим

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

  4. Повторное подключение и синхронизация с Центром Интернета вещей

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

    Все различия между требуемыми и сообщаемыми свойствами модулей и устройств будут согласованы. Устройство IoT Edge обновляет все изменения в наборе назначенных нижестоящих устройств.

Ограничения

Устройства IoT Edge и назначенные нижестоящими устройствами могут работать неограниченно в автономном режиме после первоначальной однократной синхронизации. Однако хранилище сообщений зависит от времени жизни (TTL) и доступного места на диске.

EdgeAgent устройства обновляет свои сообщаемые свойства всякий раз, когда изменяется состояние развертывания, например новое или неудачное развертывание. Если устройство находится в автономном режиме, EdgeAgent не может сообщать о состоянии портал Azure. Таким образом, состояние устройства на портале Azure может оставаться 200 ОК , если устройство IoT Edge не имеет подключения к Интернету.

Настройка родительских и дочерних устройств

По умолчанию родительское устройство может содержать до 100 дочерних элементов. Измените это ограничение, задав переменную среды MaxConnectedClients в модуле edgeHub. Дочернее устройство имеет только одно родительское устройство.

Примечание.

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

Нижестоящим устройством может быть любое устройство, IoT Edge или не IoT Edge, зарегистрированное в том же IoT Hub.

Дополнительные сведения о создании связи между устройством IoT Edge и устройством Интернета вещей см. в статье "Проверка подлинности нижестоящего устройства в Центр Интернета вещей Azure". В разделах о симметричном ключе, самозаверяющем сертификате X.509 и подписанном ЦС сертификате X.509 приводятся примеры использования портала Azure и Azure CLI для определения отношений "родители — потомки" при создании устройств. Для существующих устройств объявите связь на странице сведений об устройстве на портале Azure родительского или дочернего устройства.

Дополнительные сведения о создании связи между двумя устройствами IoT Edge см. в статье "Подключение нижестоящего устройства IoT Edge к шлюзу Azure IoT Edge".

Настройка родительского устройства в качестве шлюза

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

Один из способов создания такого отношения доверия подробно описан в следующих статьях.

Указание DNS-серверов

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

Дополнительные параметры автономной работы

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

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

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

Срок жизни

Настройка время жизни определяет, сколько времени (в секундах) сообщение ожидает доставки, прежде чем срок его действия истечет. Значение по умолчанию — 7200 секунд (два часа). Максимальное значение ограничено максимальным значением целочисленной переменной, которая составляет около 2 миллиардов.

Этот параметр является требуемым свойством центра IoT Edge, хранящимся в двойнике модуля. Настройте его на портале Azure или непосредственно в манифесте развертывания.

"$edgeHub": {
    "properties.desired": {
        "schemaVersion": "1.1",
        "routes": {},
        "storeAndForwardConfiguration": {
            "timeToLiveSecs": 7200
        }
    }
}

Хранилище узлов для системных модулей

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

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

Дополнительные сведения о настройке прозрачного шлюза для подключения родительских и дочерних устройств