car_ui/docs/first-system-setup.md
2026-09-15 17:13:57 +03:00

2.9 KiB
Raw Blame History

First system setup

Первоначальная настройка Raspberry Pi для запуска Car UI.

Инструкция рассчитана на Debian 13 (Trixie).

1. Установить системные зависимости

sudo apt update

sudo apt install \
    python3 \
    python3-venv \
    rfkill \
    bluetooth \
    bluez \
    fonts-noto

2. Настроить пользователя

Добавить пользователя в группы, необходимые для работы с оборудованием:

sudo usermod -aG audio,video,render,input,bluetooth cheykrym

После изменения групп необходимо перелогиниться или перезагрузить систему:

sudo reboot

Проверить группы:

groups cheykrym

3. Проверить Bluetooth вручную

Проверить состояние RFKill:

rfkill list

При необходимости вручную снять блокировку:

sudo rfkill unblock bluetooth

Проверить Bluetooth service:

systemctl status bluetooth.service

При автоматическом запуске снятие RFKill-блокировки выполняется bt-unblock.service.

4. Подготовить проект

Сделать скрипты проекта исполняемыми:

chmod +x scripts/*.sh

Собрать приложение:

./scripts/build.sh

Скрипт автоматически:

  • создаст .venv, если его ещё нет;
  • установит Python-зависимости из requirements.txt;
  • соберёт приложение через PyInstaller.

Готовая сборка появится в:

dist/car_ui/

5. Установить приложение

sudo ./scripts/deploy.sh

Приложение будет установлено в:

/opt/car_ui/

6. Настроить автоматический запуск

После установки приложения выполнить настройку systemd согласно:

docs/auto-start.md

7. Настроить Return to Car UI

Для возврата из Development mode в Car mode используется системный helper:

/usr/local/bin/return-to-car-mode

Разрешить пользователю cheykrym запускать только этот helper без ввода пароля:

sudo visudo -f /etc/sudoers.d/car-ui

Добавить:

cheykrym ALL=(root) NOPASSWD: /usr/local/bin/return-to-car-mode

Проверить конфигурацию:

sudo visudo -cf /etc/sudoers.d/car-ui

Установить корректные права:

sudo chmod 440 /etc/sudoers.d/car-ui