Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Итак, в ящике лежал неиспользованный raspberry pi 1B и неиспользованный монитор. Этого достаточно, чтобы создать умное зеркало.
Зеркало должно отображать время, дату и информацию о погоде, а также информацию о статусе переключателей умного дома и о том, какая музыка играет в данный момент.
Шаг 1. Вещи, которые вам нужны
Для создания умного зеркала вам понадобятся следующие вещи
- Raspberry Pi WIFI dongle (кроме Raspberry Pi 3, у этого есть WIFI)
- Монитор (я использовал BenQ 24 '')
- Рамка для картины (получена на сайте https://wunsch-bilderrahmen.de в Германии)
- Одностороннее зеркало (получено на https://www.myspiegel.de/ в Германии), но вы также можете использовать акриловое прозрачное зеркало.
- Деревянные планки для удлинения рамки изображения и размещения монитора
- Угловой кронштейн для удержания монитора в раме
- Черная клейкая лента для предотвращения прямого контакта стекла с металлом
- Клей для дерева и деревянная пробка, чтобы склеить рамку для картины и деревянную рамку вместе
- Проволока или шнур для монтажа, а также анкеры-шурупы
- Кабельный канал
- Барный зажим
- Сверлильный станок
Если вам нужен фоновый свет с помощью светодиодной ленты, вам также понадобятся следующие
- Светодиодная лента с контроллером, посмотреть этот проект Светодиодная лента с дистанционным управлением
- Передатчик 433 МГц
Есть список, в котором указаны основные расходы по проекту.
- Рамка для картины - 28 € ~ 29,3 $
- Зеркало одностороннее - 73 € ~ 76,6 $
- BenQ GL2450 - 100 € ~ 104,9 $
- Raspberry Pi 3 - 37 € ~ 38,8 €
- Деревянные рейки (уже нарезанные на нужную длину) - 15 € ~ 15,7 $
- Светодиодная лента 6 €
Это в сумме составляет 259 ~ 272 $, если у вас есть все мелочи, такие как инструменты, деревянный клей, винты и т. Д. Но, как я уже упоминал, причиной для создания зеркала был неиспользуемый монитор, распи и светодиодная лента, поэтому я вложил 116 € ~ 122 $, чтобы дать им новое задание.
Шаг 2. Подготовьте панель монитора
В первую очередь необходимо снять лицевую панель с панели монитора. Это необходимо для получения нужного размера панели монитора. Размер вам понадобится, чтобы получить рамку для картины, одностороннее зеркало и деревянные планки нужного размера.
Уже есть несколько описаний того, как снять лицевую панель. Взгляните на этот результат поиска для получения дополнительной информации
Затем я наклеил черную изоленту на металлическую границу панели монитора. Первая причина - избежать прямого контакта металла со стеклом позже, когда я кладу монитор на зеркало. Вторая причина - избежать отражения металла, поэтому я выбираю черный цвет, который должен поглощать падающий свет.
Шаг 3: Создайте рамку
Как только мы узнаем правильный размер панели монитора, мы можем заказать рамку для картины, одностороннее зеркало и деревянные планки. Я заказал рамку для картины и одностороннее зеркало, идеально подходящие друг к другу, чтобы зеркало удерживалось в рамке для картины. Однако монитор также должен быть исправлен, поэтому я создал рамку на обратной стороне рамки изображения, которая должна содержать монитор.
Деревянные планки соединил столярным клеем, деревянными дюбелями и шурупами для экономии. На первом рисунке показаны два отверстия для деревянных заглушек в рамке. Будьте осторожны, не просверлите рамку изображения, это будет выглядеть не очень хорошо. На втором рисунке показаны отверстия для шурупов, еще раз будьте осторожны, чтобы не просверлить шуруп в рамке для картины.
В рамке также необходимо отверстие для отходящих кабелей, а также отверстие для светодиодной ленты, если вы хотите ее использовать.
Шаг 4: соединяем кусочки вместе
Когда фрейм будет готов, мы можем собрать все вместе. Зеркало фиксируется монитором. Чтобы закрепить монитор на деревянной раме, я добавил два уголка с трех сторон, получается шесть углов. Четвертая черная сторона панели монитора закрыта печатной платой, поэтому я пропущу эту.
Центральная металлическая коробка содержит электронику для панели монитора и первоначально была закреплена на лицевой панели монитора. Теперь без лицевой панели я добавил коричневую ленту, чтобы закрепить коробку на мониторе. Я соединил винтами зеленый шнур на левой и правой деревянных планках, он понадобится для крепления зеркала на стене.
Я поместил raspberry pi в нижний левый угол, а контроллер со светодиодной лентой - в нижний правый. GPIO распи подключены к передатчику 433 МГц для установки цвета светодиодной полосы. Но отправитель также может иметь некоторые дополнительные функции, например, управление некоторыми беспроводными розетками.
Шаг 5: Установите программное обеспечение
Программное обеспечение умного зеркала полностью основано на html, javascript и css. Все, что вам нужно, - это браузер. Для малинового пи я рекомендую использовать мидори. Исходный код размещен в репозитории gitpub. Это очень минималистичная приборная панель, которая просто показывает время, погоду, музыку и переключатели. Время исходит из системного времени компьютера. Чтобы показать информацию о погоде, я использую https://api.openweathermap.org. Информация о музыке и переключателях поступает с моего умного домашнего сервера на основе этого репозитория githup: https://github.com/dabastynator/RemoteControlSystem. Это решение для умного дома определяет несколько управляемых устройств, например медиа-сервер или беспроводную розетку, в файле конфигурации-xml и делает все доступным через спокойный веб-API.
Чтобы настроить raspberry pi, вам нужно клонировать репозиторий github:
git clone [email protected]: dabastynator / SmartMirror.git
И отредактируйте файл ~ / SmartMirror / smart_config.js, чтобы установить ключ openweatherapi и маркер безопасности системы удаленного управления:
var mSecurity = 'токен =';
var mOpenWeatherKey = '';
Теперь raspberry pi должен отображать браузер midori при запуске, а также скрывать курсор мыши при бездействии с помощью unclutter. Поэтому добавьте следующие строки в ~ /.bashrc:
спать 20 лет
# Скрыть мышь при бездействии
unclutter -display: 0 -noevents -grab &
log = "/ home / pi / magic_mirror.log"
mirror = "file: ///home/pi/SmartMirror/smart_mirror.html"
экспорт DISPLAY =: 0
midori -e Полноэкранный режим -a $ mirror >> $ log &
Затем я удаляю пустой экран по умолчанию через 6 минут бездействия, описанного на этой странице: https://www.etcwiki.org/wiki/Disable_screensaver_and_screen_blanking_Raspberry_Pi. Поэтому измените файл / etc / kbd / config и измените эти строки:
BLANK_TIME = 0
BLANK_DPMS = выкл
POWERDOWN_TIME = 0
И добавьте эти дополнительные строки в файл / etc / xdg / lxsession / LXDE-pi / autostart.
@xset s noblank
@xset s выкл
@xset -dpms
Чтобы повернуть экран на 90 °, я добавил следующие строки в /boot/config.txt.
# Повернуть экран в режим защиты
display_rotate = 1
Вот и все. По моему опыту сейчас лучше использовать настоящий светодиодный монитор вместо ЖК-монитора. Это должно давать меньше света в черной области, потреблять меньше энергии и должно быть светлее и тоньше. Мое зеркало весит 10 кг.
Финалист конкурса микроконтроллеров 2017