Orodha ya maudhui:

Kalenda ya Ukuta mahiri: Hatua 5
Kalenda ya Ukuta mahiri: Hatua 5

Video: Kalenda ya Ukuta mahiri: Hatua 5

Video: Kalenda ya Ukuta mahiri: Hatua 5
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Novemba
Anonim
Kalenda ya Ukuta mahiri
Kalenda ya Ukuta mahiri

Mke wangu na mimi tulikuwa na kalenda ya kawaida ya ukuta wa karatasi, ambayo tuliashiria tarehe muhimu. Tunatumia pia kalenda ya Google kwenye simu zetu mahiri kwa kuashiria hafla, kwa hivyo hii ilimaanisha kufanya kazi mara mbili. Kwa hivyo niliamua kujenga aina fulani ya kalenda ya ukuta mzuri, ambayo itaonyesha vikumbusho vyetu, hafla na data zingine. Kwa kuwa nina sehemu kadhaa za zamani za elektroniki zilizolala, lengo langu lilikuwa kuzitumia tena iwezekanavyo na kujenga kalenda na gharama kidogo iwezekanavyo.

Katika mafunzo haya nitakuonyesha, jinsi ya kujenga kalenda nzuri ya ukuta, kuonyesha hafla kutoka akaunti kadhaa za Google. Pia itaonyesha wakati, tarehe, hali ya hewa, joto na habari zingine za ziada. Itatumiwa na kompyuta ya Raspberry Pi na sensorer ya mwendo ya Passive Infrared Sensor (PIR) iliyoshikamana nayo, ili onyesho liwashwe, wakati mwendo unapogunduliwa ndani ya chumba, lakini huzima baada ya dakika chache kutokuwa na shughuli. Mafunzo haya yanategemea mafunzo mengine kadhaa ambayo nimepata kwenye mtandao na nitatoa viungo kwao kwa uelewa mzuri. Maarifa mengine ya msingi ya programu yanahitajika (HTML, Python,…).

Hatua ya 1: Vifaa

Kama nilivyosema hapo awali, nilijaribu kutumia tena sehemu nyingi za zamani za elektroniki ili kupunguza gharama. Walakini vitu vingine nililazimika kununua, kwa hivyo nitaorodhesha yote ambayo ni muhimu kwa ujenzi.

- Kitambaa cha Raspberry Pi. Hapo awali nilitumia mfano wangu wa zamani 2 kutoka kwa mradi mwingine. Ilifanya kazi, lakini uhariri wa ukurasa wa wavuti na upakiaji upya ulinichukua muda mwingi, kwa hivyo mwishowe nikabadilishwa kuwa mfano wa 3, ambayo inafanya kazi vizuri zaidi https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313 & _nkw = rasipiberi + pi + kit & _sacat = 0

- Skrini ya LCD. Nilitumia skrini kutoka kwa kompyuta yangu ya zamani, kwa hivyo nilihitaji kununua bodi ya dereva ya LVDS na usambazaji wa umeme https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=hdmi+ dereva + LVDS + bodi & _sacat = 0

- Sanduku la kuhifadhi plastiki kwa vifaa vya elektroniki

- Sensor ya mwendo wa infrared infrared

- sensorer ya joto / unyevu wa AM2302

- Binder nyeusi ya plastiki iliyowekwa kwenye fremu ya LCD

- Kamba anuwai (HDMI, 5.5mm kwa nguvu ya DC, nyaya za jumper za ubao wa mkate,…)

Hatua ya 2: Kuunda Uonyesho wa LCD

Kuunda Uonyesho wa LCD
Kuunda Uonyesho wa LCD
Kuunda Uonyesho wa LCD
Kuunda Uonyesho wa LCD
Kuunda Uonyesho wa LCD
Kuunda Uonyesho wa LCD

Nilitumia skrini ya LCD kutoka kwa kompyuta yangu ya zamani ya zamani. Kuna mafunzo kadhaa juu ya jinsi ya kufanya hivyo, nilifuata hii:

www.instructables.com/id/How-to-reuse-the-old-LCD-Screen-of-your-broken-Lap/

Nilifunua kifuniko cha kompyuta yangu ya zamani, nikatoa onyesho la LCD kisha nikaamuru bodi sahihi ya dereva wa LVDS. Nilimpa muuzaji nambari ya bidhaa, ambayo inaweza kupatikana upande wa nyuma wa LCD, kwa upande wangu ni LP171WE3 (TL) (A2) - angalia lebo ya chini kulia kwenye picha ya mwisho, kisha akanitumia LVDS inayofaa. Tafadhali kumbuka, utahitaji pia usambazaji wa umeme kwa onyesho, kwa hivyo uliza muuzaji atume pia. Nilinunua pia sanduku nzuri la plastiki la 14.5 × 7.5 × 2cm ili kutoshea bodi ya dereva vizuri na kuiunganisha upande wa nyuma wa LCD.

Sasa onyesho la LCD lina sura ya metali, ambayo haionekani kuwa nzuri. Hapo awali nilinyunyizia rangi nyeusi, lakini rangi hiyo ilianza kung'olewa. Kwa hivyo nilichukua viboreshaji vinne vya plastiki vyenye nyeusi, ambavyo kawaida hutumiwa kwa karatasi za kujifunga, nikazipunguza ipasavyo na kuziambatanisha kufunika fremu. Hii ilionekana vizuri, kwa hivyo niliunganisha nyaya zote, nikachomeka HDMI kwa Raspberry Pi yangu ya zamani na Voila - ilifanya kazi! Kulikuwa na picha inayoonyesha kwenye onyesho, kwa hivyo nilikuwa tayari kuendelea na hatua inayofuata - ni habari gani ya kuonyesha kwenye onyesho na jinsi ya kuionyesha.

Hatua ya 3: Kuweka Programu

Wakati nilikuwa nikitafuta wavuti kwa vidokezo kadhaa, jinsi ya kuunda kalenda, niliongozwa na ukurasa huu https://dakboard.com/site. Wanatoa bidhaa iliyomalizika (onyesho, kompyuta na programu inayofanya kazi), lakini pia wana mafunzo bora ya suluhisho la DIY (https://blog.dakboard.com/diy-wall-display/). Ninakupendekeza ufuate mafunzo haya, angalau kwa sehemu ya kwanza na maagizo juu ya kuandaa na kuweka mfumo kwenye Raspberry, ili kivinjari kipakie kiotomatiki ukurasa wa wavuti unaotakiwa kwenye buti.

Hii ilifanya kazi vizuri, hata hivyo nilikuwa nikitafuta suluhisho, ambalo linaweza kubadilishwa zaidi kulingana na matakwa yangu. Nimeamua kuanzisha seva yangu ya wavuti na kuunda ukurasa wa wavuti, ambao utaonyesha habari ya ziada kando na kalenda. Nimechagua Wordpress.org, kwa kuwa imeandikwa vizuri na ina msaada mzuri na jamii kubwa kukusaidia. Hapa kuna mafunzo juu ya jinsi ya kusanikisha Wordpress kwenye Raspberry Pi: https://projects.raspberrypi.org/en/projects/lamp-web-server-with-wordpress. Na Wordpress imewekwa, ilikuwa wakati wa kubuni ukurasa wangu wa kwanza. Unaweza kutumia moja wapo ya mandhari yaliyotolewa, au muundo kutoka mwanzo. Kwa hivyo, maarifa mengine ya programu ya HTML yanahitajika kwa hii.

Nimebuni ukurasa wangu, ili upande wa kushoto kalenda ionyeshwe (https://sl.wordpress.org/plugins/google-calendar-events/), wakati upande wa kulia na tarehe zinaonyeshwa: //www.timeanddate.com/clocks/free.html na https://www.arclab.com/en/kb/htmlcss/display-date-time-javascript-php-ssi.html). Utabiri wa hali ya hewa unatoka kwenye ukurasa huu (https://www.1a-vreme.si/vremensko-okno/), ambayo hutoa wijeti ya utabiri kwa miji ya Kislovenia, lakini nadhani vilivyoandikwa kwa nchi zingine vingeweza kupatikana pia kwenye wavuti. Joto hukusanywa kwa kutumia sensa ya AM2302 (https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=AM2302+&_sacat=0), kama ilivyoelezwa mwishoni mwa sura hii. Chini ni saa rahisi ya kuhesabu siku, ambayo inaonyesha siku ngapi zimebaki kwa hafla fulani (ya kufurahisha kwa watoto wangu kujua, ni siku ngapi watasubiri kitu). Katika makali ya juu kulia ni programu-jalizi ya MetaSlider (https://wordpress.org/plugins/ml-slider/), ambayo hutiririka bila mpangilio kwa picha zilizochaguliwa za familia yangu. Kwa kuongezea nimetumia programu-jalizi ya Slider ya Asili (https://sl.wordpress.org/plugins/background-slider-master/) kunionyeshea picha ya nasibu ya msingi mzuri.

Kama ilivyoelezwa hapo awali, joto la ndani hukusanywa kwa kutumia sensa ya AM2302. Kuna mafunzo mengi juu ya jinsi ya kupata joto, nilifuata hii: https://www.modmypi.com/blog/am2302-temphumidity-sensor. Baadaye nilihamishia kihisi hiki kwa Raspberry Pi nyingine na Msaidizi wa Nyumbani akiiendesha, kwa sababu ni rahisi kusoma na kuchapisha maadili ukitumia sehemu yake ya Sense ya DHT (https://www.home-assistant.io/components/sensor.dht/). Msaidizi wa Nyumbani anaweza pia kukusanya joto la nje akitumia vifaa anuwai vya hali ya hewa, nilitumia sehemu ya YR.no (https://www.home-assistant.io/components/sensor.yr/). Pamoja na hayo, niliandika maandishi ya kiotomatiki kukusanya joto la ndani / nje kutoka kwa vifaa hivi na kuyaandika kwa faili ya maandishi, ambayo huonyeshwa kwenye kalenda yangu ya ukuta. Kwa habari zaidi juu ya Msaidizi wa Nyumbani, tazama ukurasa wa kwanza (https://www.home-assistant.io/).

Hatua ya 4: Hiari - Kuzima Onyesho

Sasa tuna kalenda yetu imewekwa na kuendeshwa, kwa njia tu tunayoipenda. Lakini hatutaki onyesho liwashwe tarehe 24/7. Tunataka tu iwe juu, wakati mtu yuko nyumbani. Pia hatutaki kuwashwa katikati ya usiku, tunapoenda chooni, ni mkali sana! Kwa hivyo tutaambatisha sensa ya infrared kugundua, wakati mtu amesimama mbele yake, na ongeza mipaka ya wakati, wakati inapaswa kuwasha.

Tafadhali kumbuka kuwa ustadi wangu wa programu ni mdogo, kwa hivyo zifuatazo hazingeweza kuwa sawa, kwani nimeichukua kutoka kwa vikao anuwai vya mkondoni na mafunzo, lakini kimsingi inafanya kazi. Bado, mapendekezo yoyote bado yanakaribishwa. Kwanza tutaanza na jaribio la kuwasha / kuzima kufuatilia kwa mikono. Kwa hilo, tutaunda faili mbili (kwa mfano monitor_on.sh na monitor_off.sh) na tuandike nambari kadhaa ndani yake. Njia rahisi ya kufanya hivyo ni kuingia kwenye Raspberry yako ukitumia SSH na andika

sudo nano monitor_on.sh

na andika nambari ifuatayo

huduma ya tv - inayopendelewa;

startx / usr / bin / graphical_launcher `fgconsole`

Bonyeza CTRL + X ili kuhifadhi na kutoka, kisha uunda faili ya pili

sudo nano monitor_off.sh

na andika nambari ifuatayo

huduma ya tv --off;

Tena, bonyeza CTRL + X ili kuhifadhi na kutoka. Fanya faili hizi mpya ziweze kutekelezwa:

sudo chmod + x monitor_on.sh

sudo chmod + x monitor_off.sh

Sasa kujaribu ikiwa amri hizi zinafanya kazi, andika

sudo./monitor_off.sh

sudo./monitor_on.sh

Mfuatiliaji sasa anapaswa kuzima na kuendelea ipasavyo. Nimeona kuwa kwenye Raspberry Pi 2 ilichukua karibu sekunde 10 kwa mfuatiliaji kuwasha. Kwenye Raspberry Pi 3 inachukua sekunde 1-2. Ifuatayo tutaunganisha sensa ya infrared, ambayo itasababisha maandishi haya. Tena, kuna mafunzo mengi jinsi ya kuanzisha Raspberry Pi na PIR, nilifuata hii: https://www.instructables.com/id/PIR-Sensor-Interfacing-With-Raspberry-Pi/. Kimsingi, tengeneza faili kwa kutumia nano mhariri (kwa mfano motion_sensor.py) na andika nambari inayofaa ya Python ndani yake. Chini ni mfano wa faili yangu:

ingiza RPi. time.time () SHUTOFF_DELAY = 180 # sekunde wakati Ukweli: i = GPIO.input (17) ikiwa i == 0: #Wakati pato kutoka kwa sensorer ya mwendo LOW, zima kufuatilia ikiwa haikugeuka_off na time.time ()> (mwisho_motion_time + SHUTOFF_DELAY): chapisha "Hakuna waingiliaji", iturned_off = Truetime.sleep (1) subprocess.call (['/ home / pi / monitor_off.sh'], shell = True) elif i == 1: #Wakati pato kutoka kwa sensorer ya mwendo ni JUU, zunguka kufuatilia ONprint "Mwingilizi amegunduliwa", itime.sleep (1) last_motion_time = time.time () sys.stdout.flush () ikiwa Turn_off na dt.datetime.now (). saa> 5 na dt.datetime. saa [23. ()

Kumbuka kuwa "GPIO.setup (17, GPIO. IN)" inaonyesha kwamba pini ya pato kutoka kwa PIR imeunganishwa na kubandika 17 kwenye Raspberry Pi. Je! Ni siri ipi ambayo inategemea ikiwa unafafanua GPIO.setmode (GPIO. BOARD) au GPIO.setmode (GPIO. BCM). Tofauti imeelezewa hapa: https://raspberrypi.stackexchange.com/questions/12966/what-is-the-iffiff-between-board-and-bcm-for-gpio-pin-number. Nina # mbele ya GPIO. BOARD, kwa hivyo imepuuzwa na GPIO. BCM inatumiwa.

Angalia mstari

SHUTOFF_DELAY = 180 #sekunde

Hapa imeelezwa, mfuatiliaji umewashwa kwa muda gani tangu mwendo wa mwisho kugunduliwa, kabla ya kuzimwa. Hii ni muhimu kwa sababu sitaki mfuatiliaji kuzima / kuwasha kila wakati ninapotembea nayo, lakini nataka kuiwasha kwa muda, kabla haijazima. Nimechagua muda wa sekunde 180, ili mfuatiliaji azime kama dakika 3 baada ya mwendo wa mwisho kugunduliwa.

Mwishowe, mstari huu

ikiwa Turn_off na dt.datetime.now (). saa> 6 na dt.datetime.now (). saa <23:

inasema kwamba mfuatiliaji anageuka tu kati ya 6:00 na 23:00, kwa hivyo hainisumbuki wakati wa usiku. Mistari

chapa "Hakuna waingiliaji", i

na

chapa "Mwingilizi amegunduliwa", i

ni ya kujaribu hati tu, unaweza kuifuta baadaye, wakati utaifanya ifanye kazi. Sasa jaribu hati:

sudo python motion_sensor.py

Unapaswa kuona ujumbe "Mwingilizi amegunduliwa", ikiwa unapepea juu ya sensa, vinginevyo itakuwa "Hakuna waingiliaji". Wakati hati hii inajaribiwa na inafanya kazi, iweke kuanza kwa boot:

Sudo nano ~ /.config / lxsession / LXDE-pi / autostart

na ongeza laini ifuatayo

@sudo / usr / bin / chatu / nyumba/pi/motion_sensor.py

Kwa kweli lazima utaja jina sahihi la faili ya hati ya Python uliyounda.

Hatua ya 5: Tundika Kalenda

Pamoja na yote yaliyowekwa, ni wakati wa kutundika kalenda ukutani!

Hapo awali nilikuwa nikifikiria kuficha Raspberry Pi nyuma ya onyesho la LCD, ili cable moja tu (nguvu ya DC) itahitajika. Lakini kwa kuwa Raspberry inaendesha 5V na onyesho la LCD linaendesha 12V, ningehitaji badiliko la ziada. Pia, kesi ya Raspberry ni nene, ambayo inamaanisha LCD ingewekwa kati ya sentimita 3 kutoka ukuta. Kwa hivyo niliacha hii na kushoto tu elektroniki za LCD nyuma ya LCD, hivi kwamba iko chini ya sentimita 1 mbali na ukuta. Nilipata nyaya mbili za urefu wa mita 5, HDMI moja na moja 5, 5mm kwa usambazaji wa umeme wa DC. Kamba zote mbili ni nyeupe, kama ukuta, ambayo inamaanisha hazionekani sana. Nimeweka LCD ukutani na kuweka Raspberry juu ya jokofu kwenye ukuta ulio kinyume, kwa hivyo imefichwa kimsingi, lakini bado inapatikana kwa urahisi.

Ilipendekeza: