Tartalomjegyzék:
- 1. lépés: A hardver
- 2. lépés: Az LCD kijelző létrehozása
- 3. lépés: A szoftver beállítása
- 4. lépés: Opcionális - A kijelző kikapcsolása
- 5. lépés: Akassza fel a naptárat
Videó: Intelligens falinaptár: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Feleségemmel és nekem klasszikus papírnaptárunk volt, amelyen fontos dátumokat jelöltünk. Okostelefonjainkon a Google naptárát is használjuk az események megjelölésére, így ez kettős munkát jelentett. Ezért úgy döntöttem, hogy felépítek valamilyen intelligens falinaptárat, amely megjeleníti emlékeztetőinket, eseményeinket és néhány egyéb adatunkat. Mivel különböző régi elektronikai alkatrészek hevernek körülöttem, az volt a célom, hogy minél többet felhasználhassam őket, és a lehető legkisebb költséggel készítsem el a naptárat.
Ebben az oktatóanyagban megmutatom, hogyan lehet intelligens falinaptárat készíteni, több Google -fiók eseményeit megjelenítve. Ezenkívül megjeleníti az időt, a dátumot, az időjárást, a hőmérsékletet és néhány további információt. A készüléket egy Raspberry Pi számítógép fogja táplálni, amelyhez passzív infravörös érzékelő (PIR) mozgásérzékelő van csatlakoztatva, így a kijelző bekapcsol, amikor mozgást észlel a szobában, de néhány perc tétlenség után kikapcsol. Ez az oktatóanyag számos más oktatóanyagon alapul, amelyeket az interneten találtam, és megadom a linkeket a jobb megértés érdekében. Szükséges néhány alapvető programozási ismeret (HTML, Python,…).
1. lépés: A hardver
Amint azt korábban említettük, megpróbáltam újra felhasználni annyi régi elektronikai alkatrészt, hogy a költségeket alacsonyan tartsák. Néhány elemet azonban meg kellett vásárolnom, ezért felsorolok mindent, ami az építkezéshez szükséges.
- Raspberry Pi készlet. Kezdetben a régi 2 -es modellemet használtam egy másik projektből. Működött, de a weboldal szerkesztése és újratöltése sok időt vett igénybe, így végül a 3 -as modellre váltottam, amely gördülékenyebben működik https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313 & _nkw = málna+pi+készlet & _sacat = 0
- LCD képernyő. A képernyőt a régi laptopomról használtam, ezért csak LVDS illesztőprogramot kellett vásárolnom hozzá és a tápegységet https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=hdmi+ illesztőprogram+LVDS+tábla & _sacat = 0
-Műanyag tároló doboz az elektronikához
- Passzív infravörös mozgásérzékelő
- AM2302 hőmérséklet/páratartalom érzékelő
- Fekete műanyag felcsatolható kötőanyag LCD kerethez
- Különféle kábelek (HDMI, 5,5 mm DC tápellátáshoz, forrasztás nélküli lemezes jumper kábelek, …)
2. lépés: Az LCD kijelző létrehozása
A régi elavult laptopom LCD képernyőjét használtam. Számos oktatóanyag létezik erre vonatkozóan, ezt követtem:
www.instructables.com/id/How-to-reuse-the-old-LCD-Screen-of-your-broken-Lap/
Szétszedtem régi laptopom fedelét, kivettem az LCD kijelzőt, majd megrendeltem a megfelelő LVDS illesztőprogramot. Megadtam az eladónak a termékkódot, amely az LCD hátoldalán található, az én esetemben ez az LP171WE3 (TL) (A2) - lásd az alsó kép jobb alsó címkéjét, majd elküldte a megfelelő LVDS -t. Kérjük, vegye figyelembe, hogy szüksége lesz a kijelző tápegységére is, ezért kérje meg az eladót, hogy küldje el azt is. Vettem egy szép 14,5 × 7,5 × 2 cm -es műanyag dobozt is, hogy szépen illeszkedjen a vezetőfülkéhez, és rögzítse az LCD hátoldalához.
Most az LCD kijelző fémes kerettel rendelkezik, ami nem tűnik szépnek. Kezdetben feketére festettem, de elkezdett leválni a festék. Vettem tehát négy fekete műanyag felcsatolható kötőanyagot, amelyeket jellemzően papírlapok kötésére használnak, ennek megfelelően vágtam le, és rögzítettem a keret lefedésére. Ez jól nézett ki, ezért csatlakoztattam az összes kábelt, csatlakoztatva a HDMI -t a régi Raspberry Pi -hez és a Voila -hoz - működött! Egy kép látható volt a kijelzőn, így készen álltam a következő lépésre - milyen információkat jelenítsek meg a kijelzőn és hogyan jelenítsem meg.
3. lépés: A szoftver beállítása
Amikor az interneten kerestem néhány nyomot, hogyan készítsünk naptárat, inspirált ez az oldal: https://dakboard.com/site. Ők biztosítják a készterméket (a kijelzőt, a számítógépet és a működő szoftvert), de kiváló oktatóanyaggal rendelkeznek a DIY megoldáshoz (https://blog.dakboard.com/diy-wall-display/). Javaslom, hogy kövesse ezt az oktatóanyagot, legalábbis az első részben a rendszer Raspberry rendszerre való előkészítésével és beállításával kapcsolatos utasításokat, hogy a böngésző automatikusan betöltse a kívánt weboldalt a rendszerindításkor.
Ez szépen működött, azonban kerestem valami megoldást, amelyet jobban testre szabhattam kívánságaim szerint. Úgy döntöttem, létrehozok egy saját webszervert, és létrehozok egy weboldalt, amely a naptár mellett további információkat is tartalmaz. A Wordpress.org -ot választottam, mivel jól dokumentált, jó támogatással és nagy közösséggel segít Önnek. Itt található a Wordpress Raspberry Pi-re történő telepítésének bemutatója: https://projects.raspberrypi.org/en/projects/lamp-web-server-with-wordpress. A Wordpress telepítésével ideje volt megtervezni a honlapomat. Használhatja a számos téma egyikét, vagy tervezheti a semmiből. Ehhez mindenesetre némi HTML programozói tudásra van szükség.
Úgy terveztem az oldalamat, hogy a bal oldalon a naptár látható (https://sl.wordpress.org/plugins/google-calendar-events/), míg a jobb oldalon az idő és a dátum (https://www.timeanddate.com/clocks/free.html és https://www.arclab.com/en/kb/htmlcss/display-date-time-javascript-php-ssi.html). Az időjárás-előrejelzés erről az oldalról származik (https://www.1a-vreme.si/vremensko-okno/), amely előrejelző widgetet biztosít a szlovén városok számára, de azt hiszem, más országok kütyüi is megtalálhatók az interneten. A hőmérsékletet az AM2302 érzékelővel gyűjtik (https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=AM2302+&_sacat=0), a jelen fejezet végén leírtak szerint. Alul egy egyszerű napi visszaszámláló található, amely megmutatja, hogy hány nap van hátra valamilyen eseményhez (a gyermekeim számára érdekes tudni, hány napot kell várniuk valamire). A jobb felső sarokban a MetaSlider plugin (https://wordpress.org/plugins/ml-slider/) található, amely véletlenszerűen csúszik a családom kiválasztott képeire. Ezenkívül a Background Slider beépülő modult (https://sl.wordpress.org/plugins/background-slider-master/) használtam, hogy véletlenszerű képet mutassak a szebb háttér érdekében.
Amint azt korábban említettük, a beltéri hőmérsékletet AM2302 érzékelővel gyűjtik. Sok oktatóanyag létezik a hőmérséklet mérésére vonatkozóan, ezt követtem: https://www.modmypi.com/blog/am2302-temphumidity-sensor. Később áthelyeztem ezt az érzékelőt egy másik Raspberry Pi-re, amelyen a Home Assistant fut, mert könnyebb az értékek olvasása és közzététele a DHT-érzékelő összetevőjével (https://www.home-assistant.io/components/sensor.dht/). A Home Assistant a külső hőmérsékletet is gyűjti különböző időjárási összetevők használatával, én az YR.no komponenst használtam (https://www.home-assistant.io/components/sensor.yr/). Ezzel írtam egy automatizálási szkriptet, amely összegyűjti a beltéri/külső hőmérsékletet ezekből az összetevőkből, és beírja őket egy szövegfájlba, amely aztán megjelenik a falinaptáromban. Ha többet szeretne megtudni a Home Assistant szolgáltatásról, tekintse meg a honlapot (https://www.home-assistant.io/).
4. lépés: Opcionális - A kijelző kikapcsolása
Most beállítottuk és elindítottuk a naptárunkat, ahogy nekünk tetszik. De nem akarjuk, hogy a kijelző a nap 24 órájában be legyen kapcsolva. Csak akkor szeretnénk, ha valaki otthon lenne. Továbbá nem akarjuk, hogy az éjszaka közepén bekapcsolják, amikor WC -re megyünk, túl világos! Tehát egy infravörös érzékelőt rögzítünk, hogy észrevegyük, ha valaki előtte áll, és adjunk hozzá bizonyos időkorlátokat, amikor be kell kapcsolnia.
Kérjük, vegye figyelembe, hogy programozási ismereteim meglehetősen korlátozottak, így az alábbiak nem lehetnek optimálisak, mivel különböző online fórumokból és oktatóanyagokból válogattam, de lényegében működik. Ennek ellenére minden ajánlást továbbra is szívesen fogadnak. Először a teszttel kezdjük a monitor manuális be- és kikapcsolását. Ehhez két fájlt hozunk létre (például monitor_on.sh és monitor_off.sh), és írunk bele egy kódot. Ennek legegyszerűbb módja, ha SSH -val és gépeléssel jelentkezik be a Raspberry -be
sudo nano monitor_on.sh
és írja be a következő kódot
tvszolgáltatás -előnyben részesített;
startx/usr/bin/graphical_launcher `fgconsole`
A mentéshez és kilépéshez nyomja meg a CTRL+X billentyűkombinációt, majd hozza létre a második fájlt
sudo nano monitor_off.sh
és írja be a következő kódot
tvszolgáltatás -ki;
Ismét nyomja meg a CTRL+X billentyűkombinációt a mentéshez és a kilépéshez. Tegye futtathatóvá ezeket az újonnan létrehozott fájlokat:
sudo chmod +x monitor_on.sh
sudo chmod +x monitor_off.sh
Most próbálja ki, hogy ezek a parancsok működnek -e, írja be
sudo./monitor_off.sh
sudo./monitor_on.sh
A monitornak ennek megfelelően ki- és be kell kapcsolnia. Észrevettem, hogy a Raspberry Pi 2 -n csaknem 10 másodpercbe telt, mire a monitor bekapcsol. A Raspberry Pi 3-on 1-2 másodpercig tart. Ezután csatlakoztatunk egy infravörös érzékelőt, amely elindítja ezeket a szkripteket. Ismét sok oktatóanyag létezik a Raspberry Pi és a PIR beállításához, ezt követtem: https://www.instructables.com/id/PIR-Sensor-Interfacing-With-Raspberry-Pi/. Alapvetően hozzon létre egy fájlt a nano editor használatával (például motion_sensor.py), és írja be a megfelelő Python -kódot. Az alábbi példa a fájlom:
RPi. GPIO importálása GPIO -kéntimport időimport sysimport alfeldolgozásimport dátum importálása dtimport osGPIO.setwarnings (False) # GPIO.setmode (GPIO. BOARD) GPIO.setmode (GPIO. BCM) GPIO.setup (17, GPIO. IN) #PIRturned_off = False time.time () SHUTOFF_DELAY = 180 # secondswhile Igaz: i = GPIO.input (17), ha i == 0: # Amikor a mozgásérzékelő kimenete LOW, kapcsolja ki a monitort, ha nincs kikapcsolva és az idő.idő ()> (last_motion_time + SHUTOFF_DELAY): print "No intruders", iturned_off = Truetime.sleep (1) alprocess.call (['/home/pi/monitor_off.sh'], shell = True) elif i == 1: #Amikor a mozgásérzékelő kimenete MAGAS, kapcsolja be a monitort ONprint "Betolakodó észlelve", itime.sleep (1) last_motion_time = time.time () sys.stdout.flush (), ha turn_off és dt.datetime.now (). óra> 5 és dt.datetime. most (). óra <23: Turn_off = Falsesubprocess.call (['/home/pi/monitor_on.sh'], shell = True), ha _name_ == '_main _': try: main () kivéve KeyboardInterrupt: GPIO.cleanup ()
Ne feledje, hogy a „GPIO.setup (17, GPIO. IN)” azt jelzi, hogy a PIR kimeneti csapja a Raspberry Pi 17. tűjéhez van csatlakoztatva. Ez melyik tű, attól függ, hogy a GPIO.setmode (GPIO. BOARD) vagy a GPIO.setmode (GPIO. BCM) definíciót határozza meg. A különbség itt magyarázható: https://raspberrypi.stackexchange.com/questions/12966/what-is-the-difference-between-board-and-bcm-for-gpio-pin-numbering. # Van a GPIO. BOARD előtt, ezért figyelmen kívül hagyja, és a GPIO. BCM -et használja.
Figyeld meg a sort
SHUTOFF_DELAY = 180 #másodperc
Itt van megadva, hogy a monitor mennyi ideig van bekapcsolva az utolsó mozgás észlelése óta, mielőtt kikapcsolja. Ez azért hasznos, mert nem azt akarom, hogy a monitor folyamatosan ki-/bekapcsoljon, amikor elmegyek mellette, hanem azt szeretném, hogy egy ideig bekapcsolva maradjon, mielőtt kikapcsol. A 180 másodperces intervallumot választottam, így a monitor körülbelül 3 perccel az utolsó mozgás észlelése után kikapcsol.
Végül ez a sor
ha kikapcsolva_ és dt.datetime.now (). óra> 6 és dt.datetime.now (). óra <23:
kijelenti, hogy a monitor csak 6:00 és 23:00 között kapcsol be, tehát éjszaka nem zavar. A vonalak
nyomtatás "Nincs betolakodó", i
és
print "Behatoló észlelve", i
csak a szkript tesztelésére szolgál, később törölheti őket, amikor működni fog. Most tesztelje a szkriptet:
sudo python motion_sensor.py
Ha az érzékelő fölött integet, látnia kell a „Betolakodó észlelve” üzeneteket, különben „Nincs betolakodó”. Amikor ezt a szkriptet tesztelték és működik, állítsa be, hogy indításkor induljon:
sudo nano ~/.config/lxsession/LXDE-pi/autostart
és adja hozzá a következő sort
@sudo/usr/bin/python /home/pi/motion_sensor.py
Természetesen meg kell adnia a létrehozott Python -szkript helyes fájlnevét.
5. lépés: Akassza fel a naptárat
Ha minden készen áll, ideje felfüggeszteni a naptárat a falra!
Kezdetben arra gondoltam, hogy elrejtem a Raspberry Pi -t az LCD kijelző mögé, hogy csak egy kábelre (egyenáramú tápellátás) legyen szükség. De mivel a Málna 5V -ról és az LCD -kijelző 12V -ról működik, további transzformátorra lenne szükségem. Ezenkívül a Málna tok meglehetősen vastag, ami azt jelenti, hogy az LCD körülbelül 3 centiméter távolságra van a faltól. Így felhagytam ezzel, és csak az LCD elektronikát hagytam az LCD mögött, úgy, hogy az kevesebb, mint 1 centiméterre van a faltól. Két 5 méter hosszú kábelt, egy HDMI -t és egy 5, 5 mm -es kábelt szereztem be egyenáramú tápegységhez. Mindkét kábel fehér, mint a fal, ami azt jelenti, hogy nem különböznek. Felhelyeztem az LCD -t a falra, és a málnát a hűtőszekrény tetejére tettem a szemközti falra, így alapvetően rejtve van, mégis könnyen hozzáférhető.
Ajánlott:
Hogyan barkácsoljunk intelligens redőnyöket SONOFF intelligens kapcsolókkal?: 14 lépés
Hogyan barkácsoljunk intelligens redőnyöket a SONOFF intelligens kapcsolókkal?: Használja a reteszelés módot a SONOFF intelligens kapcsolókban, hogy a szokásos redőnyöket/redőnyöket intelligensekké tegye és este lehúzni? Egyébként én
Intelligens ébresztőóra: Raspberry Pi -vel készült intelligens ébresztőóra: 10 lépés (képekkel)
Intelligens ébresztőóra: Raspberry Pi -vel készült intelligens ébresztőóra: Szeretett volna valaha okos órát? Ha igen, akkor ez a megoldás az Ön számára! Készítettem intelligens ébresztőórát, ez egy óra, amellyel megváltoztathatja az ébresztési időt a webhely szerint. Amikor a riasztó megszólal, hangjelzés (csipogó) és 2 lámpa hallatszik
IoT alapú intelligens kertészet és intelligens mezőgazdaság ESP32 használatával: 7 lépés
IoT alapú intelligens kertészet és intelligens mezőgazdaság ESP32 használatával: A világ idővel változik, és így a mezőgazdaság is. Manapság az emberek minden területen integrálják az elektronikát, és ez alól a mezőgazdaság sem kivétel. Az elektronika egyesülése a mezőgazdaságban segíti a gazdákat és a kerteket kezelő embereket. Ebben
Intelligens tárcsázás - automatikus javító intelligens hagyományos telefon: 8 lépés
Intelligens tárcsázás-automatikus javító intelligens hagyományos telefon: Az intelligens tárcsázás egy intelligens, automatikus korrekciós telefon, amelyet speciális igényű idősek számára fejlesztettek ki, és lehetővé teszi az idősek számára, hogy közvetlenül a megszokott hagyományos telefonokról tárcsázzanak. Csak a helyi idősek gondozási központjában végzett önkéntes munkával tudtam
Digitális falinaptár és otthoni információs központ: 24 lépés (képekkel)
Digitális fali naptár és otthoni információs központ: Ebben az utasításban a régi síkképernyős TV -t bekapcsolom egy fa keretes digitális falra szerelt naptárba és otthoni információs központba, amelyet egy Raspberry Pi működtet. A cél az volt, hogy egy pillanat alatt hozzáférjen a fontos információ minden tagnak