GithubHelp home page GithubHelp logo

anonym-tsk / yandex-station-hacks Goto Github PK

View Code? Open in Web Editor NEW
8.0 3.0 0.0 5.02 MB

Доработки Яндекс Станции

License: MIT License

esp8266 homeassistant manual wemos yandex yandex-station

yandex-station-hacks's Introduction

Доработки Яндекс Станции

Управление выводом звука на внешние колонки на Станции Мини

Допустим у вас есть Яндекс Станция Мини и вы хотите подключить её к усилителю или внешней акустике. Проблема в том, что если подключить MiniJack к станции, то звук автоматически переключится на внешнюю акустику, даже если она выключена. Описанная доработка позволяет управлять выводом звука со станции, то есть, вы можете выбрать, будет ли станция играть через встроенный динамик, или через внешнюю акустику.

Суть доработки: внутрь станции подключаем ESP8266 и оптрон, с помощью которых по сети мы сможем переключать вывод звука.

Нам понадобится:

  1. Яндекс Станция Мини
  2. Wemos D1 Mini или любая другая отладочная плата на ESP8266 с питанием 5V
  3. Оптрон PC817 или любой другой
  4. Резистор 220 Ом (подойдет любой номиналом 100-330 Ом)
  5. Паяльник, припой, провода, макетная плата (опционально), термоусадка, изолента, двусторонний скотч

1. Разбираем станцию

Снизу отгибаем резиновую накладку (можно не срывать полностью) и откручиваем 4 винта

Снимаем нижнюю крышку и откручиваем еще 6 винтов – 4 на динамике и 2 на плате

Вынимаем динамик. Снимаем плату. Для снятия платы нужно отогнуть пластиковую часть корпуса с отверстиями usb и jack, после чего вытянуть плату вверх. Шлейф из платы просто выдёргивается, фиксаторов нет.

2. Принцип модификации

В гнезде MiniJack есть дополнительный контакт DET, который замыкается с контактом AGND при вставленном штекере. По замыканию контактов DET и AGND станция переключает звук на внешнюю акустику. Наша задача сделать, чтобы при вставленном штекере контакты не замыкались, а замыкать их самостоятельно через оптрон.

На плате есть два ряда по 4 контакта. С одной стороны нужно взять +5V и GND для питания ESP, с другой стороны есть контакты DET и AGND, которые будем замыкать.

Можно найти и отрезать дорожку DET от гнезда, но намного проще шилом или тонкой отверткой просто загнуть контакт в разъёме, чтобы он не замыкался штекером.

3. Модификация

Собираем по схеме. Оптрон с резистором можно собрать навесным, но я сделал на макетке.

У Wemos используется GPIO5, GND и VBUS

К плате станции удобнее припаивать снизу, так будет проще проложить провода

4. Прошивка

Для прошивки я использовал ESPHome

Конфигурацию можно найти здесь: yandex-station-mini.yaml

Не забудьте прошить перед сборкой.

5. Сборка

Для прокладки проводов паяльником расширяем паз, в котором лежат провода динамика

Собираем бутерброд из плат на двусторонний скотч, мотаем изолентой и пакуем в корпус колонки, закрепив двусторонним скотчем или термоклеем

Прокладываем провода (можно мотнуть тканевой изолентой в месте прокладки) и собираем станцию в обратном порядке

6. Интеграция с Home Assistant

Добавляем интеграцию ESPHome в Home Assistant и получаем возможность переключать выход звука Яндекс Станции

Мой сценарий автоматизации такой: у ресивера есть источник Yandex Station, при выборе этого источника громкость станции увеличивается, а выход звука переключается на ресивер. При смене источника на любой другой или выключении ресивера, громкость станции понижается и выход переключается обратно на станцию.

Package для Home Assistant: packages/receiver.yaml

7. Управляем голосом

Можно пробросить switch в УД Яндекса и управлять им Алисой. В моем случае, в УД проброшен ресивер и при изменении источника ресивера выход станции автоматически меняется на него. Для удобства сделал пару сценариев Включи колонки и Выключи колонки.

8. P.S.

Информация частично взята с 4pda, пост пользователя remrum

Схема сделана в EasyEDA


Enjoy my work? Help me out for a couple of 🍻 or a ☕!

coffee

yandex-station-hacks's People

Contributors

anonym-tsk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.