Satura rādītājs:
- 1. solis: Kāpēc OSD foto rāmis?
- 2. solis: Kāpēc sejas apzināties?
- 3. solis: divu līmeņu projektēšana
- 4. darbība. Foto servera iestatīšana 1. iespēja: Docker Image
- 5. darbība: iestatiet fotoattēlu serveri 2. iespēja: veidojiet no avota
- 6. darbība. Klienta 1. iespēja: tīmekļa pārlūkprogramma
- 7. darbība. Klienta 2. iespēja: ESP32 + LCD
- 8. solis: ESP32 + LCD montāža
- 9. darbība: ESP32 + LCD programmatūra
- 10. solis: izbaudiet fotoattēlu
- 11. solis: kas tālāk?
Video: Sejas apzinātais OSD foto rāmis: 11 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
Šajā pamācībā ir parādīts, kā izveidot foto rāmi ar seju uztverošu ekrāna displeju (OSD).
OSD var parādīt laiku, laika apstākļus vai citu vajadzīgo interneta informāciju.
1. solis: Kāpēc OSD foto rāmis?
Man ir 2 foto pulksteņu projekti vietnē Instructables:
www.instructables.com/id/ESP32-Photo-Clock…
www.instructables.com/id/Arduino-BiJin-ToK…
Abi ik pēc minūtēm no interneta izgūst fotoattēlu ar skaistulēm un laika grafiku un parāda to LCD.
Skaistumu demonstrēšana ir laba, bet man viņi visi ir sveši. Kā būtu izmantot personīgos iecienītākos fotoattēlus un pievienot tiem pašreizējo laiku un papildu tūlītēju informāciju?
Šis projekts pēta, kā to izdarīt.
2. solis: Kāpēc sejas apzināties?
Vispirms pārbaudīsim, kā fotoattēlam pievienot tūlītējas informācijas OSD:
- Nejauši atlasiet fotoattēlu no konkrētas mapes
- Atgūt laiku
- Iegūstiet tūlītēju informāciju no interneta
- uzzīmējiet fotoattēlā laiku un tūlītēju informāciju
1.-3. solis ir taisni uz priekšu; Arī 4. solis izskatās vienkāršs, taču noteikt, kur uzzīmēt tekstu, nav tik vienkārši.
Ja teksta izmērs ir pārāk mazs, to ir grūti nolasīt saprātīgā attālumā; Ja teksta izmērs ir pārāk liels, tas, visticamāk, aptver fotoattēla objektus. Īpaši, ja tas ir portreta fotoattēls, teksts, kas aptver sejas, nav vēlams.
Tā kā seju stāvoklis katrā fotoattēlā nav vienāds, lai izvairītos no OSD pārklātajām sejām, vispirms ir nepieciešams sejas noteikšanas process. Tad mēs varam atrast laukumu bez sejas, lai uzzīmētu tekstu.
3. solis: divu līmeņu projektēšana
Sejas noteikšanas process prasa zināmu apstrādes jaudu, turpretī foto rāmim var būt ļoti mazs svars. Tāpēc es to sadalīju divos līmeņos:
Serveris
Sejas apzinātais foto dzinējs ir Node.js lietotņu serveris. Katram HTTP pieprasījumam tas:
- Nejauši izvēlieties fotoattēlu no fotoattēlu mapes
- Sejas noteikšana
- nenosaka sejas vai vismazāko seju zonu
- Tajā pašā laikā ik pēc noteikta perioda izgūstiet laika ziņas vai citu noderīgu tūlītēju informāciju no interneta
- Uzzīmējiet fotoattēlā laiku un tūlītēju informāciju
- Atgrieziet fotoattēlu ar OSD JPEG formātā kā HTTP atbildi
Klients
Klients var būt tīmekļa pārlūks, sīklietotne vai IoT ierīce.
Piem. ESP32 dev boasrd ar 2-4 collu LCD ir ļoti piemērots ievietošanai uz darbvirsmas kā niecīgs foto rāmis.
4. darbība. Foto servera iestatīšana 1. iespēja: Docker Image
Ērtības labad esmu iepriekš izveidojis Docker attēlu seju zinošam fotoattēlam OSD Node.js lietotņu serverim.
Ja vēl neesat iestatījis Docker, lūdzu, izpildiet Docker darba sākšanas rokasgrāmatu:
www.docker.com/get-started
Pēc tam izpildiet šādu komandu: (nomainiet/path/to/photo uz savu fotoattēlu ceļu)
docker run -p 8080: 8080 -v/path/to/photo:/app/photo moononournation/sejas apzinās-foto-osd: 1.0.1
Pārbaudiet to, pārlūkojot vietni https:// localhost: 8080/
Iespējams, parādīšanas laiks neatbilst jūsu laika joslai:
docker run -p 8080: 8080 -e TZ = Asia/Hong_Kong -v/path/to/photo:/app/photo moononournation/face -otud -photo -osd: 1.0.1
Ja jūs dzīvojat Honkongā tāpat kā es, varat pievienot Honkongas laika apstākļu informāciju:
docker run -p 8080: 8080 -e TZ = Asia/Hong_Kong -e OSD = HK_Weather -v/path/to/photo:/app/photo moononournation/sejas apzinās -foto -osd: 1.0.1
Ja vēlaties izveidot savu OSD informāciju:
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/ceļš/uz/foto:/lietotne/foto -v ~/git/sejas apzinās-foto-osd/app.js: /app/app.js mēnessurnācija/seju apzinās-foto-osd: 1.0. 1
Modificējiet funkciju update_osd () programmā app.js, lai pielāgotu savu OSD informāciju. Pēc izstrādes vienkārši noņemiet DEBUG = Y vidi no docker komandas.
5. darbība: iestatiet fotoattēlu serveri 2. iespēja: veidojiet no avota
Ja esat iepazinies ar Node.js, varat izveidot lietotņu serveri no avota.
Iegūstiet avotu:
git klons
Instalējiet paketes:
cd sejas apzinās foto-osd
npm instalēt
Izveidojiet fotoattēlu mapi un kopējiet savus fotoattēlus mapē.
Palaidiet lietotņu serveri:
mezgls app.js
6. darbība. Klienta 1. iespēja: tīmekļa pārlūkprogramma
Vienkārši pārlūkojiet vietni https:// localhost: 8080/
Lapai ir skripts, un tā katru minūti automātiski ielādē atbilstoša izmēra attēlu.
P. S. Ja pārlūkojat no citas iekārtas, kurā nedarbojas lietotņu serveris, atcerieties, ka jāmaina localhost uz lietotņu servera resursdatora nosaukumu vai IP adresi.
7. darbība. Klienta 2. iespēja: ESP32 + LCD
Foto rāmja klients var būt tikpat vienkāršs kā ESP32 izstrādātāju dēlis un LCD.
Šeit ir nepieciešama aparatūra:
ESP32 izstrādātāju padome
Jebkurai ESP32 dev padomei vajadzētu būt kārtībā, šoreiz es izmantoju dēli ar nosaukumu MH-ET LIVE.
LCD displejs
Jebkurš Arduino_GFX atbalstīts LCD, jūs varat atrast pašlaik atbalstīto displeju GitHub lasījumā:
github.com/moononournation/Arduino_GFX
Jumper Wire
Daži džemperu vadi ir atkarīgi no izstrādātāja plates un LCD tapu izkārtojuma. Vairumā gadījumu pietiek ar 6–9 džemperu vadiem no sievietēm līdz sievietēm.
LCD statīvs
Daži atbalsti palīdz LCD stāvēt taisni, šoreiz es izmantoju karšu turētāja statīvu.
8. solis: ESP32 + LCD montāža
Priekšroka tiek dota ESP32 ar tapas galviņu augšējā pusē. Ja tapas galviņa atrodas apakšējā pusē, vienkārši ielieciet dēli otrādi;>
Savienojiet ESP32 un LCD ar džemperu vadiem, pēc tam piestipriniet pie statīva.
Šeit ir savienojuma kopsavilkuma paraugs:
ESP32 -> LCD
Vcc -> Vcc GND -> GND GPIO 5 -> CS GPIO 27 -> DC (ja pieejams) GPIO 33 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (pēc izvēles) GPIO 22 -> LED (ja pieejams) GPIO 23 -> MOSI / SDA
9. darbība: ESP32 + LCD programmatūra
Arduino IDE
Lejupielādējiet un instalējiet Arduino IDE, ja vēl neesat to izdarījis:
www.arduino.cc/en/main/software
ESP32 atbalsts
Izpildiet instalēšanas instrukcijas, lai pievienotu ESP32 atbalstu, ja vēl neesat to izdarījis:
github.com/espressif/arduino-esp32
Arduino_GFX bibliotēka
Lejupielādējiet jaunākās Arduino_GFX bibliotēkas: (nospiediet "Klonēt vai lejupielādēt" -> "Lejupielādēt ZIP")
github.com/moononournation/Arduino_GFX
Importējiet bibliotēkas Arduino IDE. (Izvēlne Arduino IDE "Skice" -> "Iekļaut bibliotēku" -> "Pievienot. ZIP bibliotēku" -> atlasiet lejupielādēto ZIP failu)
Apkopot un augšupielādēt
- Atveriet Arduino IDE
- Atveriet ESP32PhotoFrame parauga kodu ("Fails" -> "Piemērs" -> "GFX bibliotēka Arduino" -> "WiFiPhotoFrame")
- Aizpildiet savus WiFi AP iestatījumus, norādot SSID_NAME un SSID_PASSWORD
- Nomainiet servera resursdatora nosaukumu vai IP un portu HTTP_HOST un
- Nospiediet pogu Arduino IDE "Augšupielādēt"
- Ja jums šķiet, ka orientācija nav pareiza, nomainiet "rotācijas" vērtību (0-3) jaunā klases kodā
10. solis: izbaudiet fotoattēlu
Ir pienācis laiks ievietot IoT foto rāmi uz darbvirsmas un baudīt!
11. solis: kas tālāk?
- Pievienojiet savu tūlītējo informāciju
- Precīzi noregulējiet avota fotoattēla izmēru, lai iegūtu labāku sejas noteikšanas precizitāti
- Automātisks uzdevums ievietot jaunākos fotoattēlus servera fotoattēlu mapē
- Uzņemiet vairāk fotoattēlu;>
Ieteicams:
LED sirds foto rāmis - izveidojiet perfektu Valentīna vai dzimšanas dienas dāvanu: 7 soļi (ar attēliem)
LED sirds foto rāmis - izveidojiet perfektu Valentīna vai dzimšanas dienas dāvanu: Sveiki! Šajā pamācībā es jums parādīšu, kā jūs varat izveidot šo satriecošo LED sirds foto rāmi. Visiem elektronikas entuziastiem! Sagatavojiet perfektu Valentīna, dzimšanas dienas vai jubilejas dāvanu saviem mīļajiem! Jūs varat noskatīties šī demonstrācijas video
Raspberry Pi foto rāmis mazāk nekā 20 minūtēs: 10 soļi (ar attēliem)
Raspberry Pi foto rāmis mazāk nekā 20 minūtēs: Jā, tas ir vēl viens digitālais foto rāmis! Bet pagaidiet, tas ir gludāks un, iespējams, visātrāk saliekamais un darbojas
Sejas atpazīšana un identifikācija - Arduino sejas ID, izmantojot OpenCV Python un Arduino .: 6 soļi
Sejas atpazīšana un identifikācija | Arduino sejas ID, izmantojot OpenCV Python un Arduino .: Sejas atpazīšana AKA sejas ID ir viena no svarīgākajām mūsdienu mobilo tālruņu funkcijām. Tātad, man radās jautājums " vai man var būt sejas ID savam Arduino projektam " un atbilde ir jā … Mans ceļojums sākās šādi: 1. solis: piekļuve mums
Digitālais foto rāmis, savienots ar WiFi - Raspberry Pi: 4 soļi (ar attēliem)
Digitālais foto attēlu rāmis, saistīts ar WiFi - Raspberry Pi: Šis ir ļoti vienkāršs un lēts ceļš uz digitālo foto rāmi - tā priekšrocība ir fotoattēlu pievienošana /noņemšana, izmantojot WiFi, izmantojot klikšķi un vilkšanu, izmantojot (bezmaksas) failu pārsūtīšanas programmu . To var darbināt ar niecīgo £ 4.50 Pi Zero. Varat arī pārsūtīt
Pārstrādāts digitālais foto rāmis ar virtuālu asistentu: 7 soļi (ar attēliem)
Pārstrādāts digitālais foto rāmis ar virtuālu asistentu: Sveiki! Šis pamācību dzimis no klēpjdatora, kas sadalīts uz pusēm un nopirkts no drauga. Pirmais šāda projekta mēģinājums bija mans Lego digitālais foto rāmis, tomēr, būdams aizrautīgs Siri un Google Now lietotājs, es nolēmu to pārvietot uz jaunu