Беспроводное программирование (OTA) — это средство, с помощью которого устройство IoT может быть обновлено после того, как оно находится в полевых условиях через беспроводное соединение. Это может быть выгодно по целому ряду причин, поскольку предлагает:

  • • возможность добавления новых функций программного обеспечения к продукту после того, как устройство было развернуто в полевых условиях;
  • • возможность быстро реагировать на ошибки и уязвимости в системе безопасности без необходимости отзыва физического устройства или выезда грузовика;
  • • гарантии того, что разработчики встраиваемых систем могут быстро создавать прототипы и беспрепятственно развертывать новые версии встроенного ПО.

Обновления OTA сейчас довольно распространены, и мы часто считаем само собой разумеющимся, что наши телефоны, планшеты и компьютеры будут автоматически обновляться с исправлениями безопасности и новыми функциями по мере их появления. Некоторые устройства предлагают пользовательский контроль, в то время как другие пытаются полностью исключить пользователя из уравнения. Иногда кажется, что наши устройства хотят обновляться в неудобное время, но мы начинаем к этому привыкать.

Обновления OTA для встроенных устройств
В отличие от потребительских устройств, которые обычно не являются критически важными, обновления для встроенных устройств должны быть гораздо более предсказуемыми и безопасными. Тем не менее, они по-прежнему могут использовать преимущества OTA или удаленных обновлений. Для обработки обновлений OTA доступно множество вариантов и сред, поэтому разработчикам необходимо выполнить свою домашнюю работу, прежде чем применять методологию.

Необходимо определить, насколько критично обновление и можно ли контролировать время (и кем). Например, промышленное контрольно-измерительное оборудование нельзя обновлять во время выполнения операции. И если обновление приводит к необходимости обращения в службу поддержки, это может дорого обойтись. Кроме того, должны быть гарантии того, что питание остается включенным в течение всего времени OTA. Наконец, необходимо внедрить отказоустойчивые методы, например, если новый образ не загружается должным образом.

Ключевым соображением при определении степени безопасности и риска, когда встроенные системы допускают удаленные или беспроводные обновления, является вопрос о том, что действительно необходимо обновлять в полевых условиях? Для некоторых устройств может потребоваться обновление приложений только по мере предоставления новых функций и/или обновлений. Этот метод обычно является наименее рискованным и простым для восстановления, так как основная операционная система (ОС) остается нетронутой.

В других случаях вы можете захотеть обновить основную ОС. Например, Microsoft Windows 10 IoT Enterprise включает обновления, если пользователь не настроил его иначе. Влияние этих обновлений не всегда находится под вашим непосредственным контролем, поэтому рекомендуется соблюдать осторожность. Точно так же дистрибутивы Linux могут иметь обновления безопасности, которые можно включать или отключать в зависимости от приложения.

В других случаях может потребоваться обновление ОС, если вы хотите установить совершенно новую корневую файловую систему и образ ОС. В этом случае вам понадобится метод отката восстановления на случай, если что-то пойдет не так.

Обновление загрузочной прошивки
Затем следует обновление BIOS или другого программного обеспечения, которое запускает/настраивает систему до загрузки ОС. Хотя этот код можно обновить с помощью такой операционной системы, как Windows 10 IoT Enterprise или Linux, он сопряжен с потенциальными рисками, которые следует оценивать. В некоторых случаях BIOS, включая программное обеспечение UEFI и UBOOT, можно настроить для обновления через удаленный доступ. Однако здесь необходимо учитывать подготовку флэш-памяти. Без надлежащей реализации безопасности с установленным корнем доверия эти реализации могут быть проблемой безопасности. Вы можете узнать, доступна ли реализация безопасности TPM 2.0 или аналогичная.

Контроллер управления основной платой (BMC) — это один из методов, который разработчики используют для мониторинга и контроля процесса удаленного управления и обновления. Это характерно для серверов и высокопроизводительных систем, где внедрение происходит на границе промышленного Интернета вещей (IIoT). В этом сценарии каждый уровень несет свой собственный набор рисков, вознаграждений и затрат.

Для ваших устройств IIoT доступны многочисленные платформы OTA и удаленного обновления, и их следует выбирать не только на основе их облачной среды, но и наличия необходимых служб и сред, необходимых для встроенного оборудования, ОС и встроенного ПО, которые будут использоваться. Некоторые возможности исходят от Mender.io, ThingWorx, AWS IoT Core и Azure IoT Центральный.

WINSYSTEMS работает со своими клиентами, чтобы помочь им понять особенности аппаратного и микропрограммного обеспечения при внедрении удаленных обновлений. Одной из платформ, которая может работать таким образом, является промышленный одноплатный компьютер (SBC) ITX-P-C444.

ITX-P-C444 основан на форм-факторе Pico-ITX и разработан с процессором приложений NXP i.MX8M на базе Arm. Благодаря двойному Ethernet, промышленному вводу-выводу и другим возможностям расширения SBC подходит для приложений IIoT, требующих производительности в суровых условиях, таких как цифровые вывески, промышленная автоматизация, энергетика и автоматизация зданий.