INHOUDSOPGAWE:
- Stap 1: Die hardeware
- Stap 2: Skep die LCD -skerm
- Stap 3: Die opstel van die sagteware
- Stap 4: opsioneel - die skerm uitskakel
- Stap 5: Hang die kalender op
Video: Slim muurkalender: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Ek en my vrou het 'n klassieke papiermuurkalender gehad waarop ons belangrike datums gemerk het. Ons gebruik ook die Google -kalender op ons slimfone om geleenthede te merk, dus dit beteken dubbele werk. Daarom het ek besluit om 'n soort slim muurkalender te bou wat ons herinneringe, gebeure en ander data sal vertoon. Aangesien ek verskillende ou elektroniese onderdele rondlê, was my doel om dit soveel as moontlik te hergebruik en die kalender met so min moontlik koste op te stel.
In hierdie tutoriaal sal ek u wys hoe u 'n slim muurkalender kan opstel, met gebeurtenisse uit verskillende Google -rekeninge. Dit sal ook tyd, datum, weer, temperatuur en 'n paar ekstra inligting vertoon. Dit word aangedryf deur 'n Raspberry Pi -rekenaar met 'n Passive Infrared Sensor (PIR) bewegingsensor daaraan, sodat die skerm aanskakel wanneer beweging in die kamer waargeneem word, maar na 'n paar minute se onaktiwiteit uitskakel. Hierdie handleiding is gebaseer op verskeie ander tutoriale wat ek op die internet gevind het, en ek sal die skakels na hulle gee vir 'n beter begrip. 'N Paar basiese kennis van programmering is nodig (HTML, Python, …).
Stap 1: Die hardeware
Soos voorheen genoem, het ek probeer om soveel ou elektroniese onderdele te hergebruik om die koste laag te hou. Sommige items moes ek egter koop, so ek sal 'n lys maak van alles wat nodig is vir die konstruksie.
- 'n Framboos Pi -stel. Aanvanklik het ek my ou model 2 van 'n ander projek gebruik. Dit het gewerk, maar die redigering en herlaai van die webbladsy het my baie tyd geneem, en ek het uiteindelik oorgeskakel na model 3, wat vlotter werk https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313 & _nkw = framboos+pi+kit & _sacat = 0
- LCD skerm. Ek het die skerm vanaf my ou skootrekenaar gebruik, en ek hoef net LVDS -bestuurdersbord daarvoor en die kragtoevoer te koop https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=hdmi+ bestuurder+LVDS+bord en _sacat = 0
-Plastiek opbergkas vir elektronika
- Passiewe infrarooi bewegingsensor
- AM2302 temperatuur-/humiditeitsensor
- Swart plastiek-insluitbinder vir LCD-raam
- Verskeie kabels (HDMI, 5,5 mm vir DC -krag, soldeerlose broodbordkabels, …)
Stap 2: Skep die LCD -skerm
Ek het die LCD -skerm van my ou verouderde skootrekenaar gebruik. Daar is verskeie tutoriale oor hoe om dit te doen; ek het hierdie gevolg:
www.instructables.com/id/How-to-reuse-the-old-LCD-Screen-of-your-broken-Lap/
Ek het die omslag van my ou skootrekenaar afgehaal, die LCD -skerm uitgehaal en toe die regte LVDS -bestuurdersbord bestel. Ek het die produkkode aan die verkoper verskaf, wat aan die agterkant van die LCD gevind kan word, in my geval is dit LP171WE3 (TL) (A2) - sien die etiket regs onder op die laaste foto, en dan stuur hy vir my die toepaslike LVDS. Let wel: u benodig ook die kragtoevoer vir die skerm, so vra die verkoper om dit ook te stuur. Ek het ook 'n mooi plastiekboks van 14,5 x 7,5 x 2 cm gekoop om die bestuurbord mooi te pas en aan die agterkant van die LCD vas te maak.
Nou het die LCD -skerm 'n metaalraam, wat nie mooi lyk nie. Ek het dit aanvanklik in swart gespuit, maar die verf het begin afskil. Ek het dus vier swart plastiek-insluitbande geneem, wat gewoonlik gebruik word om velle papier vas te bind, en dit dienooreenkomstig afgewerk en dit vasgemaak om die raam te bedek. Dit lyk goed, so ek het al die kabels gekoppel, HDMI aangesluit op my ou Raspberry Pi en Voila - dit het gewerk! Daar was 'n prentjie op die skerm, so ek was gereed om verder te gaan - watter inligting om op die skerm te wys en hoe om dit te wys.
Stap 3: Die opstel van die sagteware
Toe ek op die internet soek na 'n paar leidrade oor hoe om 'n kalender te bou, is ek geïnspireer deur hierdie bladsy https://dakboard.com/site. Hulle bied die finale produk (die skerm, rekenaar en werkende sagteware), maar hulle het ook 'n uitstekende handleiding vir selfdoenoplossings (https://blog.dakboard.com/diy-wall-display/). Ek beveel u aan om hierdie tutoriaal te volg, ten minste vir die eerste deel, met die instruksies oor die voorbereiding en opstel van die stelsel op Framboos, sodat die blaaier die gewenste webblad outomaties laai tydens opstart.
Dit het goed gewerk, maar ek was op soek na 'n oplossing wat volgens my wense meer aangepas kon word. Ek het besluit om my eie webbediener op te stel en 'n webblad te skep wat addisionele inligting behalwe die kalender bevat. Ek het Wordpress.org gekies, aangesien dit goed gedokumenteer is en goeie ondersteuning het en 'n groot gemeenskap om u te help. Hier is die handleiding oor hoe u Wordpress op Raspberry Pi kan installeer: https://projects.raspberrypi.org/en/projects/lamp-web-server-with-wordpress. Met Wordpress geïnstalleer, was dit tyd om my tuisblad te ontwerp. U kan een van die vele temas gebruik, of van nuuts af ontwerp. In elk geval, hiervoor is 'n bietjie kennis van HTML -programmering nodig.
Ek het my bladsy ontwerp sodat die kalender aan die linkerkant verskyn (https://sl.wordpress.org/plugins/google-calendar-events/), terwyl die tyd en datum aan die regterkant verskyn (https://www.timeanddate.com/clocks/free.html en https://www.arclab.com/en/kb/htmlcss/display-date-time-javascript-php-ssi.html). Weervoorspelling is van hierdie bladsy (https://www.1a-vreme.si/vremensko-okno/), wat die weervoorspelling vir Sloweense stede bied, maar ek dink widgets vir ander lande kan ook op die internet gevind word. Die temperatuur word versamel met die AM2302 -sensor (https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=AM2302+&_sacat=0), soos aan die einde van hierdie hoofstuk verduidelik. Aan die onderkant is 'n eenvoudige daaglikse afteller wat aandui hoeveel dae daar nog 'n gebeurtenis is (interessant vir my kinders om te weet, hoeveel dae moet hulle op iets wag). In die regter boonste rand is die MetaSlider-inprop (https://wordpress.org/plugins/ml-slider/), wat ewekansig na geselekteerde foto's van my gesin gly. Verder het ek die agtergrond-skuif-inprop (https://sl.wordpress.org/plugins/background-slider-master/) gebruik om 'n ewekansige prentjie vir 'n mooier agtergrond te wys.
Soos voorheen genoem, word die binnetemperatuur ingesamel met behulp van die AM2302 -sensor. Daar is baie tutoriale oor hoe om temperatuur te kry, ek het hierdie gevolg: https://www.modmypi.com/blog/am2302-temphumidity-sensor. Later het ek hierdie sensor na 'n ander Raspberry Pi verskuif met Home Assistant daarop, omdat dit makliker is om waardes te lees en te publiseer met die DHT Sensor-komponent (https://www.home-assistant.io/components/sensor.dht/). Home Assistant kan ook buitentemperatuur versamel met behulp van verskillende weerkomponente. Ek het YR.no-komponent gebruik (https://www.home-assistant.io/components/sensor.yr/). Daarmee het ek 'n outomatiseringsskrif geskryf om binne/buite temperatuur van hierdie komponente te versamel en dit na 'n tekslêer te skryf, wat dan op my muurkalender verskyn. Vir meer inligting oor Home Assistant, sien die tuisblad (https://www.home-assistant.io/).
Stap 4: opsioneel - die skerm uitskakel
Nou het ons ons kalender opgestel, net soos ons daarvan hou. Maar ons wil nie hê dat die skerm 24/7 aangeskakel moet word nie. Ons wil dit net aanskakel as iemand tuis is. Ons wil ook nie hê dat dit in die middel van die nag aangeskakel moet word nie, as ons toilet toe gaan, is dit te helder! Ons sal dus 'n infrarooi sensor aanheg om op te let wanneer iemand voor hom staan en 'n paar tydsbeperkings byvoeg wanneer dit moet aanskakel.
Let daarop dat my programmeringsvaardighede taamlik beperk is, sodat die volgende nie optimaal kan wees nie, aangesien ek dit uit verskillende aanlynforums en tutoriale gekies het, maar dit werk in wese. Tog word enige aanbeveling steeds verwelkom. Eerstens begin ons met die toets om die monitor met die hand aan/uit te skakel. Hiervoor skep ons twee lêers (byvoorbeeld monitor_on.sh en monitor_off.sh) en skryf ons 'n kode daarin. Die maklikste manier om dit te doen is om aan te meld by u Framboos met SSH en tik
sudo nano monitor_on.sh
en tik die volgende kode in
tvservice -voorkeur;
startx/usr/bin/graphical_launcher `fgconsole`
Druk CTRL+X om te stoor en af te sluit, en skep dan die tweede lêer
sudo nano monitor_off.sh
en tik die volgende kode in
tvservice -af;
Druk weer CTRL+X om op te slaan en te verlaat. Maak hierdie nuutgeskepte lêers uitvoerbaar:
sudo chmod +x monitor_on.sh
sudo chmod +x monitor_off.sh
Om te probeer of hierdie opdragte werk, tik
sudo./monitor_off.sh
sudo./monitor_on.sh
Die monitor moet nou aan- en uitskakel. Ek het opgemerk dat die monitor op Raspberry Pi 2 amper 10 sekondes geneem het. Op Raspberry Pi 3 neem dit 1-2 sekondes. Vervolgens koppel ons 'n infrarooi sensor wat hierdie skrifte sal aktiveer. Weereens, daar is baie tutoriale oor hoe om Raspberry Pi en PIR op te stel; ek het hierdie een gevolg: https://www.instructables.com/id/PIR-Sensor-Interfacing-With-Raspberry-Pi/. Skep basies 'n lêer met behulp van nano -redakteur (byvoorbeeld motion_sensor.py) en tik die toepaslike Python -kode daarin. Hieronder is die voorbeeld van my lêer:
voer RPi. GPIO in as GPIOimporteer tydsimport sysimport subprosesimport datetime as dtimport osGPIO.setwarnings (Onwaar) # GPIO.setmode (GPIO. BOARD) GPIO.setmode (GPIO. BCM) GPIO.setup (17, GPIO. IN) #PIRturned_off =_alsast_ time.time () SHUTOFF_DELAY = 180 # sek. SHUTOFF_DELAY): druk "Geen indringers", iturned_off = Truetime.sleep (1) subprocess.call (['/home/pi/monitor_off.sh'], shell = True) elif i == 1: #Wanneer uitset van bewegingsensor is HOOG, skakel die monitor aan Afdruk "indringer opgespoor", itime.sleep (1) last_motion_time = time.time () sys.stdout.flush () as off_ en dt.datetime.now (). uur> 5 en dt.datetime. nou (). uur <23: turn_off = Falsesubprocess.call (['/home/pi/monitor_on.sh'], shell = True) as _name_ == '_main _': try: main () behalwe KeyboardInterrupt: GPIO.cleanup ()
Let daarop dat "GPIO.setup (17, GPIO. IN)" aandui dat die uitvoerpen van PIR gekoppel is aan pen 17 op Raspberry Pi. Watter pen dit hang, hang af of u GPIO.setmode (GPIO. BOARD) of GPIO.setmode (GPIO. BCM) definieer. Die verskil word hier verduidelik: https://raspberrypi.stackexchange.com/questions/12966/what-is-the-difference-between-board-and-bcm-for-gpio-pin-numbering. Ek het # voor GPIO. BOARD, so dit word geïgnoreer en GPIO. BCM word gebruik.
Let op die lyn
SHUTOFF_DELAY = 180 #sekondes
Hier word gesê hoe lank die monitor aangeskakel is sedert die laaste beweging opgespoor is, voordat dit afgeskakel word. Dit is handig omdat ek nie wil hê dat die monitor voortdurend moet aan/uitskakel as ek daar verbyloop nie, maar ek wil dit 'n geruime tyd aanhou voordat dit af is. Ek het die interval van 180 sekondes gekies, sodat die monitor ongeveer 3 minute nadat die laaste beweging opgespoor is, afgeskakel word.
Ten slotte, hierdie reël
as draai_af en dt.datetime.now (). uur> 6 en dt.datetime.now (). uur <23:
sê dat die monitor slegs tussen 6:00 en 23:00 aanskakel, sodat dit my nie in die nag steur nie. Die lyne
druk "Geen indringers", i
en
druk "indringer opgespoor", i
is slegs vir die toets van die script, u kan dit later uitvee as u dit laat werk. Toets nou die skrif:
sudo python motion_sensor.py
U moet die boodskappe "Indringer opgespoor" sien, as u bo die sensor waai, anders is dit "Geen indringers" nie. As hierdie script getoets en werk, stel dit in om by opstart te begin:
sudo nano ~/.config/lxsession/LXDE-pi/autostart
en voeg die volgende reël by
@sudo/usr/bin/python /home/pi/motion_sensor.py
U moet natuurlik die korrekte lêernaam van die Python -script wat u geskep het, spesifiseer.
Stap 5: Hang die kalender op
Met alles gereed, is dit tyd om die kalender aan die muur te hang!
Aanvanklik het ek daaraan gedink om Raspberry Pi agter die LCD -skerm te verberg, sodat slegs een kabel (DC -krag) nodig sou wees. Maar aangesien Framboos op 5V werk en die LCD -skerm op 12V werk, benodig ek 'n ekstra transformator. Die framboos -omhulsel is ook taamlik dik, wat beteken dat die LCD ongeveer 3 sentimeter van die muur af geleë is. Dus het ek dit laat vaar en net LCD -elektronika agter die LCD gelaat, sodat dit nou minder as 1 sentimeter van die muur af is. Ek het twee 5 meter lange kabels aangeskaf, een HDMI en een 5, 5 mm vir DC -kragtoevoer. Albei kabels is wit, soos die muur, wat beteken dat hulle nie veel uitstaan nie. Ek het die LCD op die muur aangebring en Framboos bo -op die yskas teenoor die muur, sodat dit basies verborge is, maar tog maklik toeganklik is.
Aanbeveel:
Slim lessenaar LED -lig - Slim beligting met Arduino - Neopixels -werkruimte: 10 stappe (met foto's)
Slim lessenaar LED -lig | Slim beligting met Arduino | Neopixels Workspace: Ons spandeer deesdae baie tyd tuis, studeer en werk virtueel, so waarom nie ons werkruimte groter maak met 'n pasgemaakte en slim beligtingstelsel Arduino en Ws2812b LED's nie. Hier wys ek u hoe u u Smart bou LED -lessenaar op die tafel wat
IoT -gebaseerde slim tuinmaak en slim landbou met behulp van ESP32: 7 stappe
IoT -gebaseerde slim tuinmaak en slim landbou Met behulp van ESP32: Wêreld verander soos die tyd en so landbou. Tans integreer mense elektronika op elke gebied en die landbou is geen uitsondering hierop nie. Hierdie samesmelting van elektronika in die landbou help boere en mense wat tuine bestuur
Beveilig u slim huis slim: 14 stappe
Beveilig u slim huis slim: ek neem deel aan die veilige wedstryd. As u van my instruksies hou, stem dan daarvoor! Ek sal u wys hoe u u huis en sy omgewing maklik en goedkoop kan beveilig. Dit bevat segmente waar u sal leer: 1. Stel j op
Koppelvlak Honeywell Vista alarm met slim hub (knipoog/slim): 7 stappe (met foto's)
Koppelvlak Honeywell Vista alarm met slim hub (knipoog/slim): Hallo daar! Ek wou 'n kort handleiding gee oor hoe ek my Honeywell Vista -alarmstelsel in my slim hub kan integreer. Ek gebruik Wink vir hierdie tutoriaal, maar dit behoort te werk met enige slim hub (Smartthings/Iris/ens.) Voordat ons begin, gaan
Digitale muurkalender en tuisinligtingsentrum: 24 stappe (met foto's)
Digitale muurkalender en tuisinligtingsentrum: in hierdie instruksies sal ek 'n ou platskerm -TV aanskakel na 'n digitale muurkalender en 'n tuisinligtingsentrum met houtraamwerk, aangedryf deur 'n Framboos Pi. relevante inligting vir alle lede van die