Magic mirror что это
Кому нужно умное зеркало? Много кому. Я, когда такое увидел, тут же захотел выбросить наш календарь с маркерной доской. Майкл Тиув проделал потрясающую работу по созданию отличной расширяемой платформы для умных зеркал, которая позволяет всем желающим самостоятельно делать такие зеркала. Если вам эта тема интересна — загляните на сайт проекта MagicMirror.
Здесь я хочу рассказать о том, что нужно для проектирования и сборки собственного умного зеркала. Я, кроме того, коснусь тут и темы создания рамки для такого зеркала.
Для тех, кто раньше с умными зеркалами не сталкивался, опишу в двух словах суть проекта. За зеркалом, прозрачным с одной стороны, размещают монитор. При идеальном освещении всё, что на экране выведется чёрным, будет выглядеть как зеркало. А всё белое (или имеющее другой высококонтрастный цвет) будет просвечивать сквозь зеркало. Мне хотелось сделать нечто вроде информационной панели для всей семьи, на которую выводились бы календари, списки покупок, сведения о погоде. Я подумывал и о том, чтобы встроить в это зеркало AlexaPi (подробнее об этом я расскажу позже). Я заинтересовал жену рассказом о том, как это зеркало улучшит нашу жизнь и поможет быстрее справляться с делами, и принялся за работу.
Рамка для зеркала
Тут я хочу показать вам видео, посвящённое созданию рамки для зеркала. То, что у меня получилось, немного отличается от чертежей, с которых начиналась работа.
Создание рамки для зеркала
Материалы
▍Стекло (зеркало)
Я воспользовался зеркалом 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.
▍Источник питания
▍USB-микрофон
SunFounder USB 2.0 Mini Microphone и удлинительный USB-кабель для него
▍Датчик движения
▍Светодиод
Здесь я использовал RGB-светодиод.
Умное зеркало - что же это такое?
В жизни каждого человека зеркало это неотъемлемая часть жизни, а особенно у женского пола. Девушки и женщины проводят перед ним порой и по несколько часов в день наводя красоту, причесываясь и т.д. Мужская половина проводит гораздо меньше время у зеркала, но все же чистка зубов и бритье происходит именно перед ним. Помимо ванной комнаты зеркала окружают нас везде - в прихожей, в лифте, в машине, в офисе и т.п.
Так что же такое умное зеркало? У него есть мозги, оно умеет говорить, писать и читать?
Умное зеркало по английски smart mirror это необычное зеркало которое способно отображать необходимую информацию при этом оставаясь все тем же зеркалом. Да, его основная функция это показывать нам отражение, но что если кроме своего отражения мы сможем увидеть прогноз погоды в своем регионе, время и дату, события календаря, ленту новостей, котировки акций, уведомления электронной почты или соцсетей - согласитесь, ведь это очень удобно?
А теперь представьте, что вся эта информация перед вами на вашем умном зеркале:
Так же умное зеркало может стать не только незаменимым помощником в прихожей, но и отличным интерьерным решением. Собираясь на работу, учебу или деловую встречу перед смарт зеркалом, оно так же оповестит о запланированных делах на день, дне рождения близких или о резкой смене погоды и надвигающемся сильном ветре, дожде, снегопаде и прочих природных явлениях.
Если в вашем доме или квартире реализована система "умный дом" или вы планируете установить систему "умный дом" - сенсорное зеркало может быть изготовлено и спроектировано так, чтобы оно стало еще и центром управления вашего "умного дома", что очень удобно.
Автоматическое включение и выключение зеркала по сигналу от датчика движения
В моём списке возможностей умного зеркала был один крайне важный пункт: зеркало должно выключаться тогда, когда рядом никого нет. Модуль MMM-PIR-Sensor отлично справляется с этой задачей. Особенно — если дисплей, используемый в проекте, поддерживает все команды HDMI CEC. Тот телевизор, что стоит за моим зеркалом, по неизвестным причинам, поддерживает лишь команду, имеющую отношение к состоянию устройства. В результате я решил проблему включения и выключения телевизора с помощью GPIO Raspberry Pi (PIN 15), воздействуя на кнопку питания телевизора так, что устройство считает, что на неё нажимает человек.
Настройка Raspberry Pi Zero W для MagicMirror
Вот и пришло время настройки моего мини компьютера для работы в информационном зеркале. Я выбрал операционную систему Raspbian с php решением вывода информации от Michael Teeuw под названием Magic Mirror . В интернете есть большое количество вариантов установки Magic Mirror , но проблема в том, что они не подходят для одноплатника Raspbery Pi Zero W. А у меня в наличии была именно эта модификация. Так что все настройки были собраны по частям с разных форумов.
Берём нашу microSD карту и с помощью программы Win32DiskImager заливаем на неё скаченный образ. Для этого нажимаем кнопку, отмеченную стрелкой, выбираем нужный образ, а затем нажимаем кнопку Write и дожидаемся пока программа выполнит эту операцию.
После записи образа первым делом надо зайти на карту и создать там два файла: ssh (только название без расширения) и wpa_supplicant.conf
Файл ssh мы оставляем совершенно пустым (он нам нужен только для того, чтобы включить SSH доступ, который изначально отключен), а в файле wpa_supplicant.conf забиваем нужные нам данные о сети Wi-Fi. Только надо помнить, что название сети и пароль чувствительны к регистру:
ssid=" ИМЯ НАШЕЙ ТОЧКИ ДОСТУПА WI-FI "
Ну что ж, на этом первый этап настройки можно считать завершённым. Теперь берём нашу microSD карту и вставляем в одноплатник, после чего подключаем питание и радуемся приветливо мигающему зелёному огоньку.
Перейдём к запуску программы PuTTY. В поле Host Name вписываем IP адрес, который мы узнали из предыдущего шага, а в поле Port 22. В поле Saved Session напишите, например, MagicMirror. Жмем на кнопку Save . Выбираем в списке подключений MagicMirror.
Жмём на кнопку Open . Откроется окно консольной строки программы, где мы должны ввести логин и пароль. По умолчанию в raspbian логин — pi, а пароль — raspberry. При вводе пароля символы не отображаются, не обращайте на это внимание, просто набираете пароль и жмёте клавишу Enter .
Теперь переходим к непосредственной настройке программной части нашего устройства. Для начала отключим поддержку IPv6, так как наша сеть не использует ее, а попытки обращения к ней очень тормозят передачу данных. Для этого вводим в строку:
sudo nano /etc/sysctl.conf
Нажимаем клавишу Enter . Откроется текстовый редактор для файла sysctl.conf . В конце файла добавляем строки:
net.ipv6.conf.all.disable_ipv6 = 1
Нажимаем Ctrl+О для сохранения изменений в файле, подтверждаем сохранение клавишей Enter . После этого нажимаем Ctrl+Х для выхода из редактора.
Теперь для перезагрузки протокола связи вводим в командную строку последовательно две команды, ввод каждой команды завершается нажатием клавиши Enter .
sudo sysctl -p
sudo /etc/init.d/networking restart
Я очень надеюсь, что у Вас есть опыт работы в командной строке DOS или Linux, либо Вы поняли алгоритм действий при работе с ней, так как далее я не буду описывать каждую настройку так подробно, а просто выделю основные действия для неё.
Обновление системы и пакетов программ:
sudo apt update && sudo apt upgrade
Обновление у меня заняло минут 30, так что можно спокойно попить чаю, просто изредка поглядывая на прогресс выполнения.
Устанавливаем программу Node. Я перепробовал много разных версий этой программы, но для стабильной работы всей системы в целом мне подошла только версия 10.11.0, так что в данном описании я буду ссылаться на неё.
Данной командой мы скачали архив Node. Теперь производим его распаковку:
tar xvf node-v10.11.0-linux-armv6l.tar.xz
Ну и соответственно как таковая установка программы:
cd node-v10.11.0-linux-armv6l
sudo cp -R * /usr/local/
sudo reboot
Последней командой мы отправили наш мини компьютер в перезагрузку. Окно программы PuTTY сообщит нам об этом. Закрываем окно, ждём около минуты и снова повторяем запуск PuTTY.
Установка NPM :
sudo apt install npm
Подтверждаем буквой Y и нажатием Enter .
Скачиваем Magic Mirror с портала Github.
По окончанию процесса переходим в папку с файлами Magic Mirror.
cd MagicMirror
Установим программу.
npm install
Копируем файл с настройками в рабочую директорию программы.
Автозапуск информационной части будем делать через графический интерфейс LXDE, так как он уже встроен и стартует по умолчанию. Для этого запускаем текстовый редактор для файла настроек автостарта рабочего стола:
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
Для наших целей в этом файле должно быть такое содержание:
@/home/pi/mm_server.sh
@xset s noblank
Сохраняем изменения Ctrl+О и выходим из редактора Ctrl+Х .
Теперь мы должны создать файл mm_server.sh
sudo nano mm_server.sh
В данном файле прописываем следующие команды:
/MagicMirror
node serveronly &
sleep 30
Сохраняем изменения Ctrl+О и выходим из редактора Ctrl+Х .
sudo chmod a+x mm_server.sh
Последним штрихом настроек мне нужно было повернуть экран на 90 градусов, так как монитор в зеркале я поставил вертикально, а не горизонтально. Делается это очень просто:
sudo nano /boot/config.txt
Добавляем в конце файла строчку:
display_rotate=1
Сохраняем изменения Ctrl+О и выходим из редактора Ctrl+Х . Теперь можно перезагрузить систему командой:
sudo reboot
На этом всё. Если все настройки были сделаны правильно, то в результате перезагрузки Вы увидите на своём мониторе такую страничку.
Сборка компонентов
Вот как выглядит задняя часть зеркала, представленная дисплеем и другими компонентами.
Соединение компонентов проекта
«Умное зеркало» с Google Ассистентом и беспроводной зарядкой
У данного зеркала присутствую еще две функции, -это голосовое управление и беспроводная зарядка устройств.
Инструменты и материалы:
- ЖК-панель 15,6-дюймов ;
-40-контактная плата управления дисплеем;
-Акриловое зеркало;
- Raspberry Pi 3 ;
-USB-микрофон;
-Динамик с AUX;
-Светодиоды;
-Трафаретные листы;
-Провод;
- Адаптер питания постоянного тока 12 ;
-DC разветвитель питания;
-Регулятор напряжения;
-Беспроводное зарядное устройство;
-Фанера;
-Магниты;
-Кабель HDMI;
-Лазерный резак;
-3D-принтер;
-Штангенциркуль;
-Линейка;
-Клеевой пистолет;
Программное обеспечение:
Adobe Illustrator
Программное обеспечение САПР
Шаг первый: настройка Raspberry Pi - программное обеспечение VNC
Предполагается, что у пользователя есть операционная система Raspbian, отформатированная на Raspberry Pi, и компьютер готов к работе.
1: Загрузите Raspberry Pi и откройте терминал
Кликните значок терминала на верхней панели приложения, чтобы открыть окно терминала.
2: Установите VNC на Raspberry Pi
Введите следующую команду в терминал, чтобы установить RealVNC на Raspberry Pi.
3. Откройте конфигуратор Raspberry Pi, чтобы включить VNC.
Введите следующую команду в терминал, чтобы открыть настройки.
Затем перейдите к «Параметры взаимодействия» и «Включите» параметр «VNC». Нажмите «Применить», чтобы вернуться на панель терминала.
4. Перезагрузите Raspberry Pi.
Введите следующую команду, чтобы перезагрузить Raspberry Pi, чтобы изменения вступили в силу.
5. Установите VNC на компьютер
Теперь на своем персональном ноутбуке / компьютере (не на Raspberry Pi) перейдите на веб-сайт RealVNC, чтобы загрузить «VNC Viewer» для своей операционной системы (работает практически на любой ОС, включая Mac, Windows и Linux).
Завершите процесс установки и при появлении запроса создайте учетную запись (в качестве альтернативы можно использовать VNC в качестве гостя).
6: Вернитесь к своему Raspberry Pi. После загрузки перейдите на верхнюю панель и щелкните значок «VNC», который теперь должен быть активирован. Кликните по нему, чтобы просмотреть свой IP-адрес и пароль.
На своем ноутбуке или компьютере введите эту информацию для удаленного подключения к Raspberry Pi. Если все прошло правильно, пользователь сможет увидеть Raspberry Pi и управлять им с помощью персонального компьютера.
Шаг второй: настройка Raspberry Pi - программное обеспечение Magic Mirror
1: Откройте терминал на Raspberry Pi
Первое, что нам нужно сделать, это установить пакет под названием «npm», который поможет загрузить программу Magic Mirror.
2: Используйте скрипт Sdetweil для загрузки и установки Magic Mirror
3: Затем нужно настроить некоторые вещи на Raspberry Pi, чтобы он работал как Smart Mirror. Нам нужно отключить спящий режим, иначе Smart Mirror будет продолжать выключаться. Также необходимо убедиться, что программное обеспечение Magic Mirror автоматически запускается при каждой загрузке Raspberry Pi.
Чтобы отключить заставку, запустите скрипт:
Чтобы установить автоматический запуск программы запустите следующее:
4: К настоящему времени программа Magic Mirror должна уже загрузиться, и пользователь должен увидеть окно, похожее на пользовательский интерфейс Smart Mirror. Если это окно не появилось, запустите этот код:
5: Конфигурация Magic Mirror
Дальше нужно настроить виджеты. Для этого необходимо создать учетную запись на OpenWeatherMap (это бесплатно и быстро). Зарегистрировавшись, программное обеспечение Magic Mirror может воспользоваться преимуществами системы API OpenWeatherMap, которая необходима для получения данных о погоде. После создания учетной записи на главной странице перейдите на вкладку "Ключи API".При необходимости создайте или переименуйте ключ API (он выглядит как длинная строка буквенно-цифровых символов). Скопируйте свой ключ API.
Затем на Raspberry Pi откройте приложение «Файлы», перейдите в папку «MagicMirror» (которая загружается в каталог «/ home / pi»), щелкните папку «config» и, наконец, дважды нажмите на кнопку "config". config.js - текстовый файл. Пользователь должен увидеть список модулей, которые в данный момент работают на Magic Mirror. Можно отредактировать эту папку, чтобы изменить виджеты, расположение виджетов и т. д. На данный момент переходим к модулю под названием "currentweather".
Там, где написано: 'appid: "YOUR API KEY HERE"', вставьте ключ API скопированный ранее. Двумя строками выше есть указание города "местоположение:" Нью-Йорк". Нужно отредактировать поле и ввести город, в котором вы проживаете. Наконец, нужно отредактировать 'LocationID. У каждого города есть уникальный идентификатор, который сообщает OpenWeatherMap, в каком городе нужно отображать погоду. Закомментированный прямо рядом с этой строкой кода, вы должны увидеть URL, где можно скачать полный список городов и их соответствующие коды.
6: Дополнения Magic Mirror
На этом этапе настройки можно добавить множество виджетов Magic Mirror. От отслеживания отправлений FedEx до просмотра прямых трансляций Земли из космоса - есть виджеты практически для всего.
Здесь полный список модулей для Magic Mirror, а также документация о том, что это такое и как их установить. Для демонстрации мастер устанавливает виджет «MMM-Screencast». Это виджет позволяет любому устройству, подключенному к той же интернет-сети, что и Smart Mirror, транслировать видео с Youtube прямо на Mirror.
Чтобы установить виджет, сначала откройте терминал на Raspberry Pi и перейдите в каталог MagicMirror / modules (здесь хранятся все модули). Нужно перейти сюда, чтобы при загрузке «MMM-Screencast» он автоматически сохранялся в правильном месте. Чтобы изменить каталоги, вводим команду cd:
Затем клонируйте модуль MMM-Screencast с GitHub:
После успешной установки войдите в модуль «MMM-Screencast», используя команду «cd» еще раз:
Теперь установите зависимости (другие инструменты / пакеты, необходимые для запуска этого модуля):
Откройте приложение для работы с файлами на Raspberry Pi и перейдите к измененному ранее текстовому файлу config.js (/home/pi/MagicMirror/config/config.js).
В разделе модулей добавьте следующий код непосредственно после строки кода с надписью « modules: [ »
Обратите внимание, что в конце скобки стоит запятая. Все модули в разделе модулей файла config.js должны быть разделены запятыми. Важно, чтобы приведенный выше код был вставлен непосредственно после « modules: [ », потому что это гарантирует, что это первый модуль в списке.
Параметр castName: показывает, как Smart Mirror выглядит для других устройств, когда они хотят транслировать на него видео с YouTube. Его можно изменить.
Дальше сохраните этот файл и перезагрузите Raspberry Pi, запустив приведенный ниже код в терминале:
Проверьте модуль Screencast, нажав кнопку трансляции в приложении YouTube на мобильном устройстве.
Пример должен выглядеть примерно так, если USB-микрофон работает правильно:
Скопируйте и вставьте в этот текстовый файл следующий код:
Обратите внимание: в строке № 9 pcm «hw: 2,0» замените «2» на любой номер микрофонной карты, который вы нашли ранее. Если у вас был регистр микрофона на карте 2, то ничего менять не нужно. Однако, если вам написано « карта 1», измените эту строку на: pcm «hw: 1,0».
Чтобы выйти из текстового редактора, удерживайте Control + X, введите Y для сохранения и Enter для подтверждения.
Затем запустите следующую команду, чтобы создать еще один текстовый файл:
В этот текстовый файл скопируйте и вставьте те же элементы конфигурации, которые вы сохранили в файле ' /etc/asound.conf ', не забудьте изменить строку 9 так, чтобы она была вашим конкретным номером USB-микрофонной карты. Сохраните и выйдите из этого файла (Control + X, введите Y для сохранения и Enter).
Чтобы настроить динамик через AUX, нужно сообщить Raspberry Pi, что звук должен идти на динамик, а не куда-либо еще. Для этого запустите в терминале приведенный ниже код:
Это действие открывает меню, похожее на настройки на устройстве Raspberry Pi. Перейдите в «Параметры системы» (нажмите «Ввод» для выбора) и «Аудио» (используйте клавиши вверх / вниз для навигации). Перейдите к AUX или наушникам в качестве аудиовыхода и введите для подтверждения. Затем нажмите кнопку со стрелкой вправо и нажмите Enter, чтобы выйти из меню raspi-config .
Дальше перезагрузите Raspberry Pi. Как только устройство загрузится, снова откройте терминал.
Теперь нужно проверить, что настройки динамика и микрофона работают.
Запустите команду:
Если вы слышите, как ваш динамик говорит что-то вроде «Right, Left . », значит, динамики настроены правильно.
Чтобы протестировать микрофон, нужно что-нибудь записать и проиграть через динамик.
Запускаем команду:
Эта команда записывает 10-секундный файл через USB-микрофон и сохраняет его в файле под названием audiotest.wav. Т.е. нужно что-то проговаривать в течении 10 секунд.
Затем, чтобы воспроизвести этот аудиофайл на подключенных динамиках, запустите:
Из динамика должен быть слышен ваш голос.
3. На следующем этапе нужно установить важные пакеты, чтобы включить Google Assistant на нашем Pi.
Сначала нужно обновить устройство.
Затем запустите следующую команду, чтобы установить пакет, который позволит управлять светодиодными индикаторами:
Теперь нужно установить Python 3:
Запустите команду, чтобы активировать пакет:
Установите все зависимости.
Чтобы полностью активировать среду Python 3, выполните команду активации:
Дальше нужно установить библиотеку Google Assistant, которая на самом деле обеспечивает работу голосового помощника:
Затем нужно аутентифицировать Raspberry Pi в учетной записи разработчика Google Cloud. Во-первых, нужно установить специальный инструмент аутентификации от Google:
Переходим в приложение File Explorer на Raspberry Pi. Там мы должны увидеть загруженный файл .json, название которого должно начинаться с client_secret . Щелкните этот файл правой кнопкой мыши и нажмите кнопку «Копировать».
Вернитесь в Терминал на Raspberry Pi и запустите этот код:
В случае успешного выполнения команды будет отображен URL-адрес. Нажимаем на ссылку и входим в свою учетную запись Google. После входа в систему скопируйте предоставленный код и вставьте этот код в приглашение терминала, где написано:
4.В окне терминала Raspberry Pi выполните эту команду:
Создайте текстовый файл Python с именем 'main', выполнив этот код:
После открытия текстового редактора скопируйте и вставьте этот код:
Единственный текст, который нужно отредактировать в этом коде, находится в предпоследнем абзаце, где написано «[НАЗВАНИЕ ВАШЕГО УМНОГО ЗЕРКАЛА]» . Помните, когда мы создали «Идентификатор клиента OAuth» на платформе Google Cloud Platform, и я сказал вам назвать свой проект как-нибудь вроде «[ВАШЕ ИМЯ] smartmirror». Получите это имя и замените его на [YOUR SMART MIRROR NAME]" (имя умного зеркала).
Как только это будет сделано, нажмите Control + X, введите «Y» и нажмите Enter, чтобы сохранить и выйти из этого текстового редактора.
Наконец, перейдите в приложение «Файлы» на Raspberry Pi и найдите ранее использованный файл client_secrets .json (он должен находиться в / home / pi / Downloads ). Щелкните его правой кнопкой мыши и выберите «Копировать». Затем перейдите в каталог « / home / pi » и вставьте его туда, щелкнув правой кнопкой мыши и выбрав «Вставить».
5. Автоматизация процесса загрузки
Последний шаг в обеспечении работы Google Assistant - это создание сценария оболочки, который указывает на основной код и запускает его. Это упростит запуск этого сценария оболочки при загрузке, поэтому каждый раз, когда Raspberry Pi перезагружается, Google Assistant будет автоматически инициализироваться и работать.
Чтобы создать сценарий оболочки с именем google-assistant-init.sh , выполните следующую команду:
Оказавшись внутри текстового редактора, скопируйте и вставьте этот код:
Щелкните Command + X, введите «Y» и нажмите Enter, чтобы сохранить и закрыть текстовый редактор. Затем мы Дальше введите такую команду:
Сохраните этот файл и перезагрузите Raspberry Pi. Голосовой помощник готов.
Шаг четвертый: лазерная резка
Дальше мастер подготавливает детали для корпуса. Часть деталей будут вырезаны на лазерном резаке.
Подробно о проекте проектирования можно узнать здесь .
Шаг пятый: электроника
После резки и печати деталей мастер переходит к сборке проекта.
Сначала мастер подготавливает светодиоды. На ранее вырезанную полоску из фанеры он наклеивает светорассеиватель из акрила.
Затем на макетной плате проверяет работу светодиодов (подключает их к контакту 25 GPIO). Далее нужно сказать «Окей, Google» и светодиод загорится.
После проверки приклеивает их к рамке и соединяет параллельно.
Теперь нужно настроить регулятор напряжения. Для этого нужно его подключить к источнику питания 12 В. После включения регулятора небольшая светодиодная панель должна загореться и показать выходное напряжение.
Чтобы изменить выходное напряжение, нужно повернуть левый винт на плате против часовой стрелки (чтобы уменьшить напряжение). Напряжение нужно установить от 5,0 до 5,1 В.
Дальше нужно все проверить. Подключите Raspberry Pi и динамик к положительным и отрицательным выходным клеммам на регуляторе напряжения (ток 5 В) и подключите плату контроллера ЖК-экрана к 12 В. От платы контроллера идет 40-контактный провод, который подключается к задней части ЖК-панели. Подключите этот 40-контактный разъем. Также подсоедините кабель HDMI от Raspberry Pi к плате ЖК-контроллера.
Настройка системы
Я не задумывал этот раздел как исчерпывающее руководство по настройке умных зеркал. Тут я расскажу лишь о самом главном. А именно, я установил Raspbian Stretch Lite, а потом следовал этому руководству.
Сначала я поэкспериментировал с множеством модулей для MagicMirror, созданных энтузиастами. А уже потом отобрал самое важное. Если вы будете идти моим путём, то советую хотя бы попробовать MMM-EyeCandy.
В итоге я установил следующие модули, которыми пользуюсь до сих пор:
Для того чтобы сделать этот скрипт исполняемым, воспользуемся командой chmod :
Потом надо настроить crontab :
В список заданий надо добавить следующую команду, которая будет запускать скрипт каждую полночь:
AlexaPi
AlexaPi — это потрясающий проект. Имеется и пара MagicMirror-модулей, созданных специально для работы с Alexa. Это — MMM-alexa и MMM-awesome-alexa. Мне очень хотелось, чтобы голосовой помощник Alexa оказался бы интегрирован с умным зеркалом, но с настройкой AlexaPi и соответствующих модулей MagicMirror возникло слишком много сложностей. Мне, кроме того, хотелось бы, чтобы помощник Alexa использовал бы отдельный светодиод. В итоге я просто установил AlexaPi, но не интегрировал возможности этого проекта в платформу MagicMirror. В ходе установки AlexaPi я пользовался этой инструкцией.
В моей AlexaPi-конфигурации используется недорогой USB-микрофон. Она, к сожалению, показывает далеко не самые лучшие результаты. Сейчас Alexa реагирует лишь на мужской голос. Возможно, ситуацию могут улучшить эксперименты с pocketsphinx или Snowboy. Ниже показана верхняя часть зеркала, на которой смонтирован светодиод и датчик движения.
Верхняя часть зеркала со светодиодом и датчиком движения
Части проекта, напечатанные на 3D-принтере
Те части проекта, которые надо напечатать на 3D-принтере, я, в основном, спроектировал сам. Ниже приведён список ссылок на соответствующие файлы. Вы можете свободно ими пользоваться.
Читайте также: