Skip to content

Latest commit

 

History

History
84 lines (59 loc) · 8.68 KB

File metadata and controls

84 lines (59 loc) · 8.68 KB

Умное управление колонками Edifier MR4 (ESPHome)

ESPHome Thread ESP32-C6

Внешнее устройство управления для студийных мониторов Edifier MR4, подключаемое к штатной кнопке энкодера и светодиодам индикации через оптопары. Устройство имитирует нажатия кнопки и считывает состояние светодиодов с полной гальванической развязкой. Позволяет интегрировать управление колонками в экосистему Home Assistant.

🇬🇧 English version

✨ Возможности

  • Полная гальваническая развязка – и управление кнопкой, и считывание светодиодов выполнены через оптопары, исключая электрическую связь с внутренними цепями колонок.
  • Независимое питание – контроллер ESP32‑C6 запитан от собственного мини‑блока питания 3.3 В, аккуратно размещённого внутри корпуса колонки.
  • Включение / выключение – эмуляция длинного нажатия для управления питанием.
  • Выбор режима – переключение между режимами «Музыка» и «Мониторинг» (имитация двойного клика).
  • Mute (без звука) – включение/отключение приглушения коротким нажатием, светодиод при этом мигает.
  • Синхронизация состояния – чтение реального состояния светодиодов (красный/зелёный) через изолированные входы, поэтому Home Assistant всегда знает актуальный режим, даже если кнопка нажата вручную.
  • Детектор мигания – анализирует частоту переключений светодиода, чтобы точно определить активность Mute.
  • Оптимистичный интерфейс – мгновенная реакция в HA с автоматической коррекцией при сбоях команд.
  • Поддержка Thread / Matter – используется OpenThread для будущей интеграции Matter (ESP32‑C6).

🔧 Принцип работы

Устройство подключается параллельно контактам кнопки энкодера и красного/зелёного светодиодов колонок Edifier MR4. Все соединения выполнены через оптопары для обеспечения полной электрической изоляции. Контроллер ESP32‑C6 питается от отдельного источника 3.3 В (например, миниатюрного AC‑DC модуля), установленного внутри корпуса колонки. Команды из Home Assistant преобразуются в импульсы различной длительности, имитирующие действия пользователя:

Действие Эмуляция
Включение / выключение Длинное нажатие (~2 с)
Включение / выключение Mute Короткое нажатие (~150 мс)
Смена режима Двойное короткое нажатие

Состояние светодиодов отслеживается через дополнительные оптопары, что позволяет ESP32‑C6 определять постоянное свечение (индикация режима) и мигание (активен Mute) без прямого электрического контакта с внутренними напряжениями колонок.

📦 Необходимые компоненты

  • Отладочная плата ESP32‑C6 (например, ESP32‑C6‑DevKitC‑1)
  • 3 оптопары PC817 (или аналогичные) – одна для имитации кнопки, две для считывания светодиодов
  • Резисторы 220–470 Ом (для светодиодов оптопар)
  • Независимый источник питания 3.3 В (компактный AC‑DC модуль или DC‑DC преобразователь, размещаемый внутри колонки)
  • Соединительные провода для подключения к контактам кнопки и светодиодов

🖧 Схема подключения

Пин ESP32‑C6 Сигнал Подключение к Edifier MR4 (через оптопару)
GPIO19 Чтение красного LED Вход оптопары → анод/катод красного светодиода
GPIO18 Чтение зелёного LED Вход оптопары → анод/катод зелёного светодиода
GPIO20 Управление кнопкой Выход оптопары параллельно контактам кнопки энкодера

⚠️ Важно: Все подключения к колонкам выполняются только через оптопары. Не подключайте пины GPIO напрямую к цепям колонок. Контроллер ESP32‑C6 должен питаться от собственного изолированного источника 3.3 В – не используйте питание от внутренних цепей колонок.

🧩 Конфигурация ESPHome

Полный YAML-файл конфигурации находится в edifier-mr4.yaml. Основные элементы:

  • globals для отслеживания режима и состояния Mute.
  • binary_sensor для чтения состояния светодиодов (через оптопары) с подсчётом переключений.
  • interval, анализирующий частоту мигания для определения Mute.
  • switch для управления питанием и Mute.
  • select для выбора режима работы.

🚀 Установка

  1. Прошейте ESPHome на ESP32‑C6 через ESPHome Dashboard или командой esphome run.
  2. Соберите схему внутри корпуса колонки – подключите оптопары к контактам кнопки и светодиодов, обеспечьте питание 3.3 В для контроллера.
  3. Добавьте устройство в Home Assistant – оно обнаружится автоматически через интеграцию ESPHome.
  4. Управляйте колонками с панелей Home Assistant, через автоматизации или голосовых ассистентов!

📝 Примечания

  • У разных ревизий колонок могут немного отличаться временные допуски. При необходимости подкорректируйте значения delay в YAML.
  • Компонент openthread включён для совместимости с Matter; если не нужен, его можно отключить.
  • Детектирование Mute основано на подсчёте переключений светодиода за окно 800 мс – надёжно работает со стандартной частотой мигания ~2 Гц.

📸 Скриншоты

Main Modes

📄 Лицензия

MIT © 2026 [F-Lab] Made with ❤️ by f1x6r