Полностью переведена вся документация в 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>
6.3 KiB
6.3 KiB
MQTT LED Управление
Руководство по интеграции LED управления ReSpeaker через MQTT и Home Assistant.
Обзор
LED сервис (examples/wyoming-led.py) предоставляет:
- Light сущность — Управление яркостью и цветом LED
- Sensor сущность — Состояние спутника (ожидание, слушание, говорение)
- Number сущности — 7 слайдеров для точной настройки
- MQTT Discovery — Авто-конфигурация в Home Assistant
Архитектура
┌──────────────────┐ MQTT ┌──────────────────┐
│ Home Assistant │◄─────────────►│ wyoming-led.py │
│ │ │ (порт 10501) │
└──────────────────┘ └────────┬─────────┘
│
│ Wyoming Events
│ (порт 10500)
┌────────▼─────────┐
│ Satellite │
│ (порт 10700) │
└──────────────────┘
Установка
1. Установка зависимостей
cd ~/projects/Satellite
source ~/.venv_satellite/bin/activate
pip install paho-mqtt
2. Настройка MQTT
Отредактируйте examples/wyoming-led.py:
MQTT_BROKER = "192.168.200.100" # Ваш MQTT брокер
MQTT_PORT = 1883
MQTT_USER = "mqtt"
MQTT_PASS = "mqtt"
3. Создание systemd сервиса
sudo nano /etc/systemd/system/wyoming-led.service
[Unit]
Description=Wyoming LED Service с MQTT
After=network.target mosquitto.service
[Service]
Type=simple
User=sirmrak
WorkingDirectory=/home/sirmrak/projects/Satellite
Environment="PATH=/home/sirmrak/projects/.venv_satellite/bin"
ExecStart=/home/sirmrak/projects/.venv_satellite/bin/python3 /home/sirmrak/projects/Satellite/examples/wyoming-led.py --host 0.0.0.0 --port 10501
Restart=always
[Install]
WantedBy=multi-user.target
4. Включение сервиса
sudo systemctl daemon-reload
sudo systemctl enable --now wyoming-led.service
MQTT топики
| Топик | Направление | Описание |
|---|---|---|
wyoming/led/command |
HA → Скрипт | Команды света (вкл/выкл, цвет, яркость) |
wyoming/led/brightness/set |
HA → Скрипт | Установка яркости (0-255) |
wyoming/led/brightness/state |
Скрипт → HA | Текущая яркость |
wyoming/led/state |
Скрипт → HA | Состояние LED (вкл/выкл) |
wyoming/led/availability |
Скрипт → HA | Онлайн/офлайн статус |
wyoming/satellite/state |
Скрипт → HA | Состояние спутника |
Сущности Home Assistant
После discovery вы увидите:
- Light:
light.wyoming_led— RGB управление - Sensor:
sensor.wyoming_satellite_state— Текущее состояние - Number:
number.wyoming_led_brightness— Слайдер яркости - Number:
number.wyoming_led_red/green/blue— Слайдеры цвета - Number:
number.wyoming_led_idle/listening/speaking— Цвета состояний
Состояния LED
| Состояние | Цвет | Поведение |
|---|---|---|
| Ожидание (Idle) | Синий (тусклый) | Дыхательный эффект |
| Слушание (Listening) | Голубой | Постоянный |
| Говорение (Speaking) | Зелёный | Постоянный |
| Ошибка (Error) | Красный | Мигание |
Настройка яркости
Яркость LED хранится в examples/led_brightness_config.json:
{
"idle": 50,
"listening": 100,
"speaking": 150,
"error": 200
}
Этот файл создаётся автоматически и должен быть исключён из git tracking:
git update-index --assume-unchanged examples/led_brightness_config.json
Диагностика
LED не реагирует
# Проверка статуса сервиса
sudo systemctl status wyoming-led.service
# Просмотр логов
journalctl -u wyoming-led.service -f
# Тест вручную
python3 examples/wyoming-led.py --debug
MQTT подключение не удалось
- Проверьте, что брокер запущен:
sudo systemctl status mosquitto - Проверьте учётные данные в
wyoming-led.py - Тест подключения:
mosquitto_sub -t 'wyoming/led/#' -v
ReSpeaker не обнаружен
# Проверка USB устройств
lsusb | grep -i respeaker
# Тест xvf_host.py
python3 examples/xvf_host.py --help
Поддерживаемое оборудование
| Устройство | Поддержка | Примечания |
|---|---|---|
| ReSpeaker XVF3800 (USB 4-MIC) | ✅ Полная | Рекомендуется |
| ReSpeaker 2-MIC HAT | ✅ Полная | Требуется GPIO |
| ReSpeaker 4-MIC HAT | ✅ Полная | Требуется GPIO |
| Обычный USB микрофон | ⚠️ Частичная | Без LED управления |
Связанные файлы
examples/wyoming-led.py— Основной скрипт LED управленияexamples/xvf_host.py— Драйвер ReSpeaker XVF3800examples/led_brightness_config.json— Настройки яркостиservices/wyoming-event.service— Сервис событий (альтернатива)