Кому нужно умное зеркало? Много кому. Я, когда такое увидел, тут же захотел выбросить наш календарь с маркерной доской. Майкл Тиув проделал потрясающую работу по созданию отличной расширяемой платформы для умных зеркал, которая позволяет всем желающим самостоятельно делать такие зеркала. Если вам эта тема интересна — загляните на сайт проекта MagicMirror.
Здесь я хочу рассказать о том, что нужно для проектирования и сборки собственного умного зеркала. Я, кроме того, коснусь тут и темы создания рамки для такого зеркала.
Для тех, кто раньше с умными зеркалами не сталкивался, опишу в двух словах суть проекта. За зеркалом, прозрачным с одной стороны, размещают монитор. При идеальном освещении всё, что на экране выведется чёрным, будет выглядеть как зеркало. А всё белое (или имеющее другой высококонтрастный цвет) будет просвечивать сквозь зеркало.
Мне хотелось сделать нечто вроде информационной панели для всей семьи, на которую выводились бы календари, списки покупок, сведения о погоде. Я подумывал и о том, чтобы встроить в это зеркало AlexaPi (подробнее об этом я расскажу позже). Я заинтересовал жену рассказом о том, как это зеркало улучшит нашу жизнь и поможет быстрее справляться с делами, и принялся за работу.
Волшебное зеркало SMARTSY для ванной.
Умное зеркало
Материалы
▍Стекло (зеркало)
Я воспользовался зеркалом Pilkington Mirrorpane. Оно оказалось самой дорогой частью проекта (200 канадских долларов). Я, читая разные материалы на тему умных зеркал, узнал, что хорошего эффекта люди добивались, используя плёнку, прозрачную с одной стороны, на акриловом стекле. В одной местной фирме мне отрезали подходящий кусок 6-миллиметрового зеркала Pilkington Mirrorpane.
При правильном освещении оно отлично справляется со своей задачей. Если освещение оказывается слишком ярким, то картинку с монитора, который находится за зеркалом, видно хуже. Производитель рекомендует соотношение между освещённостью задней и передней части зеркала в 8:1. В таких условиях зеркало должно давать хорошие результаты. Кроме того, это зеркало имеет янтарный оттенок.
Выглядит он приятно, но выбирая такое зеркало надо учитывать то, что изменить его цвет не удастся.
▍Дисплей
В качестве дисплея для этого проекта я использовал 39″ LED TV Insignia NS-39D400NA14. Стоит он 150 канадских долларов. Я столкнулся с проблемами, которые касались команд HDMI CEC для включения и выключения дисплея, но смог эти проблемы обойти (подробнее об этом я расскажу ниже).
▍Дерево
Я — столяр-любитель. Рамку для зеркала я сделал из того, что нашлось под рукой. Это была фанера, облицованная орехом. Дерева в этом проекте, на самом деле, не так много, да и облицовка из ореха особой роли не играет, но мне нравится работать с этим материалом.
▍Raspberry Pi 3
Плата Raspberry Pi 3 в подобном проекте пригодится тем, кто собирается пользоваться встроенным Wi-Fi-модулем. Подобные проекты делают и на основе Raspberry Pi 2, и даже на Raspberry Pi Zero.
Делаем Smart-Mirror или Умное зеркало ну или eSpiegel сами!
▍Источник питания
CanaKit 2.5A Raspberry Pi Micro USB
▍USB-микрофон
SunFounder USB 2.0 Mini Microphone и удлинительный USB-кабель для него
▍Датчик движения
▍Светодиод
Здесь я использовал RGB-светодиод.
Части проекта, напечатанные на 3D-принтере
Те части проекта, которые надо напечатать на 3D-принтере, я, в основном, спроектировал сам. Ниже приведён список ссылок на соответствующие файлы. Вы можете свободно ими пользоваться.
- Решётка для динамика.
- Корпус для датчика движения HC-SR501.
- Корпус для источника питания CanaKit 2.5A Raspberry Pi Micro USB.
- Настраиваемое крепление для дисплея.
- Крепление для светодиода.
- Панель управления для телевизора.
- Крепление для Raspberry Pi, рассчитанное на VESA Mount.
Сборка компонентов
Вот как выглядит задняя часть зеркала, представленная дисплеем и другими компонентами.
Соединение компонентов проекта
Рамка для зеркала
Тут я хочу показать вам видео, посвящённое созданию рамки для зеркала. То, что у меня получилось, немного отличается от чертежей, с которых начиналась работа.
Создание рамки для зеркала
Настройка системы
Я не задумывал этот раздел как исчерпывающее руководство по настройке умных зеркал. Тут я расскажу лишь о самом главном. А именно, я установил Raspbian Stretch Lite, а потом следовал этому руководству.
Сначала я поэкспериментировал с множеством модулей для MagicMirror, созданных энтузиастами. А уже потом отобрал самое важное. Если вы будете идти моим путём, то советую хотя бы попробовать MMM-EyeCandy.
В итоге я установил следующие модули, которыми пользуюсь до сих пор:
- MMM-MyCalendar
- MMM-cryptocurrency
- MMM-Wunderlist-Enhanced
- MMM-RemoteControl
#!/bin/bash # Обновить модули for d in /home/pi/MagicMirror/modules/* ; do (cd «$d» git pull npm install); done # Обновить MM cd «/home/pi/MagicMirror/»; git pull npm install # Перезапустить MM sudo /sbin/shutdown -r now
Для того чтобы сделать этот скрипт исполняемым, воспользуемся командой chmod :
chmod +x /home/pi/myscripts/mmm_update.sh
Потом надо настроить crontab :
sudo crontab -e
В список заданий надо добавить следующую команду, которая будет запускать скрипт каждую полночь:
AlexaPi
AlexaPi — это потрясающий проект. Имеется и пара MagicMirror-модулей, созданных специально для работы с Alexa. Это — MMM-alexa и MMM-awesome-alexa. Мне очень хотелось, чтобы голосовой помощник Alexa оказался бы интегрирован с умным зеркалом, но с настройкой AlexaPi и соответствующих модулей MagicMirror возникло слишком много сложностей.
Мне, кроме того, хотелось бы, чтобы помощник Alexa использовал бы отдельный светодиод. В итоге я просто установил AlexaPi, но не интегрировал возможности этого проекта в платформу MagicMirror. В ходе установки AlexaPi я пользовался этой инструкцией.
В моей AlexaPi-конфигурации используется недорогой USB-микрофон. Она, к сожалению, показывает далеко не самые лучшие результаты. Сейчас Alexa реагирует лишь на мужской голос. Возможно, ситуацию могут улучшить эксперименты с pocketsphinx или Snowboy. Ниже показана верхняя часть зеркала, на которой смонтирован светодиод и датчик движения.
Верхняя часть зеркала со светодиодом и датчиком движения
Автоматическое включение и выключение зеркала по сигналу от датчика движения
В моём списке возможностей умного зеркала был один крайне важный пункт: зеркало должно выключаться тогда, когда рядом никого нет. Модуль MMM-PIR-Sensor отлично справляется с этой задачей. Особенно — если дисплей, используемый в проекте, поддерживает все команды HDMI CEC. Тот телевизор, что стоит за моим зеркалом, по неизвестным причинам, поддерживает лишь команду, имеющую отношение к состоянию устройства. В результате я решил проблему включения и выключения телевизора с помощью GPIO Raspberry Pi (PIN 15), воздействуя на кнопку питания телевизора так, что устройство считает, что на неё нажимает человек.
Панель управления телевизором
После установки LIBCEC я создал Python-скрипт, работающий в виде демона. Он наблюдает за состоянием датчика движения и, когда надо, включает и выключает телевизор. Этот скрипт я поместил в файл /home/pi/myscripts/ty_manager.py .
#!/usr/bin/env python import os, sys, subprocess, time, argparse, logging, datetime import RPi.GPIO as GPIO from apscheduler.schedulers.background import BackgroundScheduler PWR_PIN = 15 PIR_PIN = 14 isdisplayon = False def monitor_checkstatus(): global isdisplayon logging.debug(‘[*] CEC -> check current status of display’) process_echo = subprocess.Popen([«echo», «pow», «0»], stdout=subprocess.PIPE, shell=False) process_cec = subprocess.Popen([«cec-client», «-s», «-d», «1»], stdin=process_echo.stdout, stdout=subprocess.PIPE, shell=False) process_echo.stdout.close() ret = process_cec.communicate()[0].splitlines() if ‘on’ in ret[1]: logging.debug(«[*] Display is currently on») isdisplayon = True else: logging.debug(«[*] Display is currently off») isdisplayon = False def monitor_toggle(): GPIO.output(15, GPIO.LOW) time.sleep(1) GPIO.output(15, GPIO.HIGH) def main(argv): global isdisplayon parser = argparse.ArgumentParser( description=’A Power managment daemon for issuing CEC commands’ ) parser.add_argument(«-v», «—verbose», help=»increase output verbosity», action=»store_true») args = parser.parse_args() if args.verbose: logging.basicConfig(level=logging.DEBUG) logging.debug(‘[*] Launching powermanager.py in DEBUG mode’) GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.setup(PWR_PIN, GPIO.OUT, initial=GPIO.HIGH) scheduler = BackgroundScheduler() job = scheduler.add_job(monitor_checkstatus, ‘interval’, minutes=20) scheduler.start() monitor_checkstatus() GPIO.setmode(GPIO.BCM) GPIO.setup(PIR_PIN, GPIO.IN) while True: # PIR triggered if GPIO.input(PIR_PIN): if not isdisplayon: logging.debug(‘[*] Motion detected, CEC -> Turning on display’) monitor_toggle() isdisplayon = True else: if isdisplayon: logging.debug(‘[*] No motion, CEC -> Turning off display’) monitor_toggle() isdisplayon = False time.sleep(1) GPIO.cleanup() if __name__ == «__main__»: main(sys.argv)
Потом я создал такой файл сервиса systemd :
[Unit] Description=TV Power Manager Service After=multi-user.target [Service] Type=idle ExecStart=/home/pi/myscripts/tv_manager.py [Install] WantedBy=multi-user.target
После этого всё заработало так, как мне хотелось.
Планируете сделать умное зеркало?
Источник: temofeev.ru
Умное настенное зеркало из старого лэптопа с распознаванием голоса своими руками
Умное зеркало или иначе smart mirror — это просто дисплей, спрятанный за односторонним зеркалом. Одностороннее зеркало отражает почти весь свет, который падает на его поверхность, но позволяет изображению с мониторов, находящихся за ним, проходить сквозь его поверхность.
За зеркалом также спрятан Echo Dot от Амазона, позволяющий использовать весь широкий спектр голосовых команд Алексы, просто произнося её имя.
В отличие от большинства умных зеркал, основанных на операционке Magic Mirror, спроектированной для Raspberry Pi, это зеркало работает на Windows. Это зеркало хорошо работает, просто оно было спроектировано не для интерактивного использования, а в основном для отображения статической информации. Более того, железо Raspberry Pi с натугой делает что-либо, выходящее за пределы статичных виджетов. Я хотел спокойно подходить к зеркалу и давать ему команды при помощи голоса, сёрфить в интернете и, возможно, смотреть Youtube/Netflix.
Еще одним отличием было то, что я не хотел видеть рамку вокруг зеркала и хотел сохранить ощущение «парящего» стекла, вместо того, чтобы сооружать рамку вокруг моего умного зеркала. Чтобы осуществить это, я просверлил 4 отверстия и прикрепил рамку четырьмя шурупами к стеклу.
Так что после конструирования этого очень смарт зеркала с Raspberry Pi в качестве мозгов, я решил обновить его до чего-то более мощного, но также и дешевого, особенно учитывая насколько дёшев Raspberry Pi. Лучшим способом осуществить мою задумку, было использовать ненужный лэптоп, который просто валялся у меня дома. Если у вас нет старых лэптопов, можете достать один по дешевке на сайтах типа Ибэй просто за смешные деньги.
- Стекло с пленкой-односторонним зеркалом, приклеенной от руки (можно также купить уже готовое зеркало)
- Доски, винты, гайки и болты для соединения железа с рамкой
- Дешевый дисплей, подходящий размеру вашего стекла. Я купил свой с рук.
- Старый рабочий лэптоп
- Echo Dot от Амазона
- Windows
- Rainmeter
- Виджеты для Rainmeter, которые можно найти на страничке программы
Шаг 1: Подготавливаем электронику
Перед тем, как вы начнёте разбирать железо, подумайте о том, что эти шаги скорее всего сделают недействительной вашу гарантию на лэптоп и монитор. Обязательно подумайте о том, что вы можете просто напрямую прикрепить свою электронику позади монитора. Тем не менее, разборка монитора и лэптопа позволят вам упростить сборку зеркала и сделать его значительно тоньше.
Также убедитесь, что всё железо хорошо работает, перед тем как разбирать его и устанавливать на зеркало. Также вы можете перейти к шагу с Софтом, чтобы убедиться, что всё хорошо работает на вашей машине.
Перед тем, как начнёте, убедитесь, что сняли электростатику с вашего тела или используйте приборы для электростатической безопасности.
Начните с того, что открутите все винты на вашем лэптопе. Если возникнет необходимость, поищите в сети инструкции по починке, чтобы посмотреть, как лэптоп разбирается. Как только доберётесь внутрь, обязательно документируйте каждый шаг, который делаете — на фото или с помощью ручки.
Снимите материнскую плату с лэптопа и удостоверьтесь, что вайфай, оперативка, кулер и жесткий диск находятся на ней. Вы можете отключить кабели экрана лэптопа, батареи, тачпада и клавиатуры. Соедините «голую» материнку с внешним дисплеем и убедитесь, что она нормально грузится перед тем, как продолжить. Если материнка не загружается, попробуйте заново проделать шаги и узнать, какая часть не давала материнке загружаться.
Как только материнка лэптопа готова, разберите монитор. Снимайте все гнёзда и панели, пока у вас не останется голая LCD-панель и платы питания, которые подсоединены к ней. Опять же, убедитесь, что все работает в таком виде.
Наконец, спаяйте кабель, который подключается к розетке с одной стороны, и к питанию дисплея и лэптопа с другой стороны. Это просто Y-образный кабель, который распараллеливает мощность дисплея лэптопа.
Шаг 2: Создание рамки и одностороннего зеркала
Мне не хотелось создавать традиционную и простую рамку, которая шла бы вокруг зеркала. Мне хотелось придать зеркалу парящий вид, так что я спрятал рамку за зеркалом. Чтобы закрепить рамку за зеркалом, я просверлил в нём 4 отверстия соответственно наброскам, которые я прикрепил выше.
Я использовал комбинацию древесины и винтов, чтобы соорудить прямоугольную форму, в которой будет сидеть монитор. Я использовал чёрную изоленту, чтобы покрыть участки стекла, которые не покрывает монитор, таким образом свет не просачивался за монитор.
Убедитесь, что ваша рамка достаточно прочная, чтобы удержать LCD и всю электронику.
Из-за того, что у каждого будет своя рамка, в зависимости от того какое железо будет под рукой, я рекомендую делать всё по мере необходимости и на глаз. Я прикрепил фотографии моей рамки для примера.
Шаг 3: Устанавливаем всё железо
Установите всю электронику в рамку. Одним из способов сохранить зеркало тонким — поместить питание лэптопа в область, где LCD-панель не покрывает зеркальную поверхность.
Придумайте, как прикрепить вашу рамку к стене. Чтобы прикрепить мою рамку к стене, я просверлил к ней два блока и использовал систему натяжения кабелей. Убедитесь, что всё железо работает и что у вас есть возможность подтянуть кабель к тому месту, где будет установлено зеркало.
Для распознавания речи я также спрятал за стеклом Echo Dot от Амазона.
Шаг 4: Конфигурация софта
Сердце этой сборки — Windows 10, в которой запущен «Rainmeter» — доступное и популярное приложение.
Как только установите зеркало на стену, зайдите в свойства экрана в Windows и выберите подходящее вам разрешение экрана. Пока вы не закрыли это окно, поменяйте картинку экрана на чёрную, потому что чёрные части зеркала отражают больше света. Также удостоверьтесь, что в параметрах электропитания установлено, чтобы железо никогда не уходило в спящий режим. И последнее, уберите панель задач, кликнув по ней правой кнопкой, выбрав Свойства и затем выбрав Автоматическое скрытие.
Настройте Echo Dot по гиду настройки.
Список программ. Используйте любой виджет, какой вам понравится в дополнение к этому списку:
- Rainmeter
- Clock
- Circle Launcher
- News and RSS Feed reader
- Daily Fact and Quote
- Monstercat Visualizer (я также установил плагин spotify, чтобы видеть информацию о музыке)
- Calendar
Шаг 5: Навигация по интерфейсу
Есть несколько способов взаимодействия с интерфейсом.
- Используйте голос, чтобы включать Алексу от Амазона для ответов на ваши запросы
- Используйте беспроводную клавиатуру или Team Viewer, чтобы один раз настроить ваше умное зеркало и оставить всё как есть
- Используйте дисплей, чувствительный к нажатиям (лучшее, но дорогое решение)
- Используйте навигацию движениями (leap motion). Я пробовал её, но она недостаточно точная и очень устаёшь держать руки всё время в воздухе. Некоторые хорошие приложения для этого вида навигации: Mudra mouse и Gameware
- Удлините тачпад лэптопа. Это то, что сделал я. Я удлинил кабель, отрезав и спаяв его с дополнительным.
Шаг 6: Будущие улучшения
Как видно на некоторых картинках, на данный момент, чтобы управлять зеркалом, я использую тачпад. Я пробовал другие подходы, например контроль жестами или прикосновениями, но контроль жестами неэффективен, а конструирование тачскрина на основе ИК излучения слишком сложно и зеркало будет смотреться ужасно. В будущем я хочу использовать LCD панель со встроенным тачем, так что мне придется сделать минимум дополнительной работы, чтобы внедрить его.
Во-вторых, я думаю, что для зеркала, которое работает в режиме 24/7, будет логичней использовать вместо старого лэптопа что-то более энергоэффективное, например Intel NUC или Compute Stick.
Олег Самоделов
Рассказываю как сделать какую-либо вещь с пошаговыми фото и видео инструкциями.
Источник: masterclub.online
Умное зеркало своими руками
Сенсорное смарт-зеркало позволяет выполнять свои прямые функции, когда висит на стене. Собираясь на работу, прихорашиваясь у зеркала поутру, всегда хочется быть в курсе событий, которые произошли за вчерашний день, залезть в соцсеть и ответить на заданные вопросы, посмотреть погоду — брать зонт или нет. У зеркала обычно теряется большой промежуток времени, как многие считают, безвозвратно. Особенно это относится к женщинам, которые вынуждены наносить макияж более часа. Современные технологии позволяют получить умное зеркало-смартфон, которое поможет скоротать вынужденное безделье при наведении макияжа, укладке прически.
Что представляет собой умное зеркало
В наше зеркало можно любоваться собой сколько угодно, но при этом оно выполняет роль планшета — отображает текущие новости соцсетей, показывает погоду, текущее время, день недели. Смарт-аппарат синхронизируется с телефоном и обладает теми же самыми функциями. Он позволяет тем, кто привык к активной жизни, не терять времени даже стоя у зеркала.
Особенно удобно оно в ванне. Не надо бояться, что на смартфон попадет вода. Настенный аппарат управляется голосовым помощником. Кроме просмотра информации можно прослушивать любимые треки или пользоваться всеми преимуществами смартфона.
Необходимые материалы и инструменты
Создадим бюджетный аналог своими руками. Для работы пригодится старый планшет в рабочем состоянии. Главное, чтобы рабочий экран был цел. Крышка не важна. Пригодится еще рабочий микрофон и видеокамера.
Лучше всего подойдет экран от Samsung Super Amoled с насыщенным черным цветом.
Кроме того, понадобятся:
- рамка для фотографий с глубиной около 1 см, которая будет изображать зеркало;
- зеркальная пленка;
- переходник с microUSB на USB для мыши, если нет тачпеда;
- блок питания для планшета.
Все материалы, за исключением планшета, кои скапливаются в современном доме пачками, стоят максимум 30 евро.
Кроме материалов, нужны инструменты для работы:
- паяльник;
- бокорезы или кусачки;
- прецизионные отвертки для раскручивания корпуса планшета;
- мыльная вода в распылителе;
- пластмассовый шпатель;
- скальпель;
- металлизированный и прозрачный скотч;
- карбоновая пленка;
- программа для смарт-зеркала из интернета. Она произведена увлеченной девочкой. Правда, пока на английском языке.
Как сделать своими руками
Для тестирования программы подключаем планшет к сети. Включаем программу, проверяем работоспособность.
- Начинаем разбирать рамку, вытаскиваем все заполнение и стекло. Укладываем на стол, вырезаем зеркальную пленку чуть больше размера стекла.
- Готовим мыльную воду для промывания стеклянного основания. Заливаем в распылитель.
- Находим клеящую пленку, аккуратно начинаем отделять. Из распылителя разбрызгиваем раствор на стекло и стираем чистой тряпкой. Повторяем процедуру до тех пор, пока на поверхности не будет остатков пыли, разводов.
- Накладываем пленку клеящей стороной на стекло, пластмассовым шпателем разглаживаем ее до абсолютно ровного состояния, выгоняя остатки воды.
- Скальпелем обрезаем пленку с боков.
Получается зеркальная поверхность с основанием из стекла или карбоната.
Основание стекла необходимо тщательно очищать от мусора — потом его не достанешь, а зеркало будет иметь искажения.
Для дальнейшей работы тщательно убираем рабочее место, а на поверхность кладем чистый холст. Далее:
- Вставляем зеркальную поверхность в рамку, одновременно размечая место посадки экрана планшета.
- Вырезаем размеченное место для планшета в картонной подкладке. Вставляем внутрь. Крепим подготовленным скотчем.
- Все части микросхемы, провода закрепляем рядом. Провод выводим к основанию «картины-зеркала».
Чтобы рамка вставленного смартфона не просвечивала, укладываем по краям карбоновую пленку. Подключаем устройство через блок питания.
Получилась металлизированная зеркальная поверхность в фоторамке. На краю поля — актуальная информация с экрана планшета. Таким образом, мы получили бюджетную модель Smart-Mirror. Чем ближе пленка к экрану, тем лучше видно экранную картинку.
Мы в соц. сетях, подписывайся:
Источник: tehnopanorama.ru