Sisukord:

Näotundlik OSD pildiraam: 11 sammu (piltidega)
Näotundlik OSD pildiraam: 11 sammu (piltidega)

Video: Näotundlik OSD pildiraam: 11 sammu (piltidega)

Video: Näotundlik OSD pildiraam: 11 sammu (piltidega)
Video: Eplutus EP-9511T - портативный цифровой телевизор 2024, Juuli
Anonim
Näotundlik OSD pildiraam
Näotundlik OSD pildiraam
Näotundlik OSD pildiraam
Näotundlik OSD pildiraam
Näotundlik OSD pildiraam
Näotundlik OSD pildiraam
Näotundlik OSD pildiraam
Näotundlik OSD pildiraam

See juhend sisaldab teavet selle kohta, kuidas teha näokujuga ekraaniraam (OSD).

OSD võib näidata aega, ilma või muud soovitud Interneti -teavet.

Samm: miks OSD pildiraam?

Miks OSD pildiraam?
Miks OSD pildiraam?
Miks OSD pildiraam?
Miks OSD pildiraam?

Mul on Instructablesis 2 fotokella projekti:

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

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

Mõlemad toovad iga minuti tagant Internetist iludustega foto ja ajatabeli ning kuvatakse LCD -ekraanil.

Ilusate väljapanek on hea, aga need kõik on mulle võõrad. Kuidas oleks kasutada isiklikke lemmikfotosid ja lisada praegune kellaaeg ning selle kohta lisateavet?

See projekt uurib, kuidas seda teha.

2. samm: miks nägu teadlik?

Miks näoteade?
Miks näoteade?
Miks näoteade?
Miks näoteade?
Miks näoteade?
Miks näoteade?
Miks näoteade?
Miks näoteade?

Vaatame kõigepealt, kuidas lisada fotole kohese teabe OSD:

  1. Valige juhuslikult foto konkreetsest kaustast
  2. Tooge aega
  3. Hankige Internetist kohe teavet
  4. joonistage fotole aeg ja vahetu teave

Samm 1-3 on otse edasi; Samm 4 tundub ka lihtne, kuid teksti joonistamise koht pole nii lihtne.

Kui teksti suurus on liiga väike, on seda mõistlikus kauguses raske lugeda; Kui teksti suurus on liiga suur, katab see tõenäoliselt fotoobjektid. Eriti kui tegemist on portreefotoga, pole eelistatud tekst, mis katab nägu.

Kuna iga foto nägude asukoht ei ole sama, vajame OSD -ga kaetud nägude vältimiseks kõigepealt näotuvastust. Siis leiame teksti joonistamiseks näovaba ala.

Samm: kaheastmeline disain

Kaheastmeline disain
Kaheastmeline disain

Näotuvastusprotsess nõuab teatavat töötlemisvõimsust, seevastu pildiraam võib olla väga kerge. Seetõttu jagasin selle kaheastmeliseks:

Server

Näotundlik fotomootor on Node.js rakendusserver. Iga HTTP -päringu puhul tehakse järgmist.

  1. Valige fotokaustast foto juhuslikult
  2. Näotuvastus
  3. määrake nägu või kõige vähem nägu
  4. Otsige vahepeal iga teatud aja tagant Internetist ilma või muud kasulikku kohest teavet
  5. Joonista fotole aeg ja kohene teave
  6. Tagastage foto koos OSD -ga JPEG -vormingus HTTP -vastusena

Klient

Klient võib olla veebibrauser, aplett või IoT -seade.

Nt. 2-4-tollise LCD-ekraaniga ESP32 arendaja sobib väga hästi pisikese pildiraamina töölauale paigutamiseks.

4. samm: fotiserveri seadistamine Valik 1: doki pilt

Fotoerveri seadistamine Valik 1: doki pilt
Fotoerveri seadistamine Valik 1: doki pilt
Fotoerveri seadistamine Valik 1: doki pilt
Fotoerveri seadistamine Valik 1: doki pilt

Mugavuse huvides olen eelnevalt koostanud Dockeri pildi näotundlikule foto OSD Node.js rakendusserverile.

Kui te pole veel Dockerit seadistanud, järgige palun Dockeri alustamise juhendit:

www.docker.com/get-started

Seejärel käivitage järgmine käsk: (asendage/path/to/photo oma fototeele)

docker run -p 8080: 8080 -v/path/to/photo:/app/photo moononournation/näotundlik-foto-osd: 1.0.1

Testige, sirvides aadressile https:// localhost: 8080/

Võib juhtuda, et kuvamisaeg pole teie ajavööndis:

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

Kui elate Hongkongis nagu mina, saate lisada Hongkongi ilmateate:

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

Kui soovite oma OSD teavet arendada:

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/path/to/photo:/app/photo -v ~/git/face -otud-photo-osd/app.js: /app/app.js moononournation/face-Teadlik-foto-osd: 1.0. 1

Muutke rakenduses app.js funktsiooni update_osd (), et kohandada oma OSD teavet. Pärast arendamist eemaldage lihtsalt DEBUG = Y keskkond dokkija käsust.

5. samm: fotiserveri seadistamine 2. valik: ehitage allikast

Kui olete Node.js -iga tuttav, saate rakendusserveri allikast üles ehitada.

Hankige allikas:

git kloon

Installige paketid:

cd nägu teadlik-foto-osd

npm install

Looge fotode kaust ja kopeerige oma fotod kausta.

Käivitage rakenduse server:

sõlm app.js

6. samm: kliendi valik 1: veebibrauser

Kliendi valik 1: veebibrauser
Kliendi valik 1: veebibrauser

Lihtsalt sirvige aadressile https:// localhost: 8080/

Lehe skriptiga laaditakse iga minuti järel automaatselt sobiva suurusega pilt.

P. S. Kui sirvite teisest masinast, kus rakendusserver ei tööta, pidage meeles, et muutke localhost rakendusserveri hostinimeks või IP -aadressiks.

Samm: kliendivalik 2: ESP32 + LCD

Kliendi valik 2: ESP32 + LCD
Kliendi valik 2: ESP32 + LCD
Kliendi valik 2: ESP32 + LCD
Kliendi valik 2: ESP32 + LCD
Kliendi valik 2: ESP32 + LCD
Kliendi valik 2: ESP32 + LCD
Kliendi valik 2: ESP32 + LCD
Kliendi valik 2: ESP32 + LCD

Pildiraami klient võib olla sama lihtne kui ESP32 arendusplaat ja LCD.

Siin on vajalik riistvara:

ESP32 arendusplaat

Iga ESP32 arendusplaat peaks olema korras, seekord kasutan tahvlit nimega MH-ET LIVE.

LCD ekraan

Mis tahes Arduino_GFX -i toetatud LCD -ekraani leiate praegu toetatud kuva GitHubi lugemismenüüst:

github.com/moononournation/Arduino_GFX

Jumper Wire

Mõned hüppajajuhtmed sõltuvad arendusplaadi ja LCD -tihvtide paigutusest. Enamikul juhtudel piisab 6-9 naissoost naissoost juhtmest.

LCD alus

Mõned toed aitavad LCD -l otse seista, seekord kasutan kaardihoidja alust.

Samm 8: ESP32 + LCD kokkupanek

ESP32 + LCD komplekt
ESP32 + LCD komplekt
ESP32 + LCD komplekt
ESP32 + LCD komplekt
ESP32 + LCD komplekt
ESP32 + LCD komplekt

Eelistatud on ESP32, mille ülemisel küljel on tihvtipea. Kui tihvti päis asub alumisel küljel, pange plaat lihtsalt tagurpidi;>

Ühendage ESP32 ja LCD hüppajajuhtmetega, seejärel paigaldage see alusele.

Siin on ühenduse kokkuvõtte näidis:

ESP32 -> LCD

Vcc -> Vcc GND -> GND GPIO 5 -> CS GPIO 27 -> DC (kui on saadaval) GPIO 33 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (valikuline) GPIO 22 -> LED (kui on saadaval) GPIO 23 -> MOSI / SDA

Samm: ESP32 + LCD tarkvara

ESP32 + LCD tarkvara
ESP32 + LCD tarkvara

Arduino IDE

Laadige alla ja installige Arduino IDE, kui te pole seda veel teinud:

www.arduino.cc/en/main/software

ESP32 tugi

Kui te pole seda veel teinud, järgige ESP32 toe lisamiseks installijuhiseid:

github.com/espressif/arduino-esp32

Arduino_GFX raamatukogu

Laadige alla uusimad Arduino_GFX teegid: (vajutage "Kloonige või laadige alla" -> "Laadi alla ZIP")

github.com/moononournation/Arduino_GFX

Importige Arduino IDE raamatukogud. (Arduino IDE "Sketch" menüü -> "Kaasa raamatukogu" -> "Lisa. ZIP -raamatukogu" -> valige allalaaditud ZIP -fail)

Kompileeri ja laadi üles

  1. Avage Arduino IDE
  2. Avage ESP32PhotoFrame näidiskood ("File" -> "Example" -> "GFX Library for Arduino" -> "WiFiPhotoFrame")
  3. Täitke oma WiFi AP seaded SSID_NAME ja SSID_PASSWORD
  4. Asendage serveri hostinimi või IP ja port HTTP_HOST ja
  5. Vajutage Arduino IDE nuppu "Laadi üles"
  6. Kui leiate, et suund ei ole õige, muutke uue klassi koodis pöörlemisväärtust (0-3)

Samm: nautige fotot

Nautige fotot!
Nautige fotot!

On aeg panna IoT pildiraam töölauale ja nautida!

11. samm: mis saab edasi?

  • Lisage oma vahetu teave
  • Peenhäälestage allikafoto suurust, et nägu paremini tuvastada
  • Automaatne ülesanne viimaste fotode serveri fotode kausta paigutamiseks
  • Tehke rohkem fotosid;>

Soovitan: