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


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

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

Внимание

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 OK, если устройство IoT Edge не подключено к Интернету.

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

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

Примечание.

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

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

Дополнительные сведения о создании связи между устройством 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 000 000 000).

Этот параметр является требуемым свойством центра IoT Edge, которое хранится в двойнике модуля. Можно указать эти значения на портале Azure или непосредственно в манифесте развертывания.

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

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

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

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

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