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


Нижестоящий пакет обновления OTA с помощью Azure Sphere

Многие решения Azure Sphere включают как сертифицированный MCU, так и другие процессоры Azure Sphere в рамках полного решения Интернета вещей. Эти другие процессоры нуждаются в регулярных обновлениях встроенного ПО. В этом руководстве описывается, как включить нижестоящие обновления OTA с помощью Azure Sphere.

В зависимости от конкретного сценария приложения существует ряд различных способов достижения этого. Каждое решение имеет общий поток:

  1. Активируйте обновление встроенного ПО.
  2. Получите обновление встроенного ПО.
  3. Определите промежуточное расположение загрузки.
  4. Проверьте встроенное ПО и обновите подчиненный процессор.

Этап 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.