Инструкция для производителя RealIoT

Руководство по подготовке и публикации OTA обновлений для контроллеров RealIoT
Workflow: Raspberry Pi → Windows (WinSCP) → Глобальный сервер

Эта инструкция для технических специалистов, отвечающих за выпуск обновлений.

Процесс подготовки обновления

1 Сборка frontend на Windows машине

Запустите скрипт, который автоматически:

# На Raspberry Pi
cd /opt/realiot-web
# Увеличить версию
npm version patch --no-git-tag-version
# Собрать frontend (собирается на Windows, но скрипт запускается на локальном сервере)
./build-on-windows.sh

Примечание: Скрипт build-on-windows.sh настроен на вашу Windows машину (192.168.0.108)

2 Создание tar.gz архива

На Raspberry Pi в директории проекта:

cd /opt/realiot-web
./scripts/build_update_package.sh

# Результат в /opt/realiot-web/: 
# - realiot-web-v1.0.X.tar.gz (~115 MB)
# - version-1.0.X.json

Публикация обновления на глобальном сервере

1 Загрузить файлы через WinSCP в /tmp/ на realiot.ru
Локальный сервер → realiot.ru:/tmp/
  - realiot-web-v1.X.X.tar.gz
  - version-1.X.X.json
2 На глобальном сервере (SSH)
cd /opt/realiot-updates
./add-version.sh /tmp/realiot-web-v1.X.X.tar.gz /tmp/version-1.X.X.json
где 1.X.X - номера новой версии, в обоих местах одинаковые.

# Если ошибка прав:
sudo chown vic:vic /opt/realiot-updates/version.json
3 Проверка
curl -s https://realiot.ru/versions.json | jq '.latest'

Дополнительные команды (опционально)

# Пометить версию как устаревшую
./deprecate-version.sh 1.0.1

# Удалить старые версии (оставить 5 последних)
./cleanup-old-versions.sh

Тестирование обновления

ОБЯЗАТЕЛЬНО протестировать перед массовым развертыванием!

На тестовом контроллере RealIoT:

  1. Автоматическое обновление:
    • Открыть Settings -> Обновление системы
    • Нажать "Проверить обновления"
    • Нажать "Обновить систему"
    • Дождаться завершения (2-3 минуты)
    • Проверить что всё работает
  2. Ручная загрузка файла:
    • Скачать good_update.tar.gz на компьютер
    • Открыть Settings -> Обновление системы
    • Перетащить файл в браузер
    • Нажать "Установить обновление"
    • Проверить результат
  3. Проверить функционал:
    • Node-RED узлы загружены
    • MQTT работает
    • Устройства подключены
    • Веб-интерфейс доступен

Чеклист релиза

Перед публикацией убедитесь:

Решение проблем

Откат обновления

Если обновление проблемное, пометьте его как deprecated:

cd /opt/realiot-updates
./deprecate-version.sh 1.0.X

# Пользователи увидят предупреждение и смогут выбрать старую версию

RealIoT System | Версия: 1.0 | Обновлено: Февраль 2026

Для Windows + WSL окружения