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


Сведения о расширенных возможностях автономной работы устройств, модулей и дочерних устройств 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. 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. Дополнительные сведения см. в разделе "Предоставление модулям доступа к локальному хранилищу устройства".

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

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