INHOUDSOPGAWE:

Raspberry Pi Internet Weather Station: 5 stappe (met foto's)
Raspberry Pi Internet Weather Station: 5 stappe (met foto's)

Video: Raspberry Pi Internet Weather Station: 5 stappe (met foto's)

Video: Raspberry Pi Internet Weather Station: 5 stappe (met foto's)
Video: BRESSER WIFI color weather center with 5in1 profi sensor 2024, Julie
Anonim
Framboos Pi internet weerstasie
Framboos Pi internet weerstasie
Framboos Pi internet weerstasie
Framboos Pi internet weerstasie

*** Opdateer ***

Hierdie instruksie is verouderd. Die weerdienste vir die weerdata wat in hierdie instruksies gebruik word, werk nie meer nie. Daar is egter 'n alternatiewe projek wat basies dieselfde doen (net beter - hierdie instruksies was altyd net 'n hack). So hier is die skakel wat u wil volg:

https://piweatherrock.technicalissues.us/

Baie dankie, gaan aan Gene Liverman by PiWeatherRock vir die opneem van hierdie projek.

Hierdie instruksies sal u wys hoe u 'n baie cool Raspberry Pi internetgebaseerde weerstasie kan bou. Om hierdie gebou 'n 'weerstasie' te noem, is eintlik 'n bietjie onderverklaring. Hierdie konstruksie kan maklik uitgebrei word om veel meer as bloot die weer te bied. Dit is egter 'n goeie begin en dit lyk regtig cool op my lessenaar.

Ons gesin (OK, meestal ek) het dit geniet om die gesins -iPad op die kombuistoonbank te hê, terwyl hulle nie die huidige weerstoestande buite gebruik nie. Dit is egter 'n pyn om die iPad in en uit die arkadehouer te laai en af te laai. Boonop, net as ek na die weer gaan kyk, ontdek ek dat iemand die iPad / weerskerm geneem het. Wat nodig is, is 'n permanente toonbank wat die kinders nie soos die iPad gaan vee nie.

Stap 1: Gen 1 - die Lunchbox Pi Weerstasie

Gen 1 - die Lunchbox Pi Weerstasie
Gen 1 - die Lunchbox Pi Weerstasie
Gen 1 - die Lunchbox Pi Weerstasie
Gen 1 - die Lunchbox Pi Weerstasie

My eerste gedagte was om 'n bietjie saamgestelde video -skerm te gebruik. Ek het die een op die foto op Ebay vir $ 22 dollar opgetel - soek eenvoudig op "4.3 Inch TFT LCD Car Rear View Monitor Car Monitor". Die skerm het 'n gerapporteerde resolusie van 656 by 416 pixels, wat dit baie uitdagend maak om baie nuttige inligting te vertoon! Die voedingsspanning benodig 12Vdc. Die Raspberry Pi benodig natuurlik 5Vdc as die voedingsspanning. Om dit op te los, het ek 'n goedkoop USB -motorlaaier by Amazon gekoop. Vir ongeveer $ 6 dollar het ek 'n 5Vdc by 2 Amp -motorwisselaar gevind. Daarom het die kosblik 'n eksterne kragtoevoer van 12Vdc by die muur. Die 12Vdc voed die skerm direk. Die 12Vdc gaan ook na die USB -motorlaaier wat die spanning na 'n gereguleerde 5Vdc verlaag. As 'n laaste hack het ek 'n paar drade direk tussen die motorlaaier en die Raspberry Pi gesoldeer - nie my beste idee nie.

Alhoewel dit nogal gewerk het, was ek nie regtig tevrede met die kwaliteit van die video op die saamgestelde skerm nie. Die klein lettertipe op die skerm was meer vaag as wat ek sou wou hê. Boonop het die kosblik aanvanklik oulik gelyk, maar dit was nogal kaasagtig.

Stap 2: Gen 2 - HDMI -monitor + lasergesnyde plexiglas -arkadekas

Gen 2 - HDMI -monitor + lasergesnyde plexiglas -arcade -omhulsel
Gen 2 - HDMI -monitor + lasergesnyde plexiglas -arcade -omhulsel
Gen 2 - HDMI -monitor + lasergesnyde plexiglas -arcade -omhulsel
Gen 2 - HDMI -monitor + lasergesnyde plexiglas -arcade -omhulsel
Gen 2 - HDMI -monitor + lasergesnyde plexiglas -arcade -omhulsel
Gen 2 - HDMI -monitor + lasergesnyde plexiglas -arcade -omhulsel

Terug op eBay het ek 'n oulike HDMI -raammonitor van $ 54 dollar met 'n resolusie van 800x600 gevind. Per definisie het 'n oop raam enigiets 'n raam nodig om in te sit. My plaaslike hacker space i3Detroit het 'n baie mooi 150 watt snyer wat maalvleis van 4,5 mm akriel kan maak.

Ek het my arcade -omhulsel losweg gebaseer op die iPad -arcade -boks. As ek ooit 'n Gen 3 -ontwerp sou maak, sou dit beslis 'n verwyderbare skyfie vir die Pi insluit. Dit blyk dat dit 'n groot pyn in die nek is om dinge in en uit die Pi te probeer steek, aangesien daar nie veel ruimte tussen die Pi en die symure is nie.

Die HDMI -monitor benodig ook 'n 12Vdc -toevoer. Dus het ek dieselfde truuk gebruik om weer 'n USB -motorlaaier te gebruik. Hierdie keer het ek egter 'n ou USB -kabel afgekap, sodat gesoldeerde drade op die Pi nie nodig was nie.

As iemand belangstel in die arcade -saak, plaas 'n opmerking hieronder, en ek laai die DXF -lêers op. Of die lêers is op my webwerf by ph-elec.com.

Stap 3: Pi -opstelling

Opstelling van Pi
Opstelling van Pi

Dit is nie so moeilik om 'n nuwe Raspberry Pi met die nodige sagteware op te stel nie. Al die sagteware is in Python geskryf met slegs een bygevoegde Python -module. Die ekstra Python -module word "pywapi" genoem. Hier is 'n skakel waar u die module kan aflaai. Hierdie module maak dit maklik om real-time weer te kry van Yahoo, Weather.com of NOAA.

Eerstens, hier is 'n kontrolelys vir die opstel van 'n rou framboos Pi:

  1. Laai die nuutste Raspbian (Debian Wheezy) af. Pak die rits uit om 'n.img -lêer te kry.
  2. Skryf die na 'n SD-kaart met "dd bs = 4M if = 2014-09-09-wheezy-raspbian.img of =/dev/sdb"
  3. Die opdrag dd neem ongeveer vyf minute. As u klaar is, voer 'sinchroniseer' uit om die pype te spoel.
  4. Installeer die SD -kaart in die Pi en herlaai. Maak seker dat daar 'n Ethernet -verbinding met die Pi is.
  5. Vind die IP -adres van die nuwe Pi met behulp van die bladsy "Aangehegte toestelle" op die router.
  6. Teken in op die Pi met 'ssh [email protected]. ???' waar ??? is die IP -nommer van bo. Die wagwoord sal "framboos" wees.
  7. Gebruik op die Pi die opdrag "raspi-config" om standaardinstellings op te stel.

    1. Skakel outomatiese opstart in die GUI aan.
    2. Stel die gasheernaam op iets soos "MyPi".
  8. Installeer VNC op die Pi met "sudo apt-get install tightvncserver".

    Begin "tightvncserver" wat die wagwoord stel

  9. Terug in die groot Linux -boks, gebruik 'Remote Desktop' om die Pi GUI -lessenaar te sien.

    1. Stel Protocol op "VNC" en IP -nommer op "192.168.1.???:1". Let op die ": 1" aan die einde van die IP -nommer.
    2. Druk die verbindingsknoppie en verskaf die VNC -wagwoord.
    3. Bingo, eksterne GUI Pi -lessenaar!

      Dit bespaar die sleep van 'n monitor, sleutelbord en muis om aan te sluit op die nuwe Pi

    4. Voer die WiFi -installasie -ikoon op die lessenaar uit. Stel die nuwe Pi / USB WiFi in om aan die netwerk te koppel.
    5. Sluit die VNC -verbinding - ons is nou klaar met eksterne desktops.
  10. Terug in die ssh -venster, herlaai die Pi met 'sudo reboot'. Ontkoppel die Ethernet -kabel, aangesien die WiFi nou opgestel is.
  11. Terug op die tuisrouter, vind die nuwe IP -nommer wat die Pi met WiFi gebruik.
  12. Met ssh, meld weer aan met die nuwe IP -nommer. Hierdie keer sal die verbinding via WiFi wees.
  13. Maak met die Files Manger op Linux verbinding met die Pi met die opdrag "verbind na bediener".

    Die bedieneradres is "sftp: //192.168.1. ???/home/pi"

  14. Basiese opstelling voltooi.

Vervolgens moet die pywapi afgelaai en geïnstalleer word. Weereens, dit is nie te moeilik met die volgende stappe nie:

  1. Laai die nuutste hier af. Pak die argief uit in 'n nuwe gids.
  2. Kopieer die gids met File Manger na die Pi -tuisgids.
  3. Doen die volgende op die Pi met ssh:

    1. cd pywapi-0.3.8
    2. sudo python setup.py bou
    3. sudo python setup.py installeer
  4. Klaar.

Update, ek het vergeet dat twee ander dinge noem:

  1. Voer die volgende opdrag uit op die Pi:

    1. sudo apt-get install avahi-daemon

      Dit maak die verbinding met die Pi by die naam moontlik. U kan dus op u hoofrekenaar koppel as 'ssh [email protected]' in plaas van om IP -nommers te gebruik. Met verskeie Pi's op die netwerk, is dit maklik om hulle deurmekaar te kry, tensy hulle met die naam uitgeroep word

    2. sudo raspi-config

      1. Soek en voer die vierde opsie met die naam "Internasionaliseringsopsies" uit en stel u tydsone in.
      2. As die tydsone ingestel is en ntpd (netwerk -tydprotokol -demoon) loop, sal die Pi altyd die korrekte tyd binne 'n paar millisekondes vertoon! Moet daarvan hou.
  2. OK, nou is ons weer klaar.

Stap 4: Bronkode

Bronkode
Bronkode

Al die bronkode vir hierdie klein weerweergawe is gebaseer op Python, PyGame en Pywapi. Alle open source / gratis sagteware.

PyGame word gebruik om al die GUI -dinge te doen. Regtig wonderlike goed. Deur PyGame te gebruik, word die hele skerm een keer per sekonde herbou. Bo -aan die bron van my bronkode vind u 'n gedeelte waarmee u verskillende skermgroottes kan aanpas. Daar is een afdeling vir die klein saamgestelde video -skerm en 'n tweede gedeelte vir die groter HDMI -skerm. Ek lewer eenvoudig kommentaar op een van die twee afdelings op grond van die vertoongrootte wat ek benodig.

Om my bronkode aan die gang te kry, pak die aanhangsel uit en kopieer die hele gids met behulp van File Manage op die Pi. Sodra dit gekopieer is, begin die kode met die volgende ssh -opdragte:

  1. cd Weer
  2. sudo python weer.py

Die sudo -opdrag is nodig sodat Python die GPIO -penne kan beheer / lees. Daar is waarskynlik 'n manier om hierdie beperking te vermy, maar dit ontwyk my.

Sodra alles met ssh werk, is dit tyd dat weer weer outomaties begin tydens herlaai. Dit is ook regtig maklik om te doen.

  1. Gebruik ssh en voer "sudo vi /etc/rc.local" uit
  2. Net voor die laaste reël, wat sê "afrit 0", voeg die volgende by reëls.

    1. cd/home/pi/Weer
    2. sudo python weather.py &> err.log

Dit begin outomaties die weerprogram op die Pi na 'n herlaai. As u dit later wil uitskakel, gebruik dan ssh om die lêer te wysig en voeg die opmerkingskarakter "#" voor beide reëls by en herlaai.

Let op, my bronkode is 'n groot hack en ek is nie baie trots daarop nie. As ek egter wag totdat dit aanbiedbaar was, sou dit nooit aangebied word nie. So, neem dit of laat dit, moenie huil nie, want ek het 'n baie dun vel.

'N Paar ander dinge om op te let oor my kode. As u daar begrawe is, sien u 'n kode om met 'n X10 -toestel te praat. Dit was my poging om my buitepaalligte op adres A3 te beheer. Ek wou net hê die lampe moet skemer wees en met dagbreek af. Lyk maklik genoeg en ek het gedink ek het dit laat werk. Met 'n USB-na-RS232-dongle op die Pi het ek 'n CM11A X10-module gekoppel. Die CM11A is 'n ou X10 -makro -module. Die CM11A het ook 'n RS232 -poort wat beheer oor die X10 -bus moontlik maak. Dit lyk asof daar nog 'n paar foute is, want die lamppaalligte kry nie die boodskap nie!

Op die groter skerm is daar ook 'n mooi oop spleet aan die regterkant van die skerm. My plan is om 'n paar statuslampe in die omgewing by te voeg. Ek speel met 'n paar IEEE802.15.4 radio's en hul uitsette sal eendag op die oop plek verskyn.

Besoek my webwerf by ph-elec.com vir die nuutste en beste opdaterings.

Laat weet my in die kommentaar -afdeling hieronder enige vrae wat u mag hê.

Dankie, Jim.

Ag, en moenie vergeet om vir my te stem nie! Weereens dankie.

BTW: Daar is altyd meer inligting op my webwerf: www.ph-elec.com

Stap 5: Metriese opdatering

Aangeheg is 'n nuwe weergawe waarmee metrieke of imperiale vertoon kan word.

Hoop dit help, Jim

Aanbeveel: