Нижестоящий пакет обновления OTA с помощью Azure Sphere
Многие решения Azure Sphere включают как сертифицированный MCU, так и другие процессоры Azure Sphere в рамках полного решения Интернета вещей. Эти другие процессоры нуждаются в регулярных обновлениях встроенного ПО. В этом руководстве описывается, как включить нижестоящие обновления OTA с помощью Azure Sphere.
В зависимости от конкретного сценария приложения существует ряд различных способов достижения этого. Каждое решение имеет общий поток:
- Активируйте обновление встроенного ПО.
- Получите обновление встроенного ПО.
- Определите промежуточное расположение загрузки.
- Проверьте встроенное ПО и обновите подчиненный процессор.
Этап 1. Активация обновления встроенного ПО
Проблема. Как инициируется процесс обновления встроенного ПО?
Варианты.
Каждая версия приложения Azure Sphere привязана к нижестоящей версии встроенного ПО:
- Описание. При запуске приложения Azure Sphere поддерживаемая версия встроенного ПО сравнивается с развернутой версией на нижнем процессоре. Если версии не соответствуют, требуется обновление.
- Преимущества. Определенный контракт поддержки между приложением Azure Sphere и версией встроенного ПО. Кроме того, использует существующий процесс обновления приложений Azure Sphere.
- Недостатки. Необходимо обновить приложение Azure Sphere, чтобы активировать обновление встроенного ПО, даже если нет изменений в приложении Azure Sphere. Кроме того, необходимо добавить мониторинг хода выполнения обновления.
обновление встроенного ПО Центр Интернета вещей Azure управления устройствами:
- Описание. Когда обновление встроенного ПО готово, оператор решения Интернета вещей создает новую конфигурацию управления устройствами с обновленным встроенном ПО. Приложение Azure Sphere получает запрос на обновление встроенного ПО и может начать обновление.
- Преимущества. Простое решение для управления для определения, активации и мониторинга обновления.
- Недостатки. Необходимо использовать Центр Интернета вещей Azure, никакие другие облачные конечные точки не поддерживаются.
Отдельная проверка встроенного ПО (пользовательское решение):
- Описание. Создание пользовательского встроенного ПО в приложении Azure Sphere. Регулярно проверяйте определенную конечную точку для новой версии и, если она обнаружена, инициируйте обновление.
- Преимущества. Работает с любой облачной конечной точкой для скачивания встроенного ПО.
- Минусы. Необходимо добавить мониторинг процесса обновления. Настраиваемое встроенное решение, поэтому не использовать существующие пути обновления.
Рекомендуемое решение. Если активация обновлений для подчиненных процессоров с помощью обновлений приложений Azure Sphere подходит для вашего сценария, этот подход рекомендуется. Это решение гарантирует, что версии встроенного ПО Azure Sphere и более поздних версий всегда совпадают и не требуют создания другой системы для активации обновлений. В противном случае, если приложение уже использует Центр Интернета вещей Azure, Управление устройствами Интернета вещей является рекомендуемыми решениями, кроме того, требуется пользовательское решение.
Примеры:
- Справочное решение ExternalMcuUpdate показывает, как требовать определенную версию встроенного ПО на нижнем устройстве для каждой версии приложения Azure Sphere.
- Azure Sphere External MCU OTA реализует обновление встроенного ПО для Azure Sphere, используюющее Центр Интернета вещей Azure управление устройствами.
- Центр Интернета вещей Azure учебник по обновлению встроенного ПО описывает, как активировать обновления с помощью свойств двойника устройства Центр Интернета вещей Azure.
Этап 2. Получение обновления встроенного ПО
Проблема. Как скачать встроенное ПО с учетом ограничений памяти в Azure Sphere MT3620?
Варианты.
Включите нижестоящий встроенное ПО в образпакет, развернутый в MT3620. Это возможно, если общий размер программного обеспечения MT3620, включая нижестоящий образ, не превышает документированного предела флэш-памяти.
Скачайте встроенное ПО из размещенного расположения, например с помощью Хранилище BLOB-объектов Azure. Возможно, потребуется скачать встроенное ПО в блоках, так как ограничение ОЗУ MT3620 может препятствовать загрузке всего образа в ОЗУ. Важно проверить сервер, используемый для скачивания встроенного ПО ( например, с помощью HTTPS), чтобы убедиться, что на подчиненный процессор скачиваются и применяются только доверенные встроенное ПО. Обратите внимание, что в этом случае устройство может быть подключено к сети во время обновления приложения Azure Sphere, но затем перейти в автономный режим, прежде чем новое приложение может скачать новое нижестоящее встроенное ПО. Если это возможность для вашего варианта использования, важно поддерживать совместимость между приложением Azure Sphere и более старыми версиями нижестоящего встроенного ПО.
Рекомендуемое решение. Если образ встроенного ПО помещается в предел флэш-памяти пакета образов Azure Sphere, и если он является приемлемым для обновления программного обеспечения MT3620 каждый раз, когда требуется нижнее обновление, рекомендуется включить нижестоящий образ в пакет образов MT3620. В противном случае необходимо скачать образ встроенного ПО из размещенного расположения.
Примеры:
- Справочное решение ExternalMcuUpdate показывает, как включить нижестоящий образ встроенного ПО в составе пакета образов Azure Sphere.
- Пример HTTPS Curl Easy показывает, как выполнить фрагментированную загрузку с помощью буфера ОЗУ фиксированного размера.
Этап 3. Определение промежуточного расположения загрузки
Проблема. Эта проблема связана только в том случае, если вы не используете образ встроенного ПО, включенного в пакет образов Azure Sphere, и где скачанный встроенное ПО больше доступной ОЗУ на MT3620.
Варианты.
- Внешняя вспышка, подключенная к Azure Sphere.
- Нижестоящему хранилищу MCU или ПК.
Нет правильного или неправильного ответа на место хранения скачаемого встроенного ПО. Этот выбор зависит от настройки оборудования и стоимости. Какой лучший вариант для вас? Вы можете подключить внешнюю память флэш-памяти к устройству Azure Sphere или выбрать подчиненный процессор с достаточно большим хранилищем, чтобы получить обновление встроенного ПО.
Рекомендуемое решение. Выберите оптимальный вариант для настройки.
Примеры:
Этап 4. Проверка встроенного ПО и обновление нижестоящего процессора
Проблема. Как проверить и применить обновление встроенного ПО к нижнему процессору?
Параметры. Каждый процессор будет иметь другое решение. Большинство производителей процессоров имеют примеры, которые показывают, как выполнять обновления встроенного ПО на своих устройствах, и следует следовать рекомендациям для конкретного решения. Скачивание и обновление встроенного ПО должно выполнить проверку целостности, чтобы проверить встроенное ПО перед началом обновления.
Рекомендуемое решение: отличается для каждого процессора. Ознакомьтесь с примером производителя процессора.
Пример: Эталонное решение ExternalMcuUpdate демонстрирует обновление скандинавской nRF52 через интерфейс UART из MT3620.