Files
satellite/docs/deployment/systemd-services.md
T
sirmrakandQwen-Coder 61b1532757 docs: перевод документации на русский язык
Полностью переведена вся документация в docs/:

- docs/architecture/overview.md — Архитектура Wyoming Satellite
- docs/settings-cheatsheet.md — Шпаргалка по настройкам (CLI флаги)
- docs/deployment/systemd-services.md — Настройка systemd сервисов
- docs/integration/mqtt-led.md — MQTT LED управление
- docs/integration/vad-wakeword.md — Уже был на русском
- docs/tutorials/2mic-hat.md — Tutorial для 2-MIC HAT
- docs/tutorials/installer.md — Интерактивный установщик
- docs/README.md — Индекс документации

Обновлены корневые файлы:
- README.md — Полностью на русском
- DEPLOY.md — Полностью на русском

Вся документация теперь на русском языке для удобства
русскоязычных пользователей.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-05-19 23:25:34 +03:00

4.9 KiB

Настройка systemd сервисов

Подробное руководство по настройке и управлению systemd сервисами Wyoming Satellite.

Расположение файлов сервисов

Файлы сервисов находятся в директории services/:

services/
├── wyoming-event.service         # LED управление + MQTT
├── wyoming-satelite-vosk.service # Основной спутник
└── wyoming-wakeword-vosk.service # Детекция wake word

Скрипт установки

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

  1. Определяет путь к виртуальному окружению
  2. Определяет текущего пользователя
  3. Подставляет плейсхолдеры в файлы сервисов
  4. Копирует сервисы в /etc/systemd/system/
  5. Устанавливает wrapper satellite-python в /usr/local/bin/

Ручная установка

Если скрипт не работает, установите вручную:

# 1. Отредактируйте файлы сервисов, заменив плейсхолдеры:
#    __SAT_BASE_DIR__ → /home/sirmrak/projects/Satellite
#    __SAT_VENV__ → /home/sirmrak/.venv_satellite
#    __CURRENT_USER__ → sirmrak

# 2. Скопируйте в директорию systemd
sudo cp services/*.service /etc/systemd/system/

# 3. Перезагрузите systemd
sudo systemctl daemon-reload

# 4. Включите и запустите
sudo systemctl enable --now wyoming-satelite-vosk.service

Детали сервисов

wyoming-satelite-vosk.service

Основной сервис Wyoming Satellite. Подключается к:

  • Микрофону (arecord)
  • Динамику (aplay)
  • Сервису wake word (опционально, порт 10400)
  • Сервису событий (опционально, порт 10500)

Порты: 10700 (Wyoming protocol)

Зависимости: network.target

wyoming-wakeword-vosk.service

Сервис детекции wake word на основе Vosk. Слушает русские фразы:

  • "привет дроид"
  • "привет придурок"
  • "привет жопа с ушами"

Порты: 10400 (Wyoming protocol)

Конфигурация: local/vosk-wake-dev/wyoming_vosk_wake/config.yaml

wyoming-event.service

LED управление и MQTT интеграция для ReSpeaker XVF3800.

Порты: 10500 (Wyoming event protocol)

MQTT топики:

  • wyoming/led/command — Команды от Home Assistant
  • wyoming/led/brightness/set — Установка яркости (0-255)
  • wyoming/led/brightness/state — Текущая яркость
  • wyoming/led/state — Состояние LED
  • wyoming/led/availability — Статус онлайн/офлайн

Команды управления

# Проверка статуса
sudo systemctl status wyoming-satelite-vosk.service

# Просмотр логов (реальное время)
journalctl -u wyoming-satelite-vosk.service -f

# Перезапуск сервиса
sudo systemctl restart wyoming-satelite-vosk.service

# Отключение сервиса
sudo systemctl disable --now wyoming-satelite-vosk.service

# Перезагрузка systemd после изменений
sudo systemctl daemon-reload

Диагностика

Сервис не запускается

# Проверка статуса и последних ошибок
sudo systemctl status wyoming-satelite-vosk.service

# Просмотр полных логов
journalctl -u wyoming-satelite-vosk.service -n 100

# Проверка пути к Python
which satellite-python
satellite-python --version

Частые проблемы

Проблема Решение
ModuleNotFoundError Проверьте путь к venv в файле сервиса
arecord: command not found Установите alsa-utils
Permission denied Проверьте директиву User=
Порт уже используется Проверьте, не запущен ли другой экземпляр

Wrapper скрипт

Wrapper satellite-python позволяет запускать Python из venv без указания полного пути:

# Установлен в /usr/local/bin/satellite-python
satellite-python --version  # Использует Python из venv

Используется в файлах сервисов:

ExecStart=satellite-python -m wyoming_satellite ...

🔗 Связанное