Сведения о расширенных возможностях автономной работы устройств, модулей и дочерних устройств IoT Edge
Область применения: IoT Edge 1.5 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 работает в автономном режиме:
Настройка устройств
Функция автономной работы включена на устройствах IoT Edge автоматически. Чтобы расширить эту возможность на других устройствах, необходимо настроить подчиненные устройства для доверия к назначенному родительскому устройству и маршрутизации обмена данными между устройствами через родительский в качестве шлюза.
Синхронизация с центром Интернета вещей
Хотя бы один раз после установки среды выполнения IoT Edge необходимо подключить устройство IoT Edge к сети для синхронизации с центром Интернета вещей. В этой синхронизации устройство IoT Edge получает сведения о всех подчиненных устройствах, назначенных ему. Устройство IoT Edge безопасно обновляет свой локальный кэш, чтобы можно было продолжать работу автономно, и извлекает параметры для локального хранения сообщений телеметрии.
Переход в автономный режим
При отключении от Центр Интернета вещей устройство IoT Edge, развернутые модули и любые подчиненные устройства могут работать бесконечно. Модули и подчиненные устройства могут запускаться и перезапускаться, выполняя проверку подлинности с помощью Центра IoT Edge в автономном режиме. Восходящий поток телеметрии в центр Интернета вещей хранится локально. Обмен данными между модулями или между подчиненными устройствами поддерживается с помощью прямых методов или сообщений.
Повторное подключение и синхронизация с Центром Интернета вещей
После восстановления связи с центром Интернета вещей устройство 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".
Настройка родительского устройства в качестве шлюза
Отношение "родители — потомки" можно рассматривать как прозрачный шлюз, где дочернее устройство использует собственное удостоверение в центре Интернета вещей, но обмен данными осуществляет в облаке через свое родительское устройство. Для безопасного взаимодействия дочернее устройство должно иметь возможность убедиться в том, что родительское устройство поступает из надежного источника. В противном случае сторонние устройства могут настроить вредоносные устройства, которые имитируют родительские устройства и перехватывают данные.
Один из способов создания такого отношения доверия подробно описан в следующих статьях.
- Настройка устройства IoT Edge для использования в качестве прозрачного шлюза
- Connect a downstream (child) device to an Azure IoT Edge gateway (Подключение подчиненного (дочернего) устройства к шлюзу 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. Дополнительные сведения см. в разделе "Предоставление модулям доступа к локальному хранилищу устройства".
Следующие шаги
Дополнительные сведения о настройке прозрачного шлюза для подключения родительских и дочерних устройств
- Настройка устройства IoT Edge для использования в качестве прозрачного шлюза
- Аутентификация подчиненного устройства в Центре Интернета вещей
- Connect a downstream device to an Azure IoT Edge gateway (Подключение подчиненного устройства к шлюзу Azure IoT Edge)