INHOUDSOPGAWE:
- Stap 1: Waarom OSD -fotoraam?
- Stap 2: Waarom gesigbewus?
- Stap 3: Ontwerp met twee vlakke
- Stap 4: Stel foto -bediener Opsie 1 op: Docker Image
- Stap 5: Stel foto -bediener opsie 2 op: bou uit die bron
- Stap 6: Kliëntopsie 1: Webblaaier
- Stap 7: Kliëntopsie 2: ESP32 + LCD
- Stap 8: ESP32 + LCD -samestelling
- Stap 9: ESP32 + LCD -sagteware
- Stap 10: Geniet foto
- Stap 11: Wat is volgende?
Video: Gesigbewuste OSD -fotoraam: 11 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
Hierdie instruksies wys hoe u 'n fotoraam kan maak met 'n gesigbewuste skerm op die skerm (OSD).
Die OSD kan die tyd, weer of ander internetinligting wat u wil hê, wys.
Stap 1: Waarom OSD -fotoraam?
Ek het voorheen 2 fotoklokprojekte by Instructables:
www.instructables.com/id/ESP32-Photo-Clock…
www.instructables.com/id/Arduino-BiJin-ToK…
Beide haal elke minuut 'n foto met skoonhede en 'n tydbord van die internet af en vertoon op die LCD.
Dit is goed om mooi te wees, maar dit is vir my almal vreemdelinge. Hoe gaan dit met die gebruik van persoonlike gunsteling foto's en voeg die huidige tyd en verdere direkte inligting daaroor by?
Hierdie projek ondersoek hoe om dit te maak.
Stap 2: Waarom gesigbewus?
Kom ons kyk eers hoe ons onmiddellike inligting OSD by 'n foto kan voeg:
- Kies lukraak 'n foto uit 'n spesifieke gids
- Herwin tyd
- Haal onmiddellike inligting van die internet af
- teken tyd en onmiddellike inligting op die foto
Stap 1-3 is reguit vorentoe; Stap 4 lyk ook eenvoudig, maar dit is nie so maklik om te bepaal waar om die teks te teken nie.
As die teks te klein is, is dit moeilik om op 'n redelike afstand te lees; As die teksgrootte te groot is, bedek dit waarskynlik die foto -voorwerpe. Veral as dit 'n portretfoto is, word teks wat oor die gesigte bedek is, nie verkies nie.
Aangesien die posisie van die gesigte vir elke foto nie dieselfde is nie, moet ons eers 'n gesigopsporingsproses hê om OSD -bedekte gesigte te vermy. Dan kan ons 'n no-face-area vind om die teks te teken.
Stap 3: Ontwerp met twee vlakke
Die gesigsopsporingsproses benodig 'n mate van verwerkingskrag, in teenstelling hiermee kan die fotoraam baie lig wees. Dus het ek dit in 2 vlakke verdeel:
Bediener
Die gesigbewuste foto -enjin is 'n Node.js -app -bediener. Vir elke HTTP -versoek sal dit:
- Kies lukraak 'n foto uit die fotomap
- Gesigsopsporing
- bepaal geen gesig of die minste gesigsvlak nie
- Haal intussen elke sekere tydperk weer of ander nuttige onmiddellike inligting van die internet af
- Teken tyd en onmiddellike inligting op die foto
- Stuur die foto met OSD in JPEG -formaat as HTTP -antwoord
Kliënt
Die kliënt kan 'n webblaaier, 'n applet of 'n IoT -toestel wees.
Bv. 'n ESP32-toestel met 'n LCD-skerm van 2-4 duim is baie geskik om as 'n klein fotoraam op die tafelblad te plaas.
Stap 4: Stel foto -bediener Opsie 1 op: Docker Image
Vir die gemak het ek 'n Docker-beeld vooraf gebou vir die gesig-bewuste foto OSD Node.js-appbediener.
As u Docker nog nie opgestel het nie, volg die Docker Aan die slag -gids:
www.docker.com/get-started
Voer dan die volgende opdrag uit: (vervang/pad/na/foto na u eie fotopad)
docker run -p 8080: 8080 -v/path/to/photo:/app/photo moononournation/face-aware-photo-osd: 1.0.1
Toets dit deur na https:// localhost: 8080/
U sal vind dat die vertoontyd nie in u tydsone is nie:
docker run -p 8080: 8080 -e TZ = Asia/Hong_Kong -v/path/to/photo:/app/photo moononournation/face -aware -photo -osd: 1.0.1
As u soos ek in Hong Kong woon, kan u die weerinligting van Hong Kong byvoeg:
docker run -p 8080: 8080 -e TZ = Asia/Hong_Kong -e OSD = HK_Weather -v/path/to/photo:/app/photo moononournation/face -aware -photo -osd: 1.0.1
As u u eie OSD -inligting wil ontwikkel:
mkdir -p ~/git
cd ~/git git kloon 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/pad/na/foto:/app/foto -v ~/git/gesig-bewus-foto-osd/app.js:/app/app.js moononournation/gesig-bewus-foto-osd: 1.0. 1
Verander die update_osd () -funksie in app.js om u eie OSD-inligting op maat te maak. Na die ontwikkeling, verwyder eenvoudig die DEBUG = Y -omgewing uit die docker -opdrag.
Stap 5: Stel foto -bediener opsie 2 op: bou uit die bron
As u vertroud is met Node.js, kan u die app -bediener uit die bron bou.
Kry die bron:
git-kloon
Installeer pakkette:
cd gesig-bewus-foto-osd
npm installeer
Skep fotomap en kopieer u eie foto's na die gids.
Begin programbediener:
node app.js
Stap 6: Kliëntopsie 1: Webblaaier
Blaai eenvoudig na https:// localhost: 8080/
Laai die bladsy outomaties elke minuut 'n gepaste bladsygrootte -prent.
P. S. As u vanaf 'n ander masjien blaai wat nie die programbediener gebruik nie, onthou dan om die plaaslike gasheer na die naam van die programbediener of die IP -adres te verander.
Stap 7: Kliëntopsie 2: ESP32 + LCD
'N Fotorame -kliënt kan so eenvoudig wees soos 'n ESP32 -ontwikkelbord en 'n LCD.
Hier is die hardeware wat benodig word:
ESP32 Dev Board
Enige ESP32 dev-bord moet goed wees, hierdie keer gebruik ek 'n bord genaamd MH-ET LIVE.
LCD -skerm
Enige LCD -skerm wat deur Arduino_GFX ondersteun word, vind u tans die ondersteunde skerm by GitHub readme:
github.com/moononournation/Arduino_GFX
Jumper Wire
Sommige jumperdrade hang af van die uitleg van die dev -bord en LCD -penne. In die meeste gevalle is 6-9 vroulike tot vroulike springdrade genoeg.
LCD staander
Sommige ondersteuning help dat die LCD reguit staan; hierdie keer gebruik ek 'n kaarthouer.
Stap 8: ESP32 + LCD -samestelling
Die ESP32 met penkop aan die bokant word verkies. As die penkop aan die onderkant is, sit die bord eenvoudig onderstebo;>
Koppel ESP32 en LCD met jumperdrade en pas dit dan op die staander.
Hier is die voorbeeldverbindingsopsomming:
ESP32 -> LCD
Vcc -> Vcc GND -> GND GPIO 5 -> CS GPIO 27 -> DC (indien beskikbaar) GPIO 33 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (opsioneel) GPIO 22 -> LED (indien beskikbaar) GPIO 23 -> MOSI / SDA
Stap 9: ESP32 + LCD -sagteware
Arduino IDE
Laai en installeer Arduino IDE as u dit nog nie gedoen het nie:
www.arduino.cc/en/main/software
Ondersteuning van ESP32
Volg die installasie -instruksies om ESP32 -ondersteuning by te voeg as u dit nog nie gedoen het nie:
github.com/espressif/arduino-esp32
Arduino_GFX -biblioteek
Laai die nuutste Arduino_GFX -biblioteke af: (druk "Klone of aflaai" -> "Laai zip af")
github.com/moononournation/Arduino_GFX
Voer biblioteke in in Arduino IDE. (Arduino IDE "Skets" -kieslys -> "Sluit biblioteek in" -> "Voeg. ZIP -biblioteek by" -> kies afgelaaide zip -lêer)
Stel op en laai op
- Maak Arduino IDE oop
- Maak ESP32PhotoFrame -voorbeeldkode oop ("File" -> "Voorbeeld" -> "GFX -biblioteek vir Arduino" -> "WiFiPhotoFrame")
- Vul u WiFi AP -instellings in SSID_NAME en SSID_PASSWORD
- Vervang u bediener se gasheernaam of IP en poort in HTTP_HOST en
- Druk die "Upload" -knoppie van Arduino IDE
- As u die oriëntasie nie korrek vind nie, verander die 'rotasie'-waarde (0-3) in die nuwe klaskode
Stap 10: Geniet foto
Dit is tyd om die IoT -fotoraam op u lessenaar te plaas en te geniet!
Stap 11: Wat is volgende?
- Voeg u eie direkte inligting by
- Stel die bronfoto -grootte fyn vir 'n beter akkuraatheid van gesigsopsporing
- Outomatiese taak om die nuutste foto's in die bediener -fotomap te plaas
- Neem meer foto's;>
Aanbeveel:
Neem wonderlike foto's met 'n iPhone: 9 stappe (met foto's)
Neem wonderlike foto's met 'n iPhone: die meeste van ons dra deesdae 'n slimfoon oral, daarom is dit belangrik om te weet hoe u u slimfoonkamera kan gebruik om fantastiese foto's te neem! Ek het net 'n paar jaar 'n slimfoon gehad, en ek hou daarvan om 'n ordentlike kamera te hê om dinge te dokumenteer wat ek
Raspberry Pi -boks met koelventilator met CPU -temperatuuraanwyser: 10 stappe (met foto's)
Raspberry Pi Box of Cooling FAN Met CPU Temperature Indicator: Ek het framboos pi (Hierna as RPI) CPU temperatuur aanwyser stroombaan in die vorige projek bekendgestel. Die kring wys eenvoudig RPI 4 verskillende CPU temperatuur vlakke soos volg.- Groen LED aangeskakel wanneer CPU temperatuur is binne 30 ~
Howto: Raspberry PI 4 Headless (VNC) installeer met Rpi-imager en foto's: 7 stappe (met foto's)
Howto: Raspberry PI 4 Headless (VNC) installeer met Rpi-imager en foto's: ek is van plan om hierdie Rapsberry PI te gebruik in 'n klomp prettige projekte in my blog. Kyk gerus daarna. Ek wou weer my Raspberry PI gebruik, maar ek het nie 'n sleutelbord of muis op my nuwe plek gehad nie. Dit was 'n rukkie sedert ek 'n Framboos opgestel het
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons
Hoe om 'n rekenaar met maklike stappe en foto's uitmekaar te haal: 13 stappe (met foto's)
Hoe om 'n rekenaar uitmekaar te haal met eenvoudige stappe en foto's: dit is 'n instruksie oor hoe om 'n rekenaar uitmekaar te haal. Die meeste basiese komponente is modulêr en kan maklik verwyder word. Dit is egter belangrik dat u daaroor georganiseerd is. Dit sal u verhinder om onderdele te verloor, en ook om die montering weer