feat: Multi-event server support + USB LED controller

New features:
- wyoming_satellite/xvf_usb.py — прямой USB доступ к XVF3800 без subprocess
- docs/development/multi-event-server-plan.md — план разработки event server
- examples/respeaker_usb_mic_array.py — исходный файл с LED анимациями

Documentation updates:
- DEPLOY.md — добавлена секция про LED управление и event server план
- docs/integration/mqtt-led.md — обновлена документация по USB и event server
- docs/deployment/systemd-services.md — добавлен event server раздел

Refactoring:
- examples/wyoming-led.py — замена subprocess на XVF3800Controller
- install_service.sh — удалён (устарел, используется install_systemd_services.sh)

Bug fixes:
- wyoming-led.py — яркость DoA эффекта через масштабирование цвета
- systemd сервис — добавлена поддержка wyoming_satellite.xvf_usb модуля
This commit is contained in:
2026-05-20 13:50:16 +03:00
parent 75ba5481b6
commit c62203b220
9 changed files with 2267 additions and 152 deletions
+24
View File
@@ -74,6 +74,12 @@ LED управление и MQTT интеграция для ReSpeaker XVF3800.
**Порты:** 10500 (Wyoming event protocol)
**Требования:**
- ReSpeaker XVF3800 USB 4-MIC Array
- udev правила: `SUBSYSTEM=="usb", ATTR{idVendor}=="2886", MODE="0666"`
**USB контроллер:** Использует модуль `wyoming_satellite.xvf_usb` для прямого доступа к LED без subprocess.
**MQTT топики:**
- `wyoming/led/command` — Команды от Home Assistant
- `wyoming/led/brightness/set` — Установка яркости (0-255)
@@ -81,6 +87,24 @@ LED управление и MQTT интеграция для ReSpeaker XVF3800.
- `wyoming/led/state` — Состояние LED
- `wyoming/led/availability` — Статус онлайн/офлайн
**Конфигурация яркости:** `examples/led_brightness_config.json` (создаётся автоматически)
**Диагностика:**
```bash
# Проверка статуса
sudo systemctl status wyoming-event.service
# Логи
journalctl -u wyoming-event.service -f
# Тест USB контроллера
source ~/.venv_satellite/bin/activate
python3 -c "from wyoming_satellite.xvf_usb import XVF3800Controller; print('OK' if XVF3800Controller().is_connected() else 'Not found')"
```
Подробности в [MQTT LED документации](../integration/mqtt-led.md).
## Команды управления
```bash