В настоящее время я разрабатываю стратегию обновления для устройств Интернета вещей под управлением встроенного Linux. Обновление устройства Azure для Центра Интернета вещей.
Я прочитал много документации MS по этой теме. Но мне не хватает части, как соединить все службы вместе, поэтому они делают то, что я хочу.
Что я знаю:
- c-sdk предназначен для общения и формирования устройства.
- Агент обновления устройства для получения обновлений.
- SDK оптимизации доставки для надежной загрузки.
Чего я хочу:
- Отправить данные телеметрии для устройства
- Вызов методов на устройстве
- Разверните образ обновления на мои устройства IoT из центральной точки (IoT Hub).
- Автоматически начинать загрузку при появлении нового патча.
- Имейте одно клиентское приложение, которое все это делает.
Что у меня есть:
- Клиентская часть обновления реализована с помощью rauc. Мне просто нужен способ доставить файл обновления на устройство.
- Я могу отправлять телеметрию, редактировать двойники устройств и вызывать методы с помощью iot-sdk-c.
- Я создал IotHub с обновлением устройства и подключил свои устройства к Агент обновления устройства
- Я создал артефакт обновления и импортировал и создал новое развертывание для моей целевой группы < / а>.
- Мне удалось смоделировать успешную загрузку с помощью AducIotAgent.
Моя проблема:
Я не знаю, как соединить все эти части вместе, чтобы при развертывании нового артефакта все совместимые устройства начали загрузку сами по себе, или если я даже на правильном пути. Моим следующим шагом было бы просто вызвать метод, который загружает файл обновления и передает его моему средству обновления rauc, но это нарушит цель обновления устройства и агента обновления, по крайней мере, с моим текущим пониманием их. У меня возникла дополнительная проблема с агентом устройства, которую я объяснил на github, но я не думаю, что это связано.
Кроме того, я читал, что обновление устройства использует интерфейсы PnP и в этом руководство, которое они используют iot-dps, чтобы зарегистрировать новые устройства, но прежде чем я углублюсь в эти темы, я хотел бы знать, подходит ли это для моего случая.