Raspberry Pi Internet Weather Station: 5 lépés (képekkel)
Raspberry Pi Internet Weather Station: 5 lépés (képekkel)
Anonim
Raspberry Pi Internet Weather Station
Raspberry Pi Internet Weather Station
Raspberry Pi Internet Weather Station
Raspberry Pi Internet Weather Station

*** Frissítés ***

Ez az Instructable elavult. Az ebben az utasításban használt időjárási adatok időjárási szolgáltatásai már nem működnek. Ettől függetlenül létezik egy alternatív projekt, amely alapvetően ugyanazt teszi (csak jobban - ez az Instructable mindig csak hack volt). Tehát itt a link, amelyet követni szeretne:

https://piweatherrock.technicalissues.us/

Köszönöm szépen Gene Livermannek a PiWeatherRocknál, hogy felvette ennek a projektnek a palástját.

Ez az utasítás megmutatja, hogyan lehet felépíteni egy igazán jó Raspberry Pi internet alapú időjárás-állomást. Valójában ezt az építést "időjárás -állomásnak" nevezni egy kicsit kijelentés. Ez a konstrukció könnyen kiterjeszthető, hogy sokkal többet biztosítson, mint egyszerűen az időjárás. Ez azonban jó kezdet, és nagyon jól néz ki az asztalomon.

A családunk (rendben, főleg én) élvezte, hogy a családi iPad a konyhapulton van, amikor nincs használatban, és csendben mutatja az aktuális külső időjárási körülményeket. Azonban fájdalmas az iPad be- és kirakása az arcade bölcső tokba. Ráadásul, amikor elmegyek nézni az időjárást, rájövök, hogy valaki elvitte az iPad / időjárás kijelzőt. Szükség van egy állandó asztali kijelzőre, amelyet a gyerekek nem fognak ellopni, mint az iPad.

1. lépés: 1. generáció - a Lunchbox Pi Weather Station

Gen 1 - az Lunchbox Pi meteorológiai állomás
Gen 1 - az Lunchbox Pi meteorológiai állomás
Gen 1 - az Lunchbox Pi meteorológiai állomás
Gen 1 - az Lunchbox Pi meteorológiai állomás

Az első gondolatom egy kis kompozit videokijelző használata volt. Az Ebay -en 22 dollárért vettem fel a képen láthatót - egyszerűen keress rá a "4,3 hüvelykes TFT LCD autó hátsó nézetű autómonitor" oldalon. A kijelző bejelentett felbontása 656 x 416 pixel, ami kihívást jelent a sok hasznos információ megjelenítésére nézve! A kijelző tápfeszültsége 12Vdc. A Raspberry Pi -nek természetesen 5Vdc tápfeszültségre van szüksége. Ennek megoldásához vettem egy olcsó USB autós töltőt az Amazon -tól. Körülbelül 6 dollárért találtam egy 5Vdc 2 Amp autós váltót. Ezért az ebédlődoboz külső 12Vdc falú szemölcs tápegységgel rendelkezik. A 12Vdc közvetlenül táplálja a kijelzőt. A 12Vdc az USB autós töltőhöz is megy, amely lecsökkenti a feszültséget egy szabályozott 5Vdc -ra. Utolsó hackelésként egy pár vezetéket forrasztottam közvetlenül az autós töltő és a Raspberry Pi közé - nem a legjobb ötletem.

Bár minden működött, nem voltam elégedett a kompozit kijelzőn megjelenő videó minőségével. A kijelzőn lévő kis betűtípus homályosabb volt, mint szeretném. Ráadásul, bár az ebéddoboz eleinte aranyosnak tűnt, később kissé ciki volt.

2. lépés: 2. generáció - HDMI monitor + lézerrel vágott plexi árkád tok

2. generáció - HDMI monitor + lézervágású plexi árkád tok
2. generáció - HDMI monitor + lézervágású plexi árkád tok
2. generáció - HDMI monitor + lézervágású plexi árkád tok
2. generáció - HDMI monitor + lézervágású plexi árkád tok
2. generáció - HDMI monitor + lézervágású plexi árkád tok
2. generáció - HDMI monitor + lézervágású plexi árkád tok

Visszatérve az eBay -re találtam egy szép kinézetű, 54 dolláros dolláros, nyitott keretes, 800x600 felbontású HDMI -monitort. A definíció szerint a nyitott kerethez bármi keretre van szüksége. A helyi hacker space i3Detroit egy igazán szép 150 wattos vágóval rendelkezik, amely 4,5 mm -es akrilból készült darált húst tud készíteni.

Az árkádházat lazán az iPad arcade dobozára alapítottam. Ha valaha is készítek egy Gen 3 -as dizájnt, akkor dacosan tartalmazna egy kivehető / kicsúsztatható tálcát a Pi -hez. Kiderült, hogy nagy fájdalmat okoz a nyakban, amikor megpróbálja be- és kikapcsolni a dolgokat, mivel nincs sok hely a Pi és az oldalfalak között.

A HDMI monitor is 12Vdc tápellátást igényel. Tehát ugyanazt a trükköt használtam, mint az USB autós töltő újbóli használata. Ezúttal azonban feldaraboltam egy régi USB -kábelt, így a Pi forrasztott vezetékeire nem volt szükség.

Ha valakit érdekel az ügyességi ügy, írjon megjegyzést alább, és feltöltöm a DXF fájlokat. Vagy a fájlok a ph-elec.com webhelyen találhatók.

3. lépés: Pi beállítás

Pi beállítás
Pi beállítás

Egy új Raspberry Pi beállítása a szükséges szoftverrel nem olyan nehéz. Az összes szoftver Pythonban van írva, csak egy hozzáadott Python modullal. Az extra Python modult "pywapi" -nak hívják. Itt egy link, ahonnan letöltheti a modult. Ez a modul megkönnyíti a valós idejű időjárás megszerzését a Yahoo-ról, a Weather.com-ról vagy a NOAA-ról.

Először is itt van egy ellenőrzőlista a nyers Raspberry Pi beállításához:

  1. Töltse le a legújabb Raspbian -t (Debian Wheezy). Csomagolja ki az.img fájlt.
  2. Írja be az SD-kártyára a következőt: "dd bs = 4M if = 2014-09-09-wheezy-raspbian.img of//dev/sdb"
  3. A dd parancs körülbelül öt percet vesz igénybe. Ha kész, futtassa a "szinkronizálást" a csövek öblítéséhez.
  4. Telepítse az SD -kártyát a Pi -be, és indítsa újra. Győződjön meg arról, hogy van Ethernet -kapcsolat a Pi -vel.
  5. Az útválasztó "Csatolt eszközök" oldalán keresse meg az új Pi IP -címét.
  6. Jelentkezzen be a Pi -be az "ssh [email protected]. ???" ahol ??? az IP -szám felülről. A jelszó "málna" lesz.
  7. A Pi-n használja a "raspi-config" parancsot az alapértelmezett beállításokhoz.

    1. Kapcsolja be az automatikus indítást a GUI -ba.
    2. Állítsa be a gazdagép nevét „MyPi” -re.
  8. Telepítse a VNC-t a Pi-re a "sudo apt-get install tightvncserver" segítségével.

    Futtassa a "tightvncserver" programot, amely beállítja a jelszót

  9. Visszatérve a nagy Linux dobozba, használja a "Távoli asztal" lehetőséget a Pi GUI asztal megtekintéséhez.

    1. Állítsa a protokollt "VNC" -re és az IP -számot "192.168.1.???:1" értékre. Vegye figyelembe az ": 1" jelet az IP -szám végén.
    2. Nyomja meg a csatlakozás gombot, és adja meg a VNC jelszót.
    3. Bingo, távoli GUI Pi asztal!

      Ezzel elkerülheti a monitor, a billentyűzet és az egér elhúzását, hogy csatlakozzon az új Pi -hez

    4. Az asztalon futtassa a WiFi beállítás ikonját. Állítsa be az új Pi / USB WiFi -t, hogy csatlakozzon a hálózathoz.
    5. Zárja le a VNC kapcsolatot - most végeztünk a távoli asztali számítógépekkel.
  10. Vissza az ssh ablakba, indítsa újra a Pi -t a "sudo reboot" segítségével. Húzza ki az Ethernet -kábelt, mivel a WiFi most be van állítva.
  11. Az otthoni útválasztón keresse meg az új IP -számot, amelyet a Pi használ a WiFi -vel.
  12. Az ssh használatával jelentkezzen be újra az új IP -szám használatával. A kapcsolat ezúttal WiFi -n lesz.
  13. Linux alatt a Fájlkezelő használatával csatlakozzon a Pi -hez a "connect to server" paranccsal.

    A szerver címe "sftp: //192.168.1. ???/home/pi"

  14. Az alapbeállítás befejeződött.

Ezután le kell tölteni és telepíteni a pywapit. Ismétlem, ez nem túl nehéz a következő lépésekkel:

  1. Töltse le innen a legújabbat. Bontsa ki az archívumot egy új könyvtárba.
  2. A File Manger segítségével másolja a könyvtárat a Pi saját könyvtárába.
  3. Az ssh használatával tegye a következőket a Pi -n:

    1. cd pywapi-0.3.8
    2. sudo python setup.py build
    3. sudo python setup.py install
  4. Kész.

Frissítés, elfelejtettem kettőt említeni két másik dolgot:

  1. A Pi -n futtassa a következő parancsot:

    1. sudo apt-get install avahi-daemon

      Ez lehetővé teszi a névhez való kapcsolódást a Pi -hez. Tehát a fő számítógépen "ssh [email protected]" néven csatlakozhat az IP -számok használata helyett. Ha több Pi -t használ a hálózaton, könnyen összezavarhatja őket, hacsak nem hívják név szerint

    2. sudo raspi-config

      1. Keresse meg és futtassa a negyedik "Nemzetköziesítési lehetőségek" nevű opciót, és állítsa be az időzónát.
      2. Az időzóna beállításával és az ntpd (hálózati időprotokoll démon) futtatásával a Pi mindig a pontos időt jeleníti meg néhány milliszekundumon belül! Imádni fogod.
  2. Oké, most megint végeztünk.

4. lépés: Forráskód

Forráskód
Forráskód

Ennek a kis időjárási kijelzőnek az összes forráskódja Python, PyGame és Pywapi alapú. Minden nyílt forráskódú / ingyenes szoftver.

A PyGame az összes grafikus felhasználói felület elvégzésére szolgál. Tényleg elképesztő cucc. A PyGame használatával a teljes kijelző másodpercenként egyszer újjáépül. A forráskódom tetején talál egy részt, amely lehetővé teszi a különböző méretű megjelenítések módosítását. Van egy rész a kis kompozit videokijelzőhöz és egy második rész a nagyobb HDMI kijelzőhöz. Egyszerűen megjegyzem a két rész egyikét a szükséges kijelzőméret alapján.

A forráskód futtatásához csak bontsa ki a mellékletet, és másolja át a teljes könyvtárat a Pi -re a Fájlkezelő segítségével. A másolás után indítsa el a kódot a következő ssh parancsokkal:

  1. cd Időjárás
  2. sudo python weather.py

A sudo parancsra azért van szükség, hogy a Python vezérelhesse / olvashassa a GPIO csapokat. Valószínűleg van valami módja ennek a korlátozásnak, de elkerül engem.

Amint minden működik az ssh használatával, itt az ideje, hogy az időjárás automatikusan elinduljon újraindításkor. Ezt is nagyon könnyű megtenni.

  1. Az ssh használatával futtassa a "sudo vi /etc/rc.local" fájlt
  2. Közvetlenül az utolsó sor előtt, amely azt mondja: "exit 0", adja hozzá a következőket a sorokhoz.

    1. cd/home/pi/Időjárás
    2. sudo python weather.py &> err.log

Ez automatikusan elindítja az időjárási alkalmazást a Pi -n az újraindítás után. Ha ezt később ki szeretné kapcsolni, akkor csak az ssh billentyűvel szerkessze a fájlt, és adja hozzá a megjegyzés karaktert "#" mindkét sor elé, majd indítsa újra.

Megjegyzés: a forráskódom nagy hack, és nem vagyok rá nagyon büszke. Ha azonban megvártam, amíg bemutatható, soha nem kerül bemutatásra. Szóval, vedd vagy hagyd, csak ne sírj, mert nagyon vékony a bőröm.

Még néhány dolog, amit meg kell jegyeznem a kódommal kapcsolatban. Ott eltemetve észrevesz egy kódot, amellyel X10 -es eszközzel beszélhet. Ezzel próbáltam irányítani a külső oszloplámpáimat, amelyek az A3 címen vannak. Egyszerűen azt akartam, hogy alkonyatkor felgyúljanak a lámpák, és hajnalban kapcsoljanak ki. Elég könnyűnek tűnik, és azt hittem, hogy működik. USB-RS232 hardverkulcs használatával a Pi-n egy CM11A X10 modult csatlakoztattam. A CM11A egy régi X10 makró modul. A CM11A rendelkezik RS232 porttal is, amely lehetővé teszi az X10 busz vezérlését. Úgy tűnik, még mindig vannak hibák, mert a lámpaoszlop fényei nem kapják meg az üzenetet!

Azt is érdemes megjegyezni, hogy a nagyobb kijelzőn egy szép nyitott rés található a kijelző jobb oldalán. A tervem az, hogy hozzáadok néhány állapotjelző lámpát ezen a területen. Játszok néhány IEEE802.15.4 rádióval, és a kimeneteik egy napon megjelennek azon a nyílt helyen.

A legújabb és legnagyobb frissítésekért látogasson el a ph-elec.com weboldalomra.

Nos, tudassa velem az alábbi megjegyzések részben, ha bármilyen kérdése van.

Köszönöm, Jim.

Ja, és ne felejts el rám szavazni! Köszönöm mégegyszer.

BTW: Mindig több információ található a webhelyemen: www.ph-elec.com

5. lépés: Metrikus frissítés

A melléklet egy új verzió, amely lehetővé teszi metrikus vagy angol nyelvű megjelenítését.

Remélem ez segít, Jim

Ajánlott: