Tartalomjegyzék:
- 1. lépés: Miért az OSD képkeret?
- 2. lépés: Miért érdemes szembe nézni?
- 3. lépés: Kétszintes tervezés
- 4. lépés: A Photo Server beállítása 1. lehetőség: Docker Image
- 5. lépés: A Photo Server beállítása 2. lehetőség: Build from Source
- 6. lépés: Az ügyfél 1. lehetősége: webböngésző
- 7. lépés: 2. kliens opció: ESP32 + LCD
- 8. lépés: ESP32 + LCD összeszerelés
- 9. lépés: ESP32 + LCD szoftver
- 10. lépés: Élvezze a fényképet
- 11. lépés: Mi a következő lépés?
Videó: Arcra figyelő OSD képkeret: 11 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Ez az utasítások bemutatják, hogyan készíthet képkeretet arctisztító képernyőn (OSD).
Az OSD megjelenítheti a kívánt időt, időjárást vagy egyéb internetes információkat.
1. lépés: Miért az OSD képkeret?
Az Instructables -ben korábban 2 fotóóra projektem volt:
www.instructables.com/id/ESP32-Photo-Clock…
www.instructables.com/id/Arduino-BiJin-ToK…
Mindkettő percenként lekér egy fényképet szépségekkel és egy időmérőt az Internetről, és megjeleníti az LCD -n.
A szépségek megjelenítése jó, de mindannyian idegenek számomra. Mit szólnál a személyes kedvenc fotóidhoz, és adj hozzá aktuális időt és további azonnali információkat róla?
Ez a projekt azt vizsgálja, hogyan lehet elkészíteni.
2. lépés: Miért érdemes szembe nézni?
Először nézzük meg, hogyan lehet azonnali információs OSD -t hozzáadni a fényképhez:
- Véletlenszerűen válasszon ki egy fényképet egy adott mappából
- Idő lekérése
- Azonnali információk lekérése az Internetről
- rajzoljon időt és azonnali információkat a fényképre
Az 1-3. Lépés egyenesen előre halad; A 4. lépés is egyszerűnek tűnik, de nem könnyű meghatározni, hogy hová kell rajzolni a szöveget.
Ha a szöveg mérete túl kicsi, akkor nehéz ésszerű távolságban olvasni; Ha a szöveg mérete túl nagy, akkor valószínűleg lefedi a fotóobjektumokat. Különösen, ha portréfotóról van szó, az arcokat borító szöveg nem előnyös.
Mivel az egyes fényképek arcának helyzete nem azonos, az OSD -vel fedett arcok elkerülése érdekében először arcfelismerési eljárásra van szükség. Ezután találunk egy arc nélküli területet a szöveg rajzolásához.
3. lépés: Kétszintes tervezés
Az arcfelismerési folyamat némi feldolgozási teljesítményt igényel, ezzel szemben a képkeret nagyon könnyű lehet. Tehát 2 szintre osztottam:
szerver
Az arctudatos fotómotor egy Node.js alkalmazásszerver. Minden HTTP -kérés esetén:
- Válasszon véletlenszerűen egy fényképet a fotómappából
- Arcfelismerés
- ne határozza meg az arc vagy a legkisebb arc területét
- Közben bizonyos időközönként lekérheti az időjárást vagy egyéb hasznos azonnali információkat az internetről
- Rajzoljon időt és azonnali információkat a fényképre
- A fénykép visszaadása OSD -vel JPEG formátumban HTTP válaszként
Ügyfél
Az ügyfél lehet webböngésző, kisalkalmazás vagy IoT -eszköz.
Például. egy 2-4 hüvelykes LCD kijelzővel ellátott ESP32 fejlesztő nagyon alkalmas arra, hogy apró képkeretként helyezze el az asztalon.
4. lépés: A Photo Server beállítása 1. lehetőség: Docker Image
A kényelem érdekében előre elkészítettem egy Docker-képet az arctisztító fotó OSD Node.js alkalmazásszerverhez.
Ha még nem állította be a Docker alkalmazást, kövesse a Docker Első lépések útmutatóját:
www.docker.com/get-started
Ezután futtassa a következő parancsot: (cserélje ki a/path/to/photo lehetőséget a saját fotóútvonalához)
docker run -p 8080: 8080 -v/path/to/photo:/app/photo moononournation/face -otud-photo-osd: 1.0.1
Tesztelje a következő címen: https:// localhost: 8080/
Előfordulhat, hogy a megjelenítési idő nem az Ön időzónájában van:
docker run -p 8080: 8080 -e TZ = Asia/Hong_Kong -v/path/to/photo:/app/photo moononournation/face -otud -photo -osd: 1.0.1
Ha Hongkongban él, mint én, felveheti Hongkong időjárási információit:
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
Ha saját OSD -információit szeretné fejleszteni:
mkdir -p ~/git
cd ~/git git klón 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/elérési út/a/fotó:/app/photo -v ~/git/face -otud-photo-osd/app.js: /app/app.js moononournation/face -otud-photo-osd: 1.0. 1
Módosítsa az update.osd () függvényt az app.js fájlban, hogy személyre szabhassa saját OSD adatait. A fejlesztés után egyszerűen távolítsa el a DEBUG = Y környezetet a docker parancsból.
5. lépés: A Photo Server beállítása 2. lehetőség: Build from Source
Ha ismeri a Node.js -t, az alkalmazásszervert forrásból építheti fel.
Szerezd meg a forrást:
git klón
Csomagok telepítése:
cd arctudatos-fotó-osd
npm telepítés
Hozzon létre fényképmappát, és másolja saját fényképeit a mappába.
Futtassa az alkalmazásszervert:
csomópont app.js
6. lépés: Az ügyfél 1. lehetősége: webböngésző
Egyszerűen böngészjen a https:// localhost: 8080/címre
Az oldal szkriptben automatikusan betölt egy megfelelő oldalméretű képet percenként.
P. S. Ha egy másik gépről böngész, amely nem futtatja az alkalmazásszervert, ne felejtse el megváltoztatni a localhost alkalmazást az alkalmazásszerver gazdagépnevére vagy IP -címére.
7. lépés: 2. kliens opció: ESP32 + LCD
A képkeretes kliens olyan egyszerű lehet, mint az ESP32 fejlesztői kártya és az LCD.
Itt vannak a szükséges hardverek:
ESP32 Dev Board
Bármelyik ESP32 fejlesztőtáblának rendben kell lennie, ezúttal az MH-ET LIVE nevű táblát használom.
LCD kijelzö
Bármely Arduino_GFX támogatott LCD -kijelzőn megtalálhatja a jelenleg támogatott kijelzőt a GitHub readme -ben:
github.com/moononournation/Arduino_GFX
Jumper huzal
Egyes jumper vezetékek a fejlesztőtábla és az LCD érintkezők elrendezésétől függnek. A legtöbb esetben elegendő 6-9 női-női áthidaló vezeték.
LCD állvány
Egyes támogatások segítenek az LCD -nek egyenesen állni, ezúttal kártyatartó állványt használok.
8. lépés: ESP32 + LCD összeszerelés
Előnyös az ESP32, amelynek felső oldalán csapcsap található. Ha a csapfej az alsó oldalon található, egyszerűen tegye fejjel lefelé a táblát;>
Csatlakoztassa az ESP32 -t és az LCD -t áthidaló vezetékekkel, majd illessze az állványra.
Íme a kapcsolat összefoglaló mintája:
ESP32 -> LCD
Vcc -> Vcc GND -> GND GPIO 5 -> CS GPIO 27 -> DC (ha elérhető) GPIO 33 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (opcionális) GPIO 22 -> LED (ha elérhető) GPIO 23 -> MOSI / SDA
9. lépés: ESP32 + LCD szoftver
Arduino IDE
Töltse le és telepítse az Arduino IDE programot, ha még nem tette meg:
www.arduino.cc/en/main/software
ESP32 támogatás
Kövesse a telepítési utasításokat az ESP32 támogatás hozzáadásához, ha még nem tette meg:
github.com/espressif/arduino-esp32
Arduino_GFX könyvtár
Töltse le a legújabb Arduino_GFX könyvtárakat: (nyomja meg a "Klón vagy letöltés" -> "Letöltés ZIP" gombot)
github.com/moononournation/Arduino_GFX
Könyvtárak importálása az Arduino IDE -ben. (Arduino IDE "Vázlat" menü -> "Könyvtár beillesztése" -> ". ZIP könyvtár hozzáadása" -> válassza ki a letöltött ZIP fájlt)
Fordítás és feltöltés
- Nyissa meg az Arduino IDE -t
- Nyissa meg az ESP32PhotoFrame mintakódot ("Fájl" -> "Példa" -> "GFX Library for Arduino" -> "WiFiPhotoFrame")
- Töltse ki a WiFi AP beállításait az SSID_NAME és SSID_PASSWORD kódokba
- Cserélje ki a szerver gazdagépnevét vagy IP -címét és portját a HTTP_HOST és HTTP_PORT fájlokban
- Nyomja meg az Arduino IDE „Feltöltés” gombot
- Ha úgy találja, hogy a tájolás nem megfelelő, módosítsa a "forgás" értéket (0-3) az új osztálykódban
10. lépés: Élvezze a fényképet
Itt az ideje, hogy az IoT képkeretet az asztalra tegye, és élvezze!
11. lépés: Mi a következő lépés?
- Adja hozzá saját azonnali adatait
- Finomítsa a forrás fotó méretét a jobb arcfelismerési pontosság érdekében
- Automatikus feladat, hogy a legfrissebb fényképeket a szerver fotómappájába helyezze
- Készítsen több fényképet;>
Ajánlott:
MQTT uszoda hőmérséklet -figyelő: 7 lépés (képekkel)
MQTT uszodahőmérséklet-figyelő: Ez a projekt társa a többi otthoni automatizálási projektemnek, az intelligens adatgyűjtő gejzírvezérlőnek és a többcélú helyiségvilágítási és készülékvezérlőnek. Ez a medence oldalára szerelt monitor, amely méri a medence vízének hőmérsékletét, a környezeti levegőt
PyonAir - nyílt forrású légszennyezés -figyelő: 10 lépés (képekkel)
PyonAir - nyílt forráskódú légszennyezés -figyelő: A PyonAir egy olcsó rendszer a helyi légszennyezettségi szint - különösen a részecskék - figyelésére. A Pycom LoPy4 tábla és a Grove-kompatibilis hardver köré épülve a rendszer LoRa és WiFi kapcsolaton keresztül tud adatokat továbbítani. Vállaltam ezt a p
Hidroponikus üvegház figyelő és vezérlő rendszer: 5 lépés (képekkel)
Hidroponikus üvegházfigyelő és -szabályozó rendszer: Ebben az oktatóanyagban megmutatom, hogyan kell hidroponikus üvegházhatást figyelő és ellenőrző rendszert felépíteni. Megmutatom a kiválasztott alkatrészeket, az áramkör felépítésének kapcsolási rajzát, valamint az Seerd programozásához használt Arduino vázlatot
Vonatátkelő figyelő rendszer: 5 lépés (képekkel)
Vonatátkelő figyelő rendszer: Ez az utasítás megtanítja a MatLab használatával az Arduino kódolását a vasúti rendszer egy részének vezérléséhez
Arduino hajtású porrészecskék figyelő állomás: 4 lépés (képekkel)
Arduino által működtetett porrészecskék figyelő állomás: meglehetősen könnyen felépíthet egy DIY tárgyak internetes eszközt, amely felügyeli az otthoni por szennyeződését 50 dollárnál alacsonyabb áron, és értesítést kap, ha a por szintje túl magas lesz, így szellőztetheti a szobát, vagy beállíthatja kint van, és értesítést kap, ha