Raspberry Pi научили обновляться удаленно: теперь к нему не нужно подключаться

Raspberry Pi научили обновляться удаленно: теперь к нему не нужно подключаться

Если вы используете Raspberry Pi не просто «поиграться», а в реальном проекте — вы точно сталкивались с одной проблемой: чтобы обновить систему, к нему нужно подключаться.

Даже если есть SSH или веб-доступ — это всё равно лишние действия. А если устройство находится далеко — задача превращается в неудобную или вообще невозможную.

Теперь это меняется. В Raspberry Pi Connect появилась функция удаленных обновлений (OTA), которая позволяет управлять устройством буквально «по воздуху».

Что это значит на практике

Раньше всё выглядело так:

sudo apt update

sudo apt upgrade

 

Ты подключался к Raspberry Pi, запускал команды и ждал.

Теперь можно просто отправить обновление удалённо — без подключения к устройству.

Даже если Raspberry Pi сейчас выключен — обновление выполнится, когда он появится в сети.

Как включить удаленные обновления

Чтобы начать использовать OTA, нужно установить пакеты:

sudo apt update

sudo apt install rpi-connect rpi-connect-ota

 

Если используется облегчённая версия:

sudo apt install rpi-connect-lite rpi-connect-ota

 

После этого включаем функцию:

rpi-connect ota on

 

Готово — теперь устройство умеет принимать удаленные обновления.

Как устроена система: артефакты и деплой

Вся логика строится вокруг двух вещей:

  • артефакт — файл с обновлением или скриптом

  • деплой — команда выполнить этот файл

То есть ты создаешь пакет, отправляешь его на устройство — и оно выполняет нужные действия.

Простой пример: удалённый apt upgrade

Можно создать артефакт, который делает обычное обновление системы.

Вот пример скрипта:

#!/bin/sh

export DEBIAN_FRONTEND=noninteractive

 

apt update

 

if apt -y -o DPKG::Options::="--force-confnew" upgrade > output.txt; then

    if [ -r /var/run/reboot-required ]; then

        echo Rebooting to finish the upgrade

        exit 2

    fi

else

    echo Upgrade failed:

    cat output.txt

    exit 1

fi

 

echo Upgrade complete

exit 0

 

Этот скрипт:

  • обновляет пакеты

  • автоматически принимает изменения

  • перезагружает систему при необходимости

Описание артефакта (YAML)

К скрипту добавляется YAML-файл:

artefact:

  name: aptupgrade

  version: 1.0

  device_type: rpi

 

payloads:

- name: aptupgradescript

  type: script

 

Дальше собираем артефакт:

otamaker aptupgrade.yaml

 

На выходе получаем файл вида:

aptupgrade.tar.zst

 

Как отправить обновление на устройство

  1. Узнаем IP компьютера:

hostname -I

 

  1. Поднимаем простой сервер:

python3 -m http.server 8000 --directory .

 

  1. Загружаем артефакт в Raspberry Pi Connect

  2. Нажимаем Deploy

После этого:

  • устройство скачает файл

  • выполнит скрипт

  • при необходимости перезагрузится

Почему это важно

Самое интересное — это не просто обновления.

Ты можешь выполнять любые действия:

  • деплоить свое приложение

  • запускать команды

  • обновлять сервисы

  • управлять железом

Например, можно отправить скрипт, который включает LED или запускает музыку.

Что если обновление сломает систему?

Это главный страх при удалённом управлении.

Поэтому используется схема A/B:

  • есть две версии системы

  • новая ставится во вторую

  • если всё ок — переключаемся

  • если нет — откатываемся

Это делает обновления безопасными даже без физического доступа к устройству.

Ограничения

Функция пока в бета-версии.

Главный минус — вывод скриптов смотреть неудобно.

Можно посмотреть через:

journalctl -t rpi-ota-connector

Итог

Raspberry Pi становится не просто мини-компьютером, а полноценной управляемой системой.

Теперь можно:

  • обновлять устройства удаленно

  • управлять ими без подключения

  • автоматизировать задачи

И это уже уровень:

  • серверов

  • IoT

  • продакшн-решений

Комментарии
Отзывов еще никто не оставлял
Обратный звонок
Запрос успешно отправлен!
Имя *
Телефон *
Предзаказ
Предзаказ на товар успешно оформлен! Как товар появится в наличии - мы с вами свяжемся.
Имя *
Телефон *
Добавить в корзину
Название товара
100 ₽
1 шт.
Перейти в корзину
Заявка на предложение
Заказ в один клик

Я ознакомлен и согласен с условиями оферты и политики конфиденциальности.