Files
satellite/docs/integration/mqtt-led.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

6.3 KiB
Raw Blame History

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 XVF3800
  • examples/led_brightness_config.json — Настройки яркости
  • services/wyoming-event.service — Сервис событий (альтернатива)

🔗 Связанное