
В последнее время очень редко попадаются статьи или новости о сборках умных зеркал. Начинает казаться, что людям стало не интересно собирать такое устройство у себя дома.В этой статье я хочу показать свои способы применения умного зеркала, как большой экран для отображения уведомлений дома. Будет много картинок и GIF анимаций все для того, чтобы у вас появилось желание повторить проект, погнали.
Предыстория
Свое умное зеркало я собрал больше 2-х лет назад, смотрел сначала на проект MagicMirror, но не нравился он мне(и все еще не нравится). Когда смотришь видео как кто-то показывает свой готовый результат то появляется мысль: а где само зеркало? Это больше экран с черным фоном. Как сказала моя жена, зеркало должно остаться зеркалом, я уточнил какие данные нужно, чтобы зеркало показывало и получился такой список
Дата и Время
Погода на сегодня
Да, потребности не слишком большие и изначально я сделал просто SPA на React, с датой и временем. Проблем не было, погоду выводил через OpenWeather. Собрал, сделал пару фоток и видео, и отключил, "Алису" про погоду спросить удобнее оказалось.

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

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

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

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

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




Я доволен результатом и хочу поделиться, что мне для этого понадобилось
Техническая часть
Зеркало гезелла под размер монитора 21 дюйм(5500 рублей )
Монитор (взял на авито за 3т рублей, есть DVI, подключаю через переходник в HDMI)
Одноплатный компьютер Rock pi X, сервер где работает Home Assistant (10т. рублей)
Одноплатный компьютер Raspberry pi 3, Подключен к монитору и выводит html страницу в полный экран (7т рублей)
Sonos Zigbee Dongle, для датчиков земли к растениям (1500 рублей)
Яндекс Алиса мини с часами, позже у меня появилась версия Макс (7т рублей)
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, дополнение для отображения списка карточек для новостей.

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% то нужно обратить внимание и зарядить в случае выхода их дома

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


Есть пара идей для будущих доработок
Выводить события из календаря, завести отдельный календарь и подсвечивать события, заведенные в нем, но пока не понял будет ли это удобно
Выводить список дел и заводить их через телефон, тут тот же вопрос про удобство
Может быть запустить на нем DOOM?
На данный момент это все, спасибо за внимание, если желание повторить проект у вас появилось, я буду рад)