Съдържание:
- Стъпка 1: Защо OSD Photo Frame?
- Стъпка 2: Защо Face Aware?
- Стъпка 3: Дизайн на 2 нива
- Стъпка 4: Настройка на Photo Server Вариант 1: Изображение на Docker
- Стъпка 5: Настройка на Photo Server Вариант 2: Изграждане от източник
- Стъпка 6: Клиент Вариант 1: Уеб браузър
- Стъпка 7: Клиентска опция 2: ESP32 + LCD
- Стъпка 8: ESP32 + LCD монтаж
- Стъпка 9: ESP32 + LCD софтуер
- Стъпка 10: Насладете се на снимка
- Стъпка 11: Какво следва?
Видео: Face Aware OSD Photo Frame: 11 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Тази инструкция показва как да направите фоторамка с лице на екранното меню (OSD).
Екранното меню може да показва времето, времето или друга интернет информация, която искате.
Стъпка 1: Защо OSD Photo Frame?
Имам 2 проекта за фоточасовник в Instructables преди:
www.instructables.com/id/ESP32-Photo-Clock…
www.instructables.com/id/Arduino-BiJin-ToK…
И двамата извличат снимка с красота и табела за време от интернет на всеки минути и се показват на LCD.
Показването на красавици е добре, но всички те са ми непознати. Какво ще кажете за използване на лични любими снимки и добавяне на текущо време и допълнителна незабавна информация за него?
Този проект проучва как да го направите.
Стъпка 2: Защо Face Aware?
Нека първо проверим как да добавим незабавно информационно OSD към снимка:
- Случайно изберете снимка от конкретна папка
- Извличане на времето
- Изтеглете незабавна информация от Интернет
- изтеглете време и незабавна информация за снимката
Стъпка 1-3 е право напред; Стъпка 4 също изглежда проста, но определете къде да нарисувате текста не е толкова лесно.
Ако размерът на текста е твърде малък, е трудно да се чете на разумно разстояние; Ако размерът на текста е твърде голям, той най -вероятно покрива фото обектите. Особено ако това е портретна снимка, текстът, покрит върху лицата, не се предпочита.
Тъй като положението на лицата за всяка снимка не е еднакво, за да избегнем лица, покрити с OSD, първо се нуждаем от процес на разпознаване на лица. След това можем да намерим област без лице, за да нарисуваме текста.
Стъпка 3: Дизайн на 2 нива
Процесът на разпознаване на лице изисква известна процесорна мощност, за разлика от това фото рамката може да бъде с много малко тегло. Затова го разделих на 2 нива:
Сървър
Снимката, разпознаваща лицето, е сървър на приложения Node.js. За всяка HTTP заявка тя ще:
- Изберете снимка от папката със снимки на случаен принцип
- Разпознаване на лица
- определете без лице или зона с най -малко лица
- Междувременно извличайте времето или друга полезна незабавна информация от интернет на всеки определен период
- Начертайте време и незабавна информация за снимката
- Върнете снимката с OSD в JPEG формат като HTTP отговор
Клиент
Клиентът може да бъде уеб браузър, аплет или IoT устройство.
Напр. ESP32 dev boasrd с 2-4 инчов LCD е много подходящ за поставяне на работния плот като малка фоторамка.
Стъпка 4: Настройка на Photo Server Вариант 1: Изображение на Docker
За удобство предварително съм изградил изображение на Docker за OSD сървър на приложения OSD Node.js за снимка с лице.
В случай, че все още не сте настроили Docker, моля, следвайте ръководството на Docker Get Started:
www.docker.com/get-started
След това изпълнете следната команда: (заменете/пътека/към/снимка към вашия собствен път на снимка)
docker run -p 8080: 8080 -v/path/to/photo:/app/photo moononournation/face-aware-photo-osd: 1.0.1
Тествайте го, като прегледате https:// localhost: 8080/
Може да откриете, че времето за показване не е във вашата часова зона:
docker run -p 8080: 8080 -e TZ = Asia/Hong_Kong -v/path/to/photo:/app/photo moononournation/face -aware -photo -osd: 1.0.1
Ако живеете в Хонконг като мен, можете да добавите метеорологична информация за Хонконг:
docker run -p 8080: 8080 -e TZ = Asia/Hong_Kong -e OSD = HK_Weather -v/пътека/към/снимка:/app/photo moononournation/face -aware -photo -osd: 1.0.1
Ако искате да разработите своя собствена информация за екранното меню:
mkdir -p ~/git
cd ~/git git clone https://github.com/moononournation/face-aware-photo-osd.git docker run -it -p 8080: 8080 -e TZ = Asia/Hong_Kong -e OSD = HK_Weather -e DEBUG = Y -v/път/към/снимка:/app/photo -v ~/git/face-aware-photo-osd/app.js: /app/app.js moononournation/face-aware-photo-osd: 1.0. 1
Променете функцията update_osd () в app.js, за да персонализирате собствената си информация за екранното меню. След разработката просто премахнете DEBUG = Y средата от командата docker.
Стъпка 5: Настройка на Photo Server Вариант 2: Изграждане от източник
Ако сте запознати с Node.js, можете да изградите сървъра на приложения от източника.
Вземете източника:
git clone
Инсталирайте пакети:
cd лице-наясно-снимка-osd
npm инсталиране
Създайте папка със снимки и копирайте вашите собствени снимки в папката.
Стартирайте сървъра на приложения:
възел app.js
Стъпка 6: Клиент Вариант 1: Уеб браузър
Просто от браузъра до https:// localhost: 8080/
Страницата е скриптова автоматично зарежда изображение с подходящ размер на страницата всяка минута.
P. S. Ако сърфирате от друга машина, която не изпълнява сървъра на приложения, не забравяйте да промените localhost на името на хоста на сървъра на приложения или IP адреса.
Стъпка 7: Клиентска опция 2: ESP32 + LCD
Клиентът за фоторамка може да бъде толкова прост, колкото ESP32 dev board и LCD.
Ето необходимия хардуер:
ESP32 Dev Board
Всяка платка за разработка на ESP32 трябва да е наред, този път използвам дъска, наречена MH-ET LIVE.
ЛСД дисплей
Всеки поддържан от Arduino_GFX LCD дисплей може да намерите поддържания дисплей в GitHub readme:
github.com/moononournation/Arduino_GFX
Jumper Wire
Някои джъмперни проводници зависят от оформлението на таблото за разработка и LCD пиновете. В повечето случаи са достатъчни 6-9 проводници от женски към женски.
LCD стойка
Някои поддръжки помагат на LCD да стои изправен, този път използвам стойка за държач за карта.
Стъпка 8: ESP32 + LCD монтаж
Предпочита се ESP32 с щифтова заглавка от горната страна. Ако заглавката на щифта от долната страна, просто поставете дъската с главата надолу;>
Свържете ESP32 и LCD с джъмперни проводници, след което го поставете към стойката.
Ето примерното резюме на връзката:
ESP32 -> LCD
Vcc -> Vcc GND -> GND GPIO 5 -> CS GPIO 27 -> DC (ако има такъв) GPIO 33 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (по избор) GPIO 22 -> LED (ако има) GPIO 23 -> MOSI / SDA
Стъпка 9: ESP32 + LCD софтуер
Arduino IDE
Изтеглете и инсталирайте Arduino IDE, ако все още не сте го направили:
www.arduino.cc/en/main/software
Поддръжка на ESP32
Следвайте инструкциите за инсталиране, за да добавите поддръжка за ESP32, ако все още не го правите:
github.com/espressif/arduino-esp32
Библиотека Arduino_GFX
Изтеглете най -новите библиотеки на Arduino_GFX: (натиснете „Clone or Download“-> „Download ZIP“)
github.com/moononournation/Arduino_GFX
Импортирайте библиотеки в Arduino IDE. (Arduino IDE "Sketch" Menu -> "Include Library" -> "Add. ZIP Library" -> изберете изтегления ZIP файл)
Компилиране и качване
- Отворете Arduino IDE
- Отворете примерен код на ESP32PhotoFrame ("Файл" -> "Пример" -> "GFX библиотека за Arduino" -> "WiFiPhotoFrame")
- Попълнете настройките на вашата WiFi точка за достъп в SSID_NAME и SSID_PASSWORD
- Заменете името на хоста на вашия сървър или IP и порт в HTTP_HOST и
- Натиснете бутона за качване на Arduino IDE
- Ако установите, че ориентацията не е правилна, променете стойността на "въртене" (0-3) в новия код на класа
Стъпка 10: Насладете се на снимка
Време е да поставите фоторамката на IoT на вашия работен плот и да се насладите!
Стъпка 11: Какво следва?
- Добавете своя собствена незабавна информация
- Прецизно настройте размера на снимката на източника за по -добра точност на разпознаване на лица
- Автоматична задача за поставяне на най -новите снимки в папката със снимки на сървъра
- Направете още снимки;>
Препоръчано:
LED Pixel Art Frame с ретро аркадно изкуство, контролирано от приложения: 7 стъпки (със снимки)
LED Pixel Art рамка с ретро аркадно изкуство, контролирано от приложение: НАПРАВЕТЕ ПРИЛОЖЕНА РАМКА С ИЗОБРАЖЕНИЕ С 1024 СВЕТОДИОДА, КОИТО ПРЕДСТАВЛЯВА РЕТРО 80s ARCADE GAME ART частиPIXEL Makers Kit - $ 59 Adafruit 32x32 P4 LED матрица - $ 49.9512x20 инчов акрилен лист, 1; дебел инч - Прозрачен лек дим от пластмаса за чешми
Огледален часовник Infinity Mirror в IKEA Frame Frame: 4 стъпки
Infinity Mirror Wall Clock в IKEA Frame Frame: Здравейте, винаги съм искал да построя стенен часовник. В магазини като IKEA има много прекрасни стенни часовници. Имах някои проблеми с тези търговски часовници. Те са твърде силни за мен (непрекъснатият тик-так е досаден), не виждам стрелките за часове
Контрол на LED матричен масив с Arduino Uno (Arduino Powered Robot Face): 4 стъпки (със снимки)
Контрол на LED матричен масив с Arduino Uno (Arduino Powered Robot Face): Тази инструкция показва как да управлявате масив от 8x8 LED матрици, използвайки Arduino Uno. Това ръководство може да се използва за създаване на прост (и сравнително евтин дисплей) за вашите собствени проекти. По този начин може да показвате букви, цифри или персонализирани анимации
Flickr Style CD Photo Multi-frame: 5 стъпки
Flickr Style CD Photo Multi-frame: Исках евтин начин да показвам много от снимките си, без просто да ги залепя към стената. Имах цял куп празни кутии за компактдискове, които биха били идеални за показване на снимки. С добавянето на парче шнур и няколко ключодържателя се побърках
Texas Big Face - 3D проекция на лице Как да: 10 стъпки (със снимки)
Texas Big Face - 3D проекция на лице Как да: Създадете " живи статуи " като проектирате лицето си върху скулптури.А Как да го направите: Дейвид Съдърланд, Кърк Морено в сътрудничество с Graffiti Research Lab Houston* Няколко коментара казват, че има някои аудио проблеми. То е