Kazalo:

Face Aware OSD Photo Frame: 11 korakov (s slikami)
Face Aware OSD Photo Frame: 11 korakov (s slikami)

Video: Face Aware OSD Photo Frame: 11 korakov (s slikami)

Video: Face Aware OSD Photo Frame: 11 korakov (s slikami)
Video: Your logo instead of OSD name - HOW? 2024, November
Anonim
Okvir za OSD Face Aware OSD
Okvir za OSD Face Aware OSD
Okvir za OSD Face Aware OSD
Okvir za OSD Face Aware OSD
Okvir za OSD Face Aware OSD
Okvir za OSD Face Aware OSD
Okvir za OSD Face Aware OSD
Okvir za OSD Face Aware OSD

Ta navodila kažejo, kako narediti okvir za fotografije z zaslonskim zaslonom (OSD) z zavedanjem obraza.

OSD lahko prikaže čas, vreme ali druge internetne informacije, ki jih želite.

1. korak: Zakaj OSD Photo Frame?

Zakaj OSD Photo Frame?
Zakaj OSD Photo Frame?
Zakaj OSD Photo Frame?
Zakaj OSD Photo Frame?

V Instructables sem že imel 2 projekta foto ure:

www.instructables.com/id/ESP32-Photo-Clock…

www.instructables.com/id/Arduino-BiJin-ToK…

Oba vsako minuto poiščeta fotografijo z lepotami in časovno ploščo iz interneta in ju prikažeta na LCD -prikazovalniku.

Prikazovanje lepot je dobro, vendar so mi vse tuje. Kaj pa uporaba osebnih najljubših fotografij in dodajanje trenutnega časa ter nadaljnjih takojšnjih informacij o njem?

Ta projekt raziskuje, kako to narediti.

2. korak: Zakaj Face Aware?

Zakaj Face Aware?
Zakaj Face Aware?
Zakaj Face Aware?
Zakaj Face Aware?
Zakaj Face Aware?
Zakaj Face Aware?
Zakaj Face Aware?
Zakaj Face Aware?

Preverimo, kako fotografiji najprej dodamo OSD za takojšnje informacije:

  1. Naključno izberite fotografijo iz določene mape
  2. Pridobite čas
  3. Pridobite takojšnje informacije iz interneta
  4. na fotografiji narišite čas in takojšnje informacije

Korak 1-3 je naravnost naprej; 4. korak je videti tudi preprost, vendar določiti, kje narisati besedilo, ni tako enostavno.

Če je besedilo premajhno, ga je težko prebrati na razumni razdalji; Če je besedilo preveliko, najverjetneje pokriva foto objekte. Še posebej, če gre za portretno fotografijo, besedilo, ki pokriva obraze, ni zaželeno.

Ker položaj obrazov pri vsaki fotografiji ni enak, moramo za preprečitev obrazov, zajetih v OSD, najprej postopek zaznavanja obrazov. Potem lahko najdemo območje brez obrazov za risanje besedila.

3. korak: 2-stopenjsko oblikovanje

2-stopenjsko oblikovanje
2-stopenjsko oblikovanje

Postopek zaznavanja obrazov zahteva nekaj procesorske moči, v nasprotju s tem pa je lahko okvir za fotografije zelo lahek. Zato sem ga razdelil na 2 stopnje:

Strežnik

Fotografski mehanizem za prepoznavanje obrazov je strežnik aplikacij Node.js. Za vsako zahtevo HTTP bo:

  1. Naključno izberite fotografijo iz mape s fotografijami
  2. Zaznavanje obrazov
  3. ne določite območja obraza ali najmanj obraza
  4. Hkrati pa vsako določeno obdobje poiščite vremenske ali druge koristne trenutne informacije iz interneta
  5. Na fotografijo narišite čas in takojšnje informacije
  6. Fotografijo z OSD v formatu JPEG vrnite kot odgovor

Odjemalec

Odjemalec je lahko spletni brskalnik, programček ali naprava IoT.

Npr. ESP32 dev boasrd z 2-4-palčnim LCD-zaslonom je zelo primeren za postavitev na namizje kot majhen fotookvir.

4. korak: Nastavitev strežnika fotografij 1. možnost: slika Dockerja

1. možnost nastavitve strežnika fotografij: slika Dockerja
1. možnost nastavitve strežnika fotografij: slika Dockerja
1. možnost nastavitve strežnika fotografij: slika Dockerja
1. možnost nastavitve strežnika fotografij: slika Dockerja

Za udobje sem vnaprej izdelal sliko Dockerja za OSD strežnik aplikacij OSD Node.js s fotografijo, ki se zaveda obraza.

Če še niste nastavili Dockerja, sledite priročniku Docker Get Started:

www.docker.com/get-started

Nato zaženite naslednji ukaz: (zamenjajte/pot/do/fotografijo na svojo pot do fotografije)

docker run -p 8080: 8080 -v/path/to/photo:/app/photo moononournation/face-aware-photo-osd: 1.0.1

Preizkusite tako, da poiščete https:// localhost: 8080/

Morda boste ugotovili, da čas prikaza ni v vašem časovnem pasu:

docker run -p 8080: 8080 -e TZ = Asia/Hong_Kong -v/path/to/photo:/app/photo moononournation/face -aware -photo -osd: 1.0.1

Če živite v Hongkongu kot jaz, lahko dodate vremenske podatke o Hongkongu:

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

Če želite razviti lastne podatke o OSD:

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/pot/do/fotografije:/app/photo -v ~/git/face-aware-photo-osd/app.js: /app/app.js moononournation/face-aware-photo-osd: 1.0. 1

Spremenite funkcijo update_osd () v app.js, da prilagodite svoje OSD podatke. Po razvoju preprosto odstranite okolje DEBUG = Y iz ukaza docker.

5. korak: Nastavitev strežnika fotografij 2. možnost: Izdelava iz vira

Če poznate Node.js, lahko strežnik aplikacij sestavite iz vira.

Pridobite vir:

git clone

Namestite pakete:

cd-zavedanje-foto-osd

npm install

Ustvarite mapo s fotografijami in kopirajte svoje fotografije v mapo.

Zaženi strežnik aplikacij:

vozlišče app.js

6. korak: 1. možnost odjemalca: spletni brskalnik

Možnost odjemalca 1: Spletni brskalnik
Možnost odjemalca 1: Spletni brskalnik

Preprosto poiščite brskalnik na https:// localhost: 8080/

Stran je po scenariju samodejno naloži sliko ustrezne velikosti strani vsako minuto.

P. S. Če brskate iz drugega računalnika, ki ne izvaja strežnika aplikacij, ne pozabite spremeniti localhost v ime gostitelja strežnika aplikacij ali naslov IP.

7. korak: 2. možnost odjemalca: ESP32 + LCD

2. možnost odjemalca: ESP32 + LCD
2. možnost odjemalca: ESP32 + LCD
2. možnost odjemalca: ESP32 + LCD
2. možnost odjemalca: ESP32 + LCD
2. možnost odjemalca: ESP32 + LCD
2. možnost odjemalca: ESP32 + LCD
2. možnost odjemalca: ESP32 + LCD
2. možnost odjemalca: ESP32 + LCD

Odjemalec okvirja za fotografije je lahko tako preprost kot plošča za razvijalce ESP32 in LCD.

Tu je potrebna strojna oprema:

Razvojna plošča ESP32

Vsaka plošča za razvijalce ESP32 bi morala biti v redu, tokrat uporabljam ploščo z imenom MH-ET LIVE.

LCD zaslon

Kateri koli LCD, ki podpira Arduino_GFX, boste morda našli trenutno podprt zaslon na GitHub readme:

github.com/moononournation/Arduino_GFX

Mostična žica

Nekatere odklopne žice so odvisne od postavitve plošče za razvijalce in LCD zatičev. V večini primerov zadostuje 6-9 žic moških in ženskih.

LCD stojalo

Nekatera podpora pomaga LCD -ju, da stoji naravnost, tokrat uporabljam stojalo za držalo za kartice.

8. korak: Sklop ESP32 + LCD

ESP32 + LCD sklop
ESP32 + LCD sklop
ESP32 + LCD sklop
ESP32 + LCD sklop
ESP32 + LCD sklop
ESP32 + LCD sklop

Zaželen je ESP32 z glavo zatiča na zgornji strani. Če glavo zatiča na spodnji strani preprosto postavite ploščo na glavo;>

ESP32 in LCD povežite z mostičnimi žicami in jih pritrdite na stojalo.

Tu je vzorec povzetka povezave:

ESP32 -> LCD

Vcc -> Vcc GND -> GND GPIO 5 -> CS GPIO 27 -> DC (če je na voljo) GPIO 33 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (neobvezno) GPIO 22 -> LED (če je na voljo) GPIO 23 -> MOSI / SDA

9. korak: programska oprema ESP32 + LCD

ESP32 + LCD programska oprema
ESP32 + LCD programska oprema

Arduino IDE

Prenesite in namestite Arduino IDE, če tega še niste storili:

www.arduino.cc/en/main/software

Podpora za ESP32

Če tega še niste storili, sledite navodilom za namestitev, če tega še niste storili:

github.com/espressif/arduino-esp32

Knjižnica Arduino_GFX

Prenesite najnovejše knjižnice Arduino_GFX: (pritisnite "Clone or Download" -> "Download ZIP")

github.com/moononournation/Arduino_GFX

Uvozite knjižnice v Arduino IDE. (Arduino IDE "Sketch" Menu -> "Include Library" -> "Add. ZIP Library" -> izberite preneseno datoteko ZIP)

Sestavite in naložite

  1. Odprite Arduino IDE
  2. Odprite vzorčno kodo ESP32PhotoFrame ("Datoteka" -> "Primer" -> "Knjižnica GFX za Arduino" -> "WiFiPhotoFrame")
  3. Vnesite nastavitve dostopne točke WiFi v SSID_NAME in SSID_PASSWORD
  4. Zamenjajte ime gostitelja ali IP strežnika in vrata v HTTP_HOST in
  5. Pritisnite gumb "Naloži" Arduino IDE
  6. Če ugotovite, da orientacija ni pravilna, spremenite vrednost "rotacije" (0-3) v novi kodi razreda

10. korak: uživajte v fotografiji

Uživajte v fotografiji!
Uživajte v fotografiji!

Čas je, da okvir za fotografije IoT postavite na namizje in uživajte!

11. korak: Kaj sledi?

  • Dodajte svoje trenutne podatke
  • Za boljšo natančnost zaznavanja obrazov natančno prilagodite velikost izvorne fotografije
  • Samodejno opravilo za vstavljanje najnovejših fotografij v mapo s fotografijami strežnika
  • Naredite več fotografij;>

Priporočena: