Obsah:

Internetová meteorologická stanica Raspberry Pi: 5 krokov (s obrázkami)
Internetová meteorologická stanica Raspberry Pi: 5 krokov (s obrázkami)

Video: Internetová meteorologická stanica Raspberry Pi: 5 krokov (s obrázkami)

Video: Internetová meteorologická stanica Raspberry Pi: 5 krokov (s obrázkami)
Video: High Density 2022 2024, Júl
Anonim
Internetová meteorologická stanica Raspberry Pi
Internetová meteorologická stanica Raspberry Pi
Internetová meteorologická stanica Raspberry Pi
Internetová meteorologická stanica Raspberry Pi

*** Aktualizácia ***

Tento návod je zastaraný. Služby počasia pre údaje o počasí použité v tomto návode už nefungujú. VŽDY však existuje alternatívny projekt, ktorý v zásade robí to isté (len lepšie - tento Instructable bol vždy iba hack). Tu je teda odkaz, ktorý budete chcieť nasledovať:

https://piweatherrock.technicalissues.us/

Ďakujem veľmi pekne, že ste sa obrátili na Gene Livermana v PiWeatherRock, že sa chopil plášťa tohto projektu.

Tento návod vám ukáže, ako postaviť skutočne skvelú internetovú meteorologickú stanicu Raspberry Pi. V skutočnosti nazývať túto stavbu „meteorologickou stanicou“je trochu podhodnotené tvrdenie. Túto zostavu je možné ľahko rozšíriť, aby poskytovala oveľa viac než len počasie. Je to však dobrý začiatok a na mojom stole vyzerá naozaj skvele.

Naša rodina (OK, väčšinou ja) si užila, keď mala svoj rodinný iPad na kuchynskej linke, keď sa nepoužíva, v tichosti ukazovala aktuálne vonkajšie poveternostné podmienky. Je však utrpenie nakladať a vykladať iPad do a z puzdra arkádovej kolísky. Navyše, keď sa pozriem na počasie, zistím, že niekto vzal iPad / displej s počasím. Čo je potrebné, je permanentný pultový displej, ktorý deti nebudú ťahať prstom ako iPad.

Krok 1: Gen 1 - meteorologická stanica Lunchbox Pi

Gen 1 - meteorologická stanica Lunchbox Pi
Gen 1 - meteorologická stanica Lunchbox Pi
Gen 1 - meteorologická stanica Lunchbox Pi
Gen 1 - meteorologická stanica Lunchbox Pi

Moja prvá myšlienka bola použiť malý kompozitný video displej. Zobral som ten na obrázku na Ebay za 22 dolárov - jednoducho hľadajte na „4,3 palcový TFT LCD automobilový zadný pohľad na monitor auta“. Displej má hlásené rozlíšenie 656 x 416 pixelov, čo vzdorne robí zobrazovanie mnohých užitočných informácií výzvou! Displej vyžaduje ako napájacie napätie 12 V DC. Raspberry Pi, samozrejme, potrebuje ako napájacie napätie 5Vdc. Aby som to vyriešil, kúpil som si lacnú USB nabíjačku do auta od Amazonu. Za zhruba 6 dolárov som našiel menič automobilov 5Vdc na 2A. Lunchbox má preto externý napájací zdroj na bradavice 12 V DC. 12V DC napája displej priamo. 12V DC tiež prechádza do nabíjačky do auta USB, ktorá znižuje napätie na regulovaných 5 V DC. Ako posledný hack som spájkoval pár drôtov priamo medzi nabíjačkou do auta a Raspberry Pi - nie je to môj najlepší nápad.

Aj keď to všetko fungovalo, nebol som skutočne spokojný s kvalitou videa na kompozitnom displeji. Malé písmo na displeji bolo rozmazanejšie, ako by som chcel. Navyše, zatiaľ čo box na obed najskôr vyzeral rozkošne, neskôr pôsobil trochu syrovo.

Krok 2: Gen 2 - monitor HDMI + arkádové puzdro z plexiskla rezané laserom

Gen 2 - HDMI monitor + laserom rezané arkádové puzdro
Gen 2 - HDMI monitor + laserom rezané arkádové puzdro
Gen 2 - HDMI monitor + laserom rezané arkádové puzdro
Gen 2 - HDMI monitor + laserom rezané arkádové puzdro
Gen 2 - HDMI monitor + laserom rezané arkádové puzdro
Gen 2 - HDMI monitor + laserom rezané arkádové puzdro

Na eBay som našiel pekne vyzerajúci HDMI monitor s otvoreným rámcom za 54 dolárov a rozlíšením 800 x 600 dolárov. Podľa definície, otvorený rám na čokoľvek potrebuje rám, do ktorého sa dá namontovať. Pretože roztomilosť obedového boxu bola dlhá, prišiel čas na nejaký laserom rezaný akryl. Môj miestny hackerský priestor i3Detroit má skutočne peknú 150 wattovú frézu, ktorá dokáže vyrobiť mleté mäso zo 4,5 mm akrylátu.

Svoj arkádový kryt som voľne založil na arkádovom boxe pre iPad. Ak by som niekedy urobil dizajn Gen 3, vzdorne by obsahoval vyberateľný / vysúvateľný zásobník pre Pi. Ukázalo sa, že je to veľká bolesť v krku, keď sa pokúšate zapojiť veci do a von z Pi, pretože medzi Pi a bočnými stenami nie je veľa miesta.

Monitor HDMI tiež vyžaduje napájanie 12 V DC. Znovu som teda použil ten istý trik, ako použiť USB nabíjačku do auta. Tentokrát som však prerušil starý kábel USB, takže spájkované vodiče na Pi neboli potrebné.

Ak niekoho zaujíma arkádový prípad, napíšte komentár nižšie a ja nahrám súbory DXF. Alebo sú súbory na mojej webovej stránke ph-elec.com.

Krok 3: Nastavenie Pi

Nastavenie Pi
Nastavenie Pi

Nastaviť nový Raspberry Pi pomocou potrebného softvéru nie je také ťažké. Všetok softvér je napísaný v jazyku Python s jediným pridaným modulom Python. Extra modul Pythonu sa nazýva „pywapi“. Tu je odkaz, kde si môžete modul stiahnuť. Tento modul uľahčuje získavanie počasia v reálnom čase z webov Yahoo, Weather.com alebo NOAA.

Ako prvé, tu je kontrolný zoznam na nastavenie surového Raspberry Pi:

  1. Stiahnite si najnovší Raspbian (Debian Wheezy). Rozbaľte a získajte súbor.img.
  2. Zapíšte na kartu SD pomocou príkazu „dd bs = 4M if = 2014-09-09-wheezy-raspbian.img of =/dev/sdb“
  3. Príkaz dd trvá asi päť minút. Po dokončení spustite „synchronizáciu“a prepláchnite potrubia.
  4. Nainštalujte kartu SD do Pi a reštartujte počítač. Zaistite, aby bolo k Pi pripojené ethernetové pripojenie.
  5. Pomocou stránky „Pripojené zariadenia“na smerovači vyhľadajte IP adresu nového Pi.
  6. Prihláste sa do Pi pomocou „ssh [email protected]. ???“kde ??? je číslo IP zhora. Heslo bude „malina“.
  7. Na serveri Pi nastavte predvolené nastavenia pomocou príkazu „raspi-config“.

    1. Zapnite automatické zavádzanie do GUI.
    2. Nastavte názov hostiteľa na niečo ako „MyPi“.
  8. Nainštalujte VNC na Pi pomocou „sudo apt-get install tightvncserver“.

    Spustite "tightvncserver", ktorý nastaví heslo

  9. Keď sa vrátite do veľkého poľa Linux, na zobrazenie pracovnej plochy Pi GUI použite „Vzdialená plocha“.

    1. Nastavte protokol na „VNC“a číslo IP na „192.168.1.???::“. Všimnite si „: 1“na konci čísla IP.
    2. Kliknite na tlačidlo pripojiť a zadajte heslo VNC.
    3. Bingo, vzdialená pracovná plocha GUI Pi!

      To šetrí ťahanie monitora, klávesnice a myši za pripojenie k novému Pi

    4. Na pracovnej ploche spustite ikonu nastavenia WiFi. Nastavte nové Pi / USB WiFi na pripojenie k sieti.
    5. Zatvorte pripojenie VNC - teraz sme skončili so vzdialenými počítačmi.
  10. V okne ssh reštartujte Pi pomocou „sudo reboot“. Odpojte ethernetový kábel, pretože WiFi je teraz nastavené.
  11. Späť na domácom routeri nájdite nové číslo IP, ktoré Pi používa s WiFi.
  12. Pomocou ssh sa prihláste späť pomocou nového IP čísla. Pripojenie bude tentoraz cez WiFi.
  13. Pomocou Správcu súborov v systéme Linux sa pripojte k počítaču Pi pomocou príkazu „pripojiť k serveru“.

    Adresa servera je "sftp: //192.168.1. ???/home/pi"

  14. Základné nastavenie dokončené.

Ďalej je potrebné stiahnuť a nainštalovať pywapi. Nasledujúce kroky opäť nie sú príliš ťažké:

  1. Stiahnite si najnovšie odtiaľto. Rozbaľte archív do nového adresára.
  2. Pomocou Správcu súborov skopírujte adresár do domovského adresára Pi.
  3. Pomocou ssh urobte na Pi nasledujúce:

    1. cd pywapi-0,3,8
    2. sudo python setup.py build
    3. sudo python setup.py install
  4. Hotový.

Aktualizácia, zabudol som spomenúť dve ďalšie dve veci:

  1. Na Pi spustite nasledujúci príkaz:

    1. sudo apt-get install avahi-daemon

      To umožňuje pripojenie k Pi podľa mena. Na vašom hlavnom počítači sa teda môžete namiesto adries IP pripojiť ako „ssh [email protected]“. S viacerými Pi v sieti je ľahké ich zameniť, pokiaľ nie sú volaní menom

    2. sudo raspi-config

      1. Vyhľadajte a spustite štvrtú možnosť s názvom „Možnosti internacionalizácie“a nastavte časové pásmo.
      2. Pri nastavenom časovom pásme a spustení ntpd (démon sieťového časového protokolu) Pi vždy zobrazí správny čas v priebehu niekoľkých milisekúnd! Musím to milovať.
  2. Dobre, teraz sme opäť skončili.

Krok 4: Zdrojový kód

Zdrojový kód
Zdrojový kód

Celý zdrojový kód pre toto malé zobrazenie počasia je založený na jazykoch Python, PyGame a Pywapi. Všetok otvorený softvér / bezplatný softvér.

PyGame sa používa na všetky činnosti súvisiace s grafickým rozhraním. Naozaj úžasné veci. Použitím hry PyGame sa celá obrazovka prestaví raz za sekundu. V hornej časti môjho zdrojového kódu nájdete sekciu, ktorá umožňuje doladenie rôznych veľkostí zobrazenia. Existuje jedna sekcia pre malý kompozitný video displej a druhá časť pre väčší displej HDMI. Jednoducho komentujem jednu z dvoch sekcií na základe veľkosti displeja, ktorú potrebujem.

Ak chcete spustiť môj zdrojový kód, rozbaľte prílohu a skopírujte celý adresár na Pi pomocou správy súborov. Po skopírovaní spustite kód pomocou nasledujúcich príkazov ssh:

  1. cd Počasie
  2. sudo python weather.py

Príkaz sudo je potrebný na to, aby Python mohol ovládať / čítať piny GPIO. Pravdepodobne existuje nejaké riešenie tohto obmedzenia, ale uniká mi to.

Keď všetko začne fungovať pomocou ssh, je načase, aby sa počasie automaticky spustilo pri reštarte. To je tiež veľmi jednoduché.

  1. Pomocou ssh spustite "sudo vi /etc/rc.local"
  2. Tesne pred posledný riadok, ktorý hovorí „exit 0“, pridajte do riadkov nasledujúce.

    1. cd/home/pi/Počasie
    2. sudo python weather.py &> err.log

Po reštarte sa automaticky spustí aplikácia počasia na Pi. Ak to neskôr budete chcieť vypnúť, pomocou súboru ssh upravte súbor, pridajte znak komentára „#“pred oba riadky a reštartujte počítač.

Všimnite si, môj zdrojový kód je veľký hack a nie som na to veľmi hrdý. Ak by som však čakal, kým bude prezentovateľný, nikdy by nebol predložený. Takže, vezmite si to alebo nechajte, aby ste neplakali, pretože mám veľmi tenkú pokožku.

Niekoľko ďalších vecí, ktoré je potrebné poznamenať o mojom kóde. Zahrabaní tam si všimnete nejaký kód na rozhovor so zariadením X10. Toto bol môj pokus ovládať moje vonkajšie stĺpové svetlá, ktoré sú na adrese A3. Jednoducho som chcel, aby žiarovky svietili za súmraku a zhasínali za úsvitu. Zdá sa to dosť jednoduché a myslel som si, že to funguje. Pomocou hardvérového kľúča USB-to-RS232 na Pi som pripojil modul CM11A X10. CM11A je starý makro modul X10. CM11A má tiež port RS232, ktorý umožňuje ovládanie zbernice X10. Zdá sa, že stále existuje niekoľko chýb, pretože svetlá žiarovky nedostávajú správu!

Je tiež potrebné poznamenať, že na väčšom displeji je pozdĺž pravej strany displeja pekná otvorená medzera. Mojím plánom je pridať do tejto oblasti niekoľko stavových svetiel. Hrám s niektorými rádiami IEEE802.15.4 a ich výstupy sa jedného dňa objavia na tomto otvorenom mieste.

Najnovšie a najlepšie aktualizácie nájdete na mojej webovej stránke ph-elec.com.

Dajte mi vedieť v sekcii komentárov nižšie akékoľvek otázky, ktoré by ste mohli mať.

Ďakujem Jim.

A nezabudnite za mňa hlasovať! Ešte raz ďakujem.

BTW: Na mojej webovej stránke: www.ph-elec.com je vždy viac informácií

Krok 5: Aktualizácia metriky

Attached je nová verzia, ktorá umožňuje zobrazenie buď metrických, alebo imperiálnych.

Dúfam, že to pomôže, Jim

Odporúča: