INHOUDSOPGAWE:

Gesigbewuste OSD -fotoraam: 11 stappe (met foto's)
Gesigbewuste OSD -fotoraam: 11 stappe (met foto's)

Video: Gesigbewuste OSD -fotoraam: 11 stappe (met foto's)

Video: Gesigbewuste OSD -fotoraam: 11 stappe (met foto's)
Video: How to Create a Custom Windows 10 Image For Deployment | How to Make a Custom Windows 10 ISO 2024, November
Anonim
Gesigbewuste OSD -fotoraam
Gesigbewuste OSD -fotoraam
Gesigbewuste OSD -fotoraam
Gesigbewuste OSD -fotoraam
Gesigbewuste OSD -fotoraam
Gesigbewuste OSD -fotoraam
Gesigbewuste OSD -fotoraam
Gesigbewuste OSD -fotoraam

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?

Waarom OSD -fotoraam?
Waarom OSD -fotoraam?
Waarom OSD -fotoraam?
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?

Waarom gesigbewus?
Waarom gesigbewus?
Waarom gesigbewus?
Waarom gesigbewus?
Waarom gesigbewus?
Waarom gesigbewus?
Waarom gesigbewus?
Waarom gesigbewus?

Kom ons kyk eers hoe ons onmiddellike inligting OSD by 'n foto kan voeg:

  1. Kies lukraak 'n foto uit 'n spesifieke gids
  2. Herwin tyd
  3. Haal onmiddellike inligting van die internet af
  4. 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

Ontwerp met 2 vlakke
Ontwerp met 2 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:

  1. Kies lukraak 'n foto uit die fotomap
  2. Gesigsopsporing
  3. bepaal geen gesig of die minste gesigsvlak nie
  4. Haal intussen elke sekere tydperk weer of ander nuttige onmiddellike inligting van die internet af
  5. Teken tyd en onmiddellike inligting op die foto
  6. 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

Stel Fotoserver Opsie 1 op: Docker Image
Stel Fotoserver Opsie 1 op: Docker Image
Stel Fotoserver Opsie 1 op: Docker Image
Stel Fotoserver 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

Kliënt opsie 1: webblaaier
Kliënt opsie 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

Kliëntopsie 2: ESP32 + LCD
Kliëntopsie 2: ESP32 + LCD
Kliëntopsie 2: ESP32 + LCD
Kliëntopsie 2: ESP32 + LCD
Kliëntopsie 2: ESP32 + LCD
Kliëntopsie 2: ESP32 + LCD
Kliëntopsie 2: ESP32 + LCD
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

ESP32 + LCD -samestelling
ESP32 + LCD -samestelling
ESP32 + LCD -samestelling
ESP32 + LCD -samestelling
ESP32 + LCD -samestelling
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

ESP32 + LCD sagteware
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

  1. Maak Arduino IDE oop
  2. Maak ESP32PhotoFrame -voorbeeldkode oop ("File" -> "Voorbeeld" -> "GFX -biblioteek vir Arduino" -> "WiFiPhotoFrame")
  3. Vul u WiFi AP -instellings in SSID_NAME en SSID_PASSWORD
  4. Vervang u bediener se gasheernaam of IP en poort in HTTP_HOST en
  5. Druk die "Upload" -knoppie van Arduino IDE
  6. As u die oriëntasie nie korrek vind nie, verander die 'rotasie'-waarde (0-3) in die nuwe klaskode

Stap 10: Geniet foto

Geniet die foto!
Geniet die 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: