Sisukord:
- Samm: riistvara
- 2. samm: LCD -ekraani loomine
- 3. samm: tarkvara seadistamine
- 4. samm: valikuline - ekraani väljalülitamine
- Samm: riputage kalender üles
Video: Nutikas seinakalender: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Mu naisega ja mul oli varem klassikaline paberist seinakalender, millele märkisime olulised kuupäevad. Kasutame sündmuste tähistamiseks ka nutitelefonides Google'i kalendrit, seega tähendas see topelt tööd. Seega otsustasin ehitada mingi nutika seinakalendri, mis kuvab meie meeldetuletusi, sündmusi ja mõningaid muid andmeid. Kuna mul lebavad mitmesugused vanad elektroonilised osad, oli minu eesmärk neid võimalikult palju taaskasutada ja koostada kalender võimalikult väikeste kuludega.
Selles õpetuses näitan teile, kuidas luua nutikat seinakalendrit, kuvades sündmusi mitmelt Google'i kontolt. Samuti kuvatakse kellaaeg, kuupäev, ilm, temperatuur ja lisateavet. Selle toiteallikaks on Raspberry Pi arvuti, millele on kinnitatud passiivse infrapunaanduri (PIR) liikumisandur, nii et ekraan lülitub ruumis liikumise tuvastamisel sisse, kuid lülitub välja pärast mõne minuti tegevusetust. See õpetus põhineb mitmel muul õpetusel, mille leidsin Internetist, ja annan neile lingid paremaks mõistmiseks. Vaja on programmeerimise põhiteadmisi (HTML, Python jne).
Samm: riistvara
Nagu varem mainitud, proovisin kulusid madalal hoida, et kasutada nii palju vanu elektroonilisi osi. Kuid mõned esemed pidin ostma, seega loetlen kõik ehitamiseks vajaliku.
- Vaarika Pi komplekt. Esialgu kasutasin oma vana mudelit 2 mõnest teisest projektist. See töötas, kuid veebilehe redigeerimine ja uuesti laadimine võttis mul palju aega, nii et lõpuks läksin üle mudelile 3, mis töötab ladusamalt https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313 & _nkw = vaarikas+pi+komplekt & _sacat = 0
- LCD ekraan. Kasutasin ekraani oma vanast sülearvutist, nii et mul oli vaja selle jaoks osta ainult LVDS draiveriplaat ja toide https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=hdmi+ draiver+LVDS+plaat & _sacat = 0
-Plastikust hoiukarp elektroonika jaoks
- Passiivne infrapuna liikumisandur
- temperatuuri/niiskuse andur AM2302
- Must plastikust libistatav sideaine LCD-raami jaoks
- Erinevad kaablid (HDMI, 5,5 mm alalisvoolu jaoks, jooteta leivaplaadi hüppajakaablid jne)
2. samm: LCD -ekraani loomine
Kasutasin oma vananenud sülearvuti LCD -ekraani. Selle tegemiseks on mitu õpetust, ma järgisin seda:
www.instructables.com/id/How-to-reuse-the-old-LCD-Screen-of-your-broken-Lap/
Demonteerisin oma vana sülearvuti kaane, võtsin välja LCD -ekraani ja tellisin seejärel õige LVDS -draiveriplaadi. Esitasin müüjale tootekoodi, mille leiate LCD -ekraani tagaküljelt, minu puhul on see LP171WE3 (TL) (A2) - vaadake viimast pilti paremas alanurgas ja siis saatis ta mulle vastava LVDS -i. Pange tähele, et vajate ka ekraani toiteallikat, nii et paluge ka müüjal see saata. Ostsin ka kena 14,5 × 7,5 × 2 cm plastkarbi, mis sobiks ilusti juhtplaadile ja kinnitaks selle LCD -ekraani tagaküljele.
Nüüd on LCD -ekraanil metallist raam, mis ei näe ilus välja. Esialgu pihustasin selle mustaks, kuid värv hakkas maha kooruma. Nii võtsin neli musta plastikust libistatavat köitematerjali, mida tavaliselt kasutatakse paberilehtede sidumiseks, kärpisin need vastavalt ja kinnitasin raami katmiseks. See tundus hea, nii et ühendasin kõik kaablid, ühendasin HDMI oma vana Raspberry Pi ja Voilaga - see töötas! Ekraanil oli pilt, nii et olin valmis järgmise sammu juurde liikuma - millist teavet ekraanil kuvada ja kuidas seda näidata.
3. samm: tarkvara seadistamine
Kui otsisin Internetist vihjeid kalendri koostamiseks, sain inspiratsiooni sellest lehest https://dakboard.com/site. Nad pakuvad valmistoodet (kuvar, arvuti ja töötav tarkvara), kuid neil on ka suurepärane õpetus isetegemise lahenduse jaoks (https://blog.dakboard.com/diy-wall-display/). Soovitan teil seda õpetust järgida, vähemalt esimeses osas koos juhistega süsteemi ettevalmistamiseks ja seadistamiseks Vaarikas, nii et brauser laadib soovitud veebilehe automaatselt alglaadimisel.
See toimis kenasti, kuid otsisin mingit lahendust, mida saaks vastavalt minu soovidele paremini kohandada. Olen otsustanud luua oma veebiserveri ja luua veebilehe, mis kuvab lisaks kalendrile ka lisateavet. Olen valinud Wordpress.org, kuna see on hästi dokumenteeritud ning sellel on hea tugi ja suur kogukond, mis teid aitab. Siit leiate õpetuse Wordpressi installimiseks Raspberry Pi-le: https://projects.raspberrypi.org/en/projects/lamp-web-server-with-wordpress. Kui Wordpress oli installitud, oli aeg kujundada oma koduleht. Võite kasutada ühte paljudest pakutud teemadest või kujundada nullist. Igatahes on selleks vaja mõningaid HTML -i programmeerimise teadmisi.
Olen kujundanud oma lehe nii, et vasakul küljel kuvatakse kalender (https://sl.wordpress.org/plugins/google-calendar-events/), paremal aga kellaaeg ja kuupäev (https://www.timeanddate.com/clocks/free.html ja https://www.arclab.com/en/kb/htmlcss/display-date-time-javascript-php-ssi.html). Ilmateade pärineb siit lehelt (https://www.1a-vreme.si/vremensko-okno/), mis pakub Sloveenia linnade prognooside vidinaid, kuid arvan, et teiste riikide vidinaid võib leida ka Internetist. Temperatuuri kogumiseks kasutatakse AM2302 andurit (https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=AM2302+&_sacat=0), nagu on selgitatud käesoleva peatüki lõpus. Altpoolt on lihtne igapäevane loendur, mis näitab, mitu päeva on mõne ürituseni jäänud (minu lastele on huvitav teada, mitu päeva peavad nad midagi ootama). Ülemises paremas servas on MetaSlideri pistikprogramm (https://wordpress.org/plugins/ml-slider/), mis libiseb juhuslikult minu pere valitud piltidele. Lisaks olen kasutanud tausta liuguri pistikprogrammi (https://sl.wordpress.org/plugins/background-slider-master/), et näidata mulle juhusliku pildi saamiseks ilusamat tausta.
Nagu varem mainitud, kogutakse sisetemperatuuri anduri AM2302 abil. Temperatuuri saamiseks on palju õpetusi, ma järgisin seda: https://www.modmypi.com/blog/am2302-temphumidity-sensor. Hiljem teisaldasin selle anduri teisele Raspberry Pi-le, kus töötab Home Assistant, sest selle DHT-sensori komponendi abil on väärtusi lihtsam lugeda ja avaldada (https://www.home-assistant.io/components/sensor.dht/). Home Assistant saab koguda ka välistemperatuuri, kasutades erinevaid ilmastikukomponente, mina kasutasin YR.no komponenti (https://www.home-assistant.io/components/sensor.yr/). Sellega kirjutasin automaatika skripti, et koguda nendest komponentidest sise- ja välistemperatuur ning kirjutada need tekstifaili, mis seejärel kuvatakse minu seinakalendris. Koduabilise kohta lisateabe saamiseks vaadake kodulehte (https://www.home-assistant.io/).
4. samm: valikuline - ekraani väljalülitamine
Nüüd on meil kalender seadistatud ja käivitatud just nii, nagu meile meeldib. Kuid me ei taha, et ekraan oleks ööpäevaringselt sisse lülitatud. Me tahame, et see lülituks sisse ainult siis, kui keegi on kodus. Samuti ei taha me, et see lülitataks sisse keset ööd, kui me tualetti läheme, on see liiga hele! Seega kinnitame infrapunaanduri, et märgata, kui keegi seisab selle ees, ja lisame teatud ajapiirangud, millal see peaks sisse lülituma.
Pange tähele, et minu programmeerimisoskus on üsna piiratud, nii et järgnev ei saa olla optimaalne, kuna olen selle valinud erinevatest veebifoorumitest ja õpetustest, kuid sisuliselt see toimib. Igasugune soovitus on siiski teretulnud. Kõigepealt alustame testist monitori käsitsi sisse- ja väljalülitamiseks. Selleks loome kaks faili (näiteks monitor_on.sh ja monitor_off.sh) ja kirjutame sinna koodi. Lihtsaim viis selleks on SSL -i abil sisestada oma Raspberry ja logida sisse
sudo nano monitor_on.sh
ja tippige järgmine kood
tv -teenus -eelistatud;
startx/usr/bin/graphical_launcher `fgconsole`
Salvestamiseks ja väljumiseks vajutage CTRL+X, seejärel looge teine fail
sudo nano monitor_off.sh
ja tippige järgmine kood
tv -teenus -välja lülitatud;
Salvestamiseks ja väljumiseks vajutage uuesti CTRL+X. Tehke need äsja loodud failid käivitatavaks:
sudo chmod +x monitor_on.sh
sudo chmod +x monitor_off.sh
Nüüd proovige, kas need käsud töötavad, tippige
sudo./monitor_off.sh
sudo./monitor_on.sh
Nüüd peaks monitor vastavalt välja ja sisse lülituma. Olen märganud, et Raspberry Pi 2 -l kulus monitori sisselülitamiseks peaaegu 10 sekundit. Raspberry Pi 3-l kulub 1-2 sekundit. Järgmisena ühendame infrapunaanduri, mis käivitab need skriptid. Jällegi on palju õpetusi Raspberry Pi ja PIR seadistamiseks, ma järgisin seda: https://www.instructables.com/id/PIR-Sensor-Interfacing-With-Raspberry-Pi/. Põhimõtteliselt looge fail nanoredaktori abil (näiteks motion_sensor.py) ja tippige sinna sobiv Pythoni kood. Allpool on minu faili näide:
RPi. GPIO importimine GPIO -ks impordi aegimport sysimporti alamprotsessiimporteeri kuupäeva kui dtimport osGPIO.setwarnings (vale) # GPIO.setmode (GPIO. BOARD) GPIO.setmode (GPIO. BCM) GPIO.setup (17, GPIO. IN) #PIRturned_off = False time.time () SHUTOFF_DELAY = 180 # secondswhile Tõsi: i = GPIO.input (17), kui i == 0: # Kui liikumisanduri väljund on LOW, lülitage monitor välja, kui ei ole välja lülitatud ja time.time ()> (last_motion_time + SHUTOFF_DELAY): printige "Ei sissetungijaid", iturned_off = Truetime.sleep (1) alamprotsess. Call (['/home/pi/monitor_off.sh'], shell = True) elif i == 1: #Kui liikumisandurilt väljastatakse on HIGH, lülitage monitor ONprint "Sissetungija tuvastatud", itime.sleep (1) last_motion_time = time.time () sys.stdout.flush () kui turn_off ja dt.datetime.now (). tund> 5 ja dt.datetime. now (). tund <23: Turn_off = Falsesubprocess.call (['/home/pi/monitor_on.sh'], shell = True) kui _name_ == '_main _': try: main () välja arvatud KeyboardInterrupt: GPIO.cleanup ()
Pange tähele, et „GPIO.setup (17, GPIO. IN)“näitab, et PIR -i väljundnõel on ühendatud Raspberry Pi pistikuga 17. Milline tihvt see on, sõltub sellest, kas määratlete GPIO.setmode (GPIO. BOARD) või GPIO.setmode (GPIO. BCM). Erinevust selgitatakse siin: https://raspberrypi.stackexchange.com/questions/12966/what-is-the-difference-between-board-and-bcm-for-gpio-pin-numbering. Mul on GPIO. BOARD ees #, nii et seda eiratakse ja kasutatakse GPIO. BCM -i.
Pange tähele joont
SHUTOFF_DELAY = 180 #sekundit
Siin on öeldud, kui kaua on monitor pärast viimase liikumise tuvastamist sisse lülitatud, enne kui see välja lülitatakse. See on kasulik, sest ma ei taha, et monitor minust mööda kõndides pidevalt välja/välja lülituks, kuid soovin, et see oleks mõnda aega enne väljalülitamist sisse lülitatud. Olen valinud intervalli 180 sekundit, nii et monitor lülitub välja umbes 3 minutit pärast viimase liikumise tuvastamist.
Lõpuks see rida
kui lülitatud_ välja ja dt.datetime.now (). tund> 6 ja dt.datetime.now (). tund <23:
teatab, et monitor lülitub sisse ainult kella 6.00–23.00, seega ei häiri see mind öösel. Liinid
trükk "Ei mingeid sissetungijaid", st
ja
print "Sissetungija tuvastatud", st
on mõeldud ainult skripti testimiseks, saate need hiljem kustutada, kui see töötab. Nüüd testige skripti:
sudo python motion_sensor.py
Kui lehvitate anduri kohal, peaksite nägema sõnumeid „Sissetungija tuvastatud”, vastasel juhul kuvatakse teade „Sissetungijaid pole”. Kui seda skripti testitakse ja see töötab, määrake see käivitamiseks alglaadimisel:
sudo nano ~/.config/lxsession/LXDE-pi/autostart
ja lisage järgmine rida
@sudo/usr/bin/python /home/pi/motion_sensor.py
Loomulikult peate määrama loodud Pythoni skripti õige failinime.
Samm: riputage kalender üles
Kui kõik on valmis, on aeg kalender seinale riputada!
Algselt mõtlesin Raspberry Pi peita LCD -ekraani taha, et oleks vaja ainult ühte kaablit (alalisvoolu toide). Aga kuna Vaarikas töötab 5V ja LCD -ekraan 12V, oleks mul vaja lisatrafot. Samuti on Raspberry ümbris üsna paks, mis tähendab, et LCD oleks seinast umbes 3 sentimeetri kaugusel. Nii et ma loobusin sellest ja jätsin LCD -elektroonika alles LCD -ekraani taha, nii et see on nüüd seinast vähem kui 1 sentimeetri kaugusel. Ostsin kaks 5 meetri pikkust kaablit, ühe HDMI ja ühe 5,5 mm alalisvoolu toiteallika. Mõlemad kaablid on valged nagu sein, mis tähendab, et need ei paista eriti silma. Paigaldasin LCD -ekraani seinale ja panin vaarika külmkapi peale vastasseinale, nii et see on põhimõtteliselt peidetud, kuid siiski kergesti ligipääsetav.
Soovitan:
Nutikas vöö: 18 sammu
Nutikas vöö: mõne vidina kandmine on väga keeruline. Ausalt, selles projektis sain ema käest õmblemiseks abi, sest ma ei oska ise õmmelda. Olge õmblusmasinaga õmblemisel ettevaatlik. Kui teil pole kunagi õmblusmasinaga õmblemist kogenud, on see ka
Nutikas kodu Raspberry Pi poolt: 5 sammu (piltidega)
Nutikas kodu Raspberry Pi poolt: Seal on juba mitu toodet, mis muudavad teie korteri nutikamaks, kuid enamik neist on patenteeritud lahendused. Aga miks on vaja nutitelefoniga valguse vahetamiseks Interneti -ühendust? See oli üks põhjus, miks ma oma Smar'i üles ehitasin
Nutikas äratuskell: nutikas äratuskell, mis on valmistatud Raspberry Pi -ga: 10 sammu (koos piltidega)
Nutikas äratuskell: nutikas äratuskell, mis on valmistatud Raspberry Pi -ga: kas olete kunagi tahtnud nutikat kella? Kui jah, siis see on teie jaoks lahendus! Ma tegin nutika äratuskella, see on kell, mille abil saate äratusaega vastavalt veebisaidile muuta. Kui äratus hakkab tööle, kostab heli (sumin) ja 2 tuld
IoT -põhine nutikas aiandus ja nutikas põllumajandus, kasutades ESP32: 7 sammu
IoT -põhine nutikas aiandus ja nutikas põllumajandus, kasutades ESP32: maailm muutub ajaga ja nii ka põllumajandus. Tänapäeval integreerivad inimesed elektroonikat igas valdkonnas ja põllumajandus pole sellest erand. See elektroonika ühendamine põllumajanduses aitab põllumehi ja aedu haldavaid inimesi. Selles
Digitaalne seinakalender ja kodu teabekeskus: 24 sammu (piltidega)
Digitaalne seinakalender ja kodu infokeskus: selles juhendis lülitan vana lameekraanteleri sisse puitraamiga digitaalse seinale paigaldatava kalendri ja kodu teabekeskusesse, mida toidab Raspberry Pi. Eesmärk oli lühidalt juurdepääs asjakohast teavet kõigile selle liikmetele