Вывод слов песен с яндекс Алисы на умное зеркало (Ламповая панелька со спектральным анализом звука для красоты)
Вывод слов песен с яндекс Алисы на умное зеркало (Ламповая панелька со спектральным анализом звука для красоты)

В последнее время очень редко попадаются статьи или новости о сборках умных зеркал. Начинает казаться, что людям стало не интересно собирать такое устройство у себя дома.В этой статье я хочу показать свои способы применения умного зеркала, как большой экран для отображения уведомлений дома. Будет много картинок и GIF анимаций все для того, чтобы у вас появилось желание повторить проект, погнали.

Предыстория

Свое умное зеркало я собрал больше 2-х лет назад, смотрел сначала на проект MagicMirror, но не нравился он мне(и все еще не нравится). Когда смотришь видео как кто-то показывает свой готовый результат то появляется мысль: а где само зеркало? Это больше экран с черным фоном. Как сказала моя жена, зеркало должно остаться зеркалом, я уточнил какие данные нужно, чтобы зеркало показывало и получился такой список

  • Дата и Время

  • Погода на сегодня

Да, потребности не слишком большие и изначально я сделал просто SPA на React, с датой и временем. Проблем не было, погоду выводил через OpenWeather. Собрал, сделал пару фоток и видео, и отключил, "Алису" про погоду спросить удобнее оказалось.

Orange pi 3. Есть микрофон, андроид из коробки, то что нужно думал я
Orange pi 3. Есть микрофон, андроид из коробки, то что нужно думал я

Cпособ взаимодействия был с помощью веб камеры, реализовал определение лиц(когда подхожу я то, вижу мой календарь, когда жена подходит то ее) и ЭТО РАБОТАЕТ, но медленно и сильно нагревается устройство, все из-за сравнения кадров с веб камеры с моделями лиц, которые я заложил в нее. Использовал face-api.js, в целом, на macbook pro 2019 мне нравилось как все работает, но не на Orange pi 3, на которой я планировал строить основу своего умного зеркала. Это была версия номер 1, видео с ней нет, так как я включал делал пару фото с ней в далеком 21 году и .... и выключал, время и календарь я мог посмотреть на телефоне, не понимал зачем мне эта информация еще и на зеркале нужна.

Я хотел большего функционала для зеркала, но не понимал какой он должен быть. Но я точно понимал, что нужно куда более мощное железо и я решил посмотреть в сторону Rock Pi X, на x86, со встроенной arduino, радиатор в комплекте. Мысли мои на тот момент - надо брать.

Rock Pi X, был базой для второй версии
Rock Pi X, был базой для второй версии

Изначально мне не хватало интерактива, хотелось взаимодействовать с зеркалом, сделать его более полезным и тут я вспомнил, что у меня есть устройство BLUEVER Hello X2

BLUEVER Hello X2, сделает любой экран сенсорным
BLUEVER Hello X2, сделает любой экран сенсорным

Предстоял выбор, либо определение по лицу, показывать персонализированное отображение на зеркале, либо взаимодействие с помощью прикосновений (2 функционала не могло работать вместе, слишком много мощностей требовалось). Так я отказался от веб камеры на зеркале. Отказался от этой идеи я ОЧЕНЬ быстро, так как следы от пальцев на экране нужно постоянно протирать и спустя пару запуском BLUEVER Hello X2 перегорел(прям с искрой и дымком). А планировал взаимодействие с лентой новостной, прокручивать пальцем интересные новости и раскрывать те, которые меня заинтересовали (спойлер, читать на телефоне было намного удобнее)

(Тип взаимодействия на котором я остановился, оказался самым простым и надежным, а еще оказалось, что мне практически не нужно взаимодействовать с зеркалом, но нужно время от времени его перезагружать

Беспроводная мышь/клавиатура/пульт, идеальный способ управление зеркалом
Беспроводная мышь/клавиатура/пульт, идеальный способ управление зеркалом

Наступила пауза в разработке на целый год, потому что я начал внедрять 'Умный дом' к себе в квартиру

Умный дом начался с выключателей, датчиков движения, Яндекс Алисы, чтобы управлять всем этим голосом и не успел заметить как умных устройств в квартире стало больше 40(в будущем их будет еще больше). Нужно как то обозревать умные устройства на одной плоскости, сообщения от них о низком заряде батареи или о неисправности. В это же время я увидел новость о хабе умного дома от Aqara

Сразу захотелось такую же штуку, но у меня устройства не только от Aqara в доме, есть и сильно кастомные устройства на EspHome
Сразу захотелось такую же штуку, но у меня устройства не только от Aqara в доме, есть и сильно кастомные устройства на EspHome

Почему-то именно выход этого устройства, подтолкнул меня доделать умное зеркало, я начал снова изучать, что можно сделать и как это сделать.

  1. Время

  2. Погода с прогнозом на несколько часов вперед

  3. Информация, что нужно обратить внимание на какое-то устройство(например: зарядить планшет)

  4. Состояние растений

  5. Вывод последней новости

  6. Фишка, о которой я сейчас расскажу

На тот момент пока я делал панель отображения по списку я подумал, а что будет если добавить Алису на экран? Пусть выводит название композиции, которая играет. Собственно пошел смотреть как такое сделать и наткнулся на то, что Алиса стримит мне текста песен как веб камера. Так это же фишка, которая мне нужна, пусть выводит новости, если не воспроизводится музыка и показывает текста песен. Что у меня получилось

Заряди устройство, если на нем меньше 16% батареи
Заряди устройство, если на нем меньше 16% батареи
Тут видно как я ужасно приклеил зеркало на герметик к монитору
Тут видно как я ужасно приклеил зеркало на герметик к монитору
То же самое только с текстом из песни, которая играет
То же самое только с текстом из песни, которая играет
Если музыка не играет, то выводится самая последняя новость
Если музыка не играет, то выводится самая последняя новость

Я доволен результатом и хочу поделиться, что мне для этого понадобилось

Техническая часть

  • Зеркало гезелла под размер монитора 21 дюйм(5500 рублей )

  • Монитор (взял на авито за 3т рублей, есть DVI, подключаю через переходник в HDMI)

  • Одноплатный компьютер Rock pi X, сервер где работает Home Assistant (10т. рублей)

  • Одноплатный компьютер Raspberry pi 3, Подключен к монитору и выводит html страницу в полный экран ( рублей)

  • Sonos Zigbee Dongle, для датчиков земли к растениям (1500 рублей)

  • Яндекс Алиса мини с часами, позже у меня появилась версия Макс ( рублей)

  • GIEX ZIGBEE TUYA Измеритель почвы 6 штук (8400 рублей)

  • ONKRON кронштейн для телевизора и монитора настенный 13 - 34 дюйма G120, черный / крепление для телевизора на стену до 8 кг (3200 рублей)

  • Герметик, нужно было как то приклеить монитор и зеркало друг к другу (500 рублей)

  • Беспроводная мышь/клавиатура/пульт (800 рублей)

Итого аж 46 900 рублей выходит, не мало. Так как я начал собирать этот проект 4 года назад и 2 года назад я собрал зеркало(и в этом году довел до ума автоматизации), то я не ощутил эти затраты. Были еще затраты, которые не вошли в финал, такие как веб камера для версии с персонализированным отображением, или BLUEVER Hello X2 (я даже не помню, сколько он стоил), мышь и клавиатуру(а они нужны как ни-как) взял те, которые у меня уже были. Поэтому мои личные ощущения на стоимость зеркала и сервера умного дома ровна 15-17 т. рублей.

Программная часть

Первым делом нам нужен HACS, без него ничего не получится. HACS это аббревиатура  от Home Assistant Community Store. Другими словами это магазин сообщества Home Assistant, где обычные энтузиасты придумывают и выкладывают свои дополнения для Home Assistant расширяя его функционал. Все эти аддоны HACS берет из github, в некоторых случаях нужно добавлять ссылку на Пользовательские репозитории самостоятельно, так я поступил в случае с List Card, дополнение для отображения списка карточек для новостей.

Cписок дополнений в HACS
Cписок дополнений в HACS
  • HACS собственно сам магазин дополнений

  • Xiaomi Miot Auto - интеграция с mijia home app, у меня много устройств xiaomi

  • Xiaomi Gateway 3 - для взаимодействия с BLE устройствами xiaomi (в основном датчики температуры и влажности Xiaomi Mijia Smart Thermometer and Hygrometer 3)

  • Yandex.Stantion - Компонент для управления Яндекс.Станцией и другими устройствами Умного дома с Алисой из Home Assistant.

  • Kiosk Mode - скрывает все лишнее(шапку, сайдбар) остается только перейти в полноэкранный режим (F11) и отображение для зеркала готово

  • iOS Dark Mode Theme - самая подходящая тема для отображения карточек, практически черные(но подумаю, что нужно написать собственную тему, прозрачную и с черным фоном)

  • Feedparser - компонент, для чтения новостей из источников

  • List Card - компонент, для представления карточек (взял инструкцию тут), на скриншотах его не будет

В настройках Home Assistant для браузера выставляем темную тему, создаем новую панель, назовем ее зеркало, расставим нужные нам карточки:
время, погода, заряды батареи телефона и приступим выводить слова песен из колонки Алисы, для этого нам понадобится карточка "Picture glance", данная карточка позволяет выводить картинку с камер и проставлять дополнительную информацию поверх картинки(у меня это напомнить о будильнике)

пример настроек, для меня этот функционал оказался приятным сюрпризом
пример настроек, для меня этот функционал оказался приятным сюрпризом
Проставим отображение карточки, только если играет музыка на колонке
Проставим отображение карточки, только если играет музыка на колонке
Отображение текста из песни
Отображение текста из песни
Выводим только тайтл статьи
Выводим только тайтл статьи

Отображение новости я сделал очень просто, Feedparser отображает самую первую новость от источников и только заголовов, которые я ему прописал, я подумал так, если заголовок будет достаточно интересным, я возьму телефон и узнаю о ней больше.

Так же зададим условия, если ни одна колонка не воспроизводит музыку, то покажи новость
Так же зададим условия, если ни одна колонка не воспроизводит музыку, то покажи новость

Полезной фичей оказалась информация о заряде телефона, если она меньше 35% то нужно обратить внимание и зарядить в случае выхода их дома

При установке приложения HomeAssistant на телефон, получаем доступ к телефону, состояние батареи и находится ли телефон в домашней сети
При установке приложения HomeAssistant на телефон, получаем доступ к телефону, состояние батареи и находится ли телефон в домашней сети

Одной из нужных функций зеркала, подсветить состояние горшочков с цветами и растениями. Этот функционал оказался одним из самых нужных, я перестал заливать одни растения и не поливать, те которые в этом нуждаются.

В режиме редактирования отображаются все карточки растений
В режиме редактирования отображаются все карточки растений
в режиме зеркала, карточка растения будет отображаться в случае, если нужно полить растение или заменить батарею на датчике влажности земли
в режиме зеркала, карточка растения будет отображаться в случае, если нужно полить растение или заменить батарею на датчике влажности земли

Есть пара идей для будущих доработок

  1. Выводить события из календаря, завести отдельный календарь и подсвечивать события, заведенные в нем, но пока не понял будет ли это удобно

  2. Выводить список дел и заводить их через телефон, тут тот же вопрос про удобство

  3. Может быть запустить на нем DOOM?

На данный момент это все, спасибо за внимание, если желание повторить проект у вас появилось, я буду рад)

Комментарии (24)


  1. dyadyaSerezha
    11.06.2025 10:00

    Я не очень понял про зеркало. Если это обычное зеркало, разве через него будет что-то просвечивать сзади? Или нужны некие манипуляции?

    А насчёт полезных фич, сделать бьютификацию лица жены, когда она красится перед выходом куда-то. Перестанет проводить по часу перед зеркалом)


    1. Alexzzz91 Автор
      11.06.2025 10:00

      Извиняюсь, при переносе текста потерялось определение этого зеркала
      Зеркало гезелла или зеркало шпион

      по поводу бьютификацию лица жены, во второй версии на Rock Pi X, с Windows я сделал жене беспроводной экран в зеркале.

      Работало это так, на мобильном устройстве выбираем видео, отправляешь это как на телевизор и выбираешь зеркало, получается что в зеркале смотришь ютуб(если подключить колонки то будет звук), в таком состоянии зеркало пробыло год, за целый год она включила такую фичу только один раз и то только потому что я ей показал про нее)))


      1. teuchezh
        11.06.2025 10:00

        А где зеркало то купить? Я бы уже раз 10 такое собрал, только с зеркалом не понятно, в поиске попадаются только сомнительные сайты с сомнительными ценами


        1. Alexzzz91 Автор
          11.06.2025 10:00

          я на авито нашел


        1. Reason89
          11.06.2025 10:00

          На авито. Главное просите сразу, чтоб вам края сгладили. Мне первый раз просто прислали вырезанное зеркало и я его дополнительно отнёс к стекольщику. Тот не понимая сути и принципа, мне красиво снял фаску на зеркале, но при этом ещё и стер покрытие на расстоянии 1 см от края со всех сторон.


  1. m_pchelnikov
    11.06.2025 10:00

    Не совсем про зеркало, но может есть планы сделать автополив растений? Датчик влажности почвы - уже очень хорошо


    1. Alexzzz91 Автор
      11.06.2025 10:00

      с автополивом опыт был, я даже подготавливал воду с помощью датчика кислотности жидкости PH0-14 (там где я собирался им пользоваться очень кислотная вода в колодце)
      я столкнулся с тем, что для каждого растения нужно индивидуальное устройство, не получилось у меня сделать одно устройство для всех разом, какой то цветок всегда был больше залит водой, даже умирал от этого, а какой то не дополучал воды, я опустил руки найти решение проблемы с помощью контроллеров
      вчера наткнулся на статью https://habr.com/ru/articles/916436/ она мне понравилась, помнила мои опыты


      1. Funkub
        11.06.2025 10:00

        Я брал вот такую штуку для автополива, попробовал, работает отлично, правда датчики заказать не как руки не доходят, по этой причине лежит, ждёт своего часа.


  1. xyzm
    11.06.2025 10:00

    Интересная реализация. Но насколько практично иметь информацию на зеркалке? Как часто вы бываете перед этим зеркалом?


    1. Alexzzz91 Автор
      11.06.2025 10:00

      Данная версия 3-я по счету и она работает каждый день, отключаю монитор на ночь, с утра включаю, зеркало находится в коридоре в самом проходимом месте и выводить на него информацию оказалось самым лучшим решением, зарядить ребенку планшет или полить цветы очень удобно, рекомендую


      1. egribanov
        11.06.2025 10:00

        А по монитору можно юзать какой нибудь экран для расбери вместо монитора? Большой монитор что то сильно как то


        1. Alexzzz91 Автор
          11.06.2025 10:00

          после того как я собрал версию с монитором, понял какая же она получилась тяжелой задумался вот о чем, а мне же не нужно, чтобы экран был под всей площадью зеркала) и по идеи маленького экрана в углу зеркала на 7 или 9 дюймов мне вполне бы хватило


          1. dbanzay
            11.06.2025 10:00

            Тоже думаю старый планшет 7" куда воткнуть.


  1. Anonym
    11.06.2025 10:00

    Не очень понял как сделать чтобы тексты песен появились в ха. Или это только для станции Макс?


    1. Alexzzz91 Автор
      11.06.2025 10:00

      я сделал на мини с часами это, а потом у меня появилась станция Макс, работает и на мини и на макс
      для этого нужно дополнение в HACS

      • Yandex.Stantion - Компонент для управления Яндекс.Станцией и другими устройствами Умного дома с Алисой из Home Assistant.

      • Завести карточку "Picture glance", обьектом камеры поставить текст из Алисы


      1. Anonym
        11.06.2025 10:00

        Чёт я у себя не вижу ни одной камеры от этого компонента, хотя дома 5 станций. Пойду курить доки


        1. Alexzzz91 Автор
          11.06.2025 10:00

          А объект текст от них есть?
          вот ссылка на Компонент в hacs https://github.com/AlexxIT/YandexStation


  1. ZloiDevil
    11.06.2025 10:00

    У меня все тоже самое и в разы больше делает простой экран с алексой. Распознавание лиц, погода, календари, покупки, изображение с камер и дверного звонка, доставка, музыка и видео, рецепты и другое. Можно конечно ее встроить в зеркало, но зачем? Есть настенный экран, есть настольный.


    1. Birmaus
      11.06.2025 10:00

      Бесспорно это тоже вариант, но иногда просто интересно сделать что-то самому, под свои нужды и возможности


      1. Alexzzz91 Автор
        11.06.2025 10:00

        согласен, я хотел сделать, а не купить


  1. almirus
    11.06.2025 10:00

    Для растений рекомендую https://github.com/Olen/homeassistant-plant


  1. almirus
    11.06.2025 10:00

    Я просто повесил планшет https://habr.com/ru/articles/742454/


  1. Cpsskipper
    11.06.2025 10:00

    У зеркала гезела есть один недостаток. Оно намного хаже отражает чем обычное зеркало. Брал в стекольной мастерской на пробу. Не понравилось


  1. bazanovv
    11.06.2025 10:00

    Спасибо, ваша статья натолкнула на идею поставить в коридоре монитор + приставку, или просто планшет, закрытый зеркалом Гезелла - не приходило в голову, что его можно просто взять, и купить. На монитор / планшет вывести https://yandex.ru/iot/ в браузере, ну или родное приложение умного дома Яндекса. Если стекло зеркала бывает достаточно тонким, ещё и тач-функция сохранится, если надо будет что-то настроить. Единственное, что не могу сейчас придумать - как отличить человека, который решил посмотреть на себя в зеркало, от человека, который решил, проходя мимо, посмотреть, что там с умным домом, погодой и т.п. Согласен с вами, что тыкать в какую-то кнопку на зеркале - такое себе. Как только / если найду подходящий вариант, напишу.

    С ходу приходит в голову узконаправленный датчик движения строго над зеркалом, и по его срабатыванию дёргать мышь, чтобы планшет проснулся и засветился. Но не уверен, что это будет работать как надо - намерения движущегося перед зеркалом человека остались для нас неизвестными.