Innholdsfortegnelse:

Raspberry Pi Internett værstasjon: 5 trinn (med bilder)
Raspberry Pi Internett værstasjon: 5 trinn (med bilder)

Video: Raspberry Pi Internett værstasjon: 5 trinn (med bilder)

Video: Raspberry Pi Internett værstasjon: 5 trinn (med bilder)
Video: HOW TO - How do I set up my WIFI Weather Centre? 2024, November
Anonim
Raspberry Pi Internett værstasjon
Raspberry Pi Internett værstasjon
Raspberry Pi Internett værstasjon
Raspberry Pi Internett værstasjon

*** Oppdater ***

Denne instruksen har gått ut på dato. Værtjenestene for værdataene, brukt i denne instruksjonsboken, fungerer ikke lenger. MEN det er et alternativt prosjekt som i utgangspunktet gjør det samme (bare bedre - denne instruksen var alltid bare et hack). Så her er lenken du vil følge:

https://piweatherrock.technicalissues.us/

Tusen takk, gå til Gene Liverman på PiWeatherRock for å ta opp mantelen på dette prosjektet.

Denne instruksen viser deg hvordan du bygger en virkelig kul Raspberry Pi Internett-basert værstasjon. Faktisk, å kalle dette bygget en "værstasjon" er litt av en under uttalelse. Denne konstruksjonen kan lett utvides for å gi mye mer enn bare været. Imidlertid er det en god start, og det ser veldig kult ut på skrivebordet mitt.

Familien vår (OK, for det meste meg) har likt å ha familien iPad på kjøkkenbenken, når den ikke er i bruk, og viser stille gjeldende værforhold utenfor. Imidlertid er det vondt å laste og laste av iPad inn og ut av arkadeholderen. Pluss, akkurat når jeg går for å se på været, oppdager jeg at noen har tatt iPad / vær -displayet. Det som trengs er en permanent bordplate som barna ikke kommer til å sveipe som iPad.

Trinn 1: Gen 1 - Lunchbox Pi værstasjon

Gen 1 - Lunchbox Pi værstasjon
Gen 1 - Lunchbox Pi værstasjon
Gen 1 - Lunchbox Pi værstasjon
Gen 1 - Lunchbox Pi værstasjon

Min første tanke var å bruke en liten komposittvideoskjerm. Jeg hentet den på bildet på Ebay for 22 dollar - bare søk på "4,3 tommers TFT LCD -bil bakovervåkingsmonitor bilmonitor". Skjermen har en rapportert oppløsning på 656 x 416 piksler, noe som sikkert gjør visning av mye nyttig informasjon til en utfordring! Displayet krever 12Vdc som forsyningsspenning. Raspberry Pi trenger selvfølgelig 5Vdc som forsyningsspenning. For å løse dette kjøpte jeg en billig USB billader fra Amazon. For rundt $ 6 dollar fant jeg en 5Vdc by 2 Amp bilveksler. Derfor har matboksen en ekstern 12Vdc -veggvorterstrømforsyning. 12Vdc driver skjermen direkte. 12Vdc går også til USB -billaderen som reduserer spenningen til en regulert 5Vdc. Som en siste hack, loddet jeg et par ledninger direkte mellom billaderen og Raspberry Pi - ikke min beste idé.

Selv om alt fungerte, var jeg egentlig ikke fornøyd med kvaliteten på videoen på den sammensatte skjermen. Den lille skriften på skjermen var mer uklar enn jeg skulle ønske. Pluss at mens matboksen først virket søt senere, virket den litt ostete.

Trinn 2: Gen 2 - HDMI -skjerm + laserskåret plexiglassarkadeveske

Gen 2 - HDMI -skjerm + laserskåret plexiglassarkadeveske
Gen 2 - HDMI -skjerm + laserskåret plexiglassarkadeveske
Gen 2 - HDMI -skjerm + laserskåret plexiglassarkadeveske
Gen 2 - HDMI -skjerm + laserskåret plexiglassarkadeveske
Gen 2 - HDMI -skjerm + laserskåret plexiglassarkadeveske
Gen 2 - HDMI -skjerm + laserskåret plexiglassarkadeveske

Tilbake på eBay fant jeg en fin HDMI -skjerm med åpen ramme på $ 54 dollar med en oppløsning på 800x600. Per definisjon trenger en åpen ramme noe som helst en ramme å montere i. Siden søtheten i matboksen var lenge over var det på tide med litt laserskåret akryl. Min lokale hackerplass i3Detroit har en virkelig fin 150 watt kutter som kan lage kjøttdeig av 4,5 mm akryl.

Jeg baserte løshuset mitt løst på iPad -arkadeboksen. Hvis jeg noen gang lager et Gen 3 -design, vil det på tross av det inkludere en flyttbar / skyv ut skuff for Pi. Det viser seg at det er en stor smerte i nakken å prøve å koble ting inn og ut av Pi siden det ikke er mye plass mellom Pi og sideveggene.

HDMI -skjermen krever også en 12Vdc feed. Så jeg brukte det samme trikset med å bruke en USB billader igjen. Denne gangen hakket jeg imidlertid en gammel USB -kabel, så loddede ledninger på Pi var ikke nødvendig.

Hvis noen er interessert i arkadesaken, legg ut en kommentar nedenfor, så laster jeg opp DXF -filene. Eller filene er på nettstedet mitt på ph-elec.com.

Trinn 3: Pi -oppsett

Pi -oppsett
Pi -oppsett

Å sette opp en ny Raspberry Pi med den nødvendige programvaren er ikke så vanskelig. All programvare er skrevet i Python med bare en ekstra Python -modul. Den ekstra Python -modulen kalles "pywapi". Her er en lenke der du kan laste ned modulen. Denne modulen gjør det enkelt å få vær i sanntid fra enten Yahoo, Weather.com eller NOAA.

Første ting først, her er en sjekkliste for å sette opp en rå Raspberry Pi:

  1. Last ned den nyeste Raspbian (Debian Wheezy). Pakk ut for å få en.img -fil.
  2. Skriv til et SD-kort med "dd bs = 4M if = 2014-09-09-wheezy-raspbian.img of =/dev/sdb"
  3. Kommandoen dd tar omtrent fem minutter. Når du er ferdig, kjører du "synkronisering" for å skylle rørene.
  4. Installer SD -kortet i Pi og start på nytt. Sørg for at det er en Ethernet -tilkobling til Pi.
  5. Ved å bruke siden "Tilknyttede enheter" på ruteren finner du IP -adressen til den nye Pi.
  6. Logg på Pi ved å bruke "ssh [email protected]. ???" hvor ??? er IP -nummeret ovenfra. Passordet vil være "bringebær".
  7. På Pi bruker du kommandoen "raspi-config" for å konfigurere standardinnstillinger.

    1. Slå på automatisk oppstart i GUI.
    2. Sett vertsnavnet til noe som "MyPi".
  8. Installer VNC på Pi med "sudo apt-get install tightvncserver".

    Kjør "tightvncserver" som angir passordet

  9. Tilbake på den store Linux -boksen, bruk "Remote Desktop" for å se Pi GUI -skrivebordet.

    1. Sett Protocol til "VNC" og IP -nummer til "192.168.1.???:1". Legg merke til ": 1" på slutten av IP -nummeret.
    2. Trykk på tilkoblingsknappen og oppgi VNC -passordet.
    3. Bingo, eksternt GUI Pi -skrivebord!

      Dette sparer å dra ut en skjerm, tastatur og mus for å koble til den nye Pi

    4. Kjør WiFi -oppsettikonet på skrivebordet. Sett opp den nye Pi / USB WiFi for å koble til nettverket.
    5. Lukk VNC -tilkoblingen - vi er nå ferdige med eksterne skrivebord.
  10. Tilbake i ssh -vinduet, start Pi på nytt med "sudo reboot". Koble fra Ethernet -kabelen siden WiFi nå er konfigurert.
  11. Tilbake på hjemmeruteren, finn det nye IP -nummeret Pi bruker med WiFi.
  12. Ved hjelp av ssh logger du på igjen med det nye IP -nummeret. Denne gangen vil tilkoblingen være via WiFi.
  13. Bruk Files Manger på Linux, og koble til Pi ved hjelp av kommandoen "koble til server".

    Serveradressen er "sftp: //192.168.1. ???/home/pi"

  14. Grunnleggende oppsett er fullført.

Deretter må pywapi lastes ned og installeres. Igjen, dette er ikke så vanskelig med følgende trinn:

  1. Last ned det siste herfra. Pakk ut arkivet til en ny katalog.
  2. Ved hjelp av File Manger, kopierer du katalogen til Pi -hjemmekatalogen.
  3. Bruk ssh, gjør følgende på Pi:

    1. cd pywapi-0.3.8
    2. sudo python setup.py build
    3. sudo python setup.py installere
  4. Ferdig.

Oppdatering, jeg glemte to nevne to andre ting:

  1. Kjør følgende kommando på Pi:

    1. sudo apt-get install avahi-daemon

      Dette tillater tilkobling til Pi ved navn. Så på hoveddatamaskinen kan du koble til som "ssh [email protected]" i stedet for å bruke IP -numre. Med flere Pi -er på nettverket er det lett å forvirre dem med mindre de blir kalt ut med navn

    2. sudo raspi-config

      1. Se etter og kjør det fjerde alternativet "Internasjonaliseringsalternativer" og angi tidssonen din.
      2. Når tidssonen er angitt og ntpd (nettverkstidsprotokolldemon) kjører Pi alltid den riktige tiden til innen et par millisekunder! Må elske det.
  2. OK, nå er vi ferdige igjen.

Trinn 4: Kildekode

Kildekode
Kildekode

All kildekoden for denne lille værvisning er basert på Python, PyGame og Pywapi. All åpen kildekode / gratis programvare.

PyGame brukes til å gjøre alle GUI -tingene. Virkelig fantastiske ting. Ved bruk av PyGame blir hele skjermen gjenoppbygd en gang i sekundet. Nær toppen av kildekoden min finner du en seksjon som gjør det mulig å justere for forskjellige skjermstørrelser. Det er en seksjon for den lille komposittvideovisningen og den andre delen for den større HDMI -skjermen. Jeg kommenterer bare en av de to seksjonene basert på skjermstørrelsen jeg trenger.

For å få kildekoden til å kjøre, pakker du ut vedlegget og kopier hele katalogen til Pi ved hjelp av Filbehandling. Når den er kopiert, starter du koden med følgende ssh -kommandoer:

  1. cd Vær
  2. sudo python weather.py

Sudo -kommandoen er nødvendig for at Python kan kontrollere / lese GPIO -pinnene. Det er sannsynligvis en måte å unngå denne begrensningen, men den unnviker meg.

Når alt fungerer med ssh, er det på tide å få været til å starte automatisk ved en omstart. Dette er også veldig enkelt å gjøre.

  1. Bruk ssh, kjør "sudo vi /etc/rc.local"
  2. Like før den siste linjen, som sier "exit 0", legger du til følgende i linjene.

    1. cd/home/pi/Vær
    2. sudo python weather.py &> err.log

Dette starter automatisk værprogrammet på Pi etter en omstart. Hvis du senere vil slå av dette, bruker du bare ssh til å redigere filen og legge til kommentartegnet "#" foran begge linjene og starte på nytt.

Vær oppmerksom på at kildekoden min er et stort hack, og jeg er ikke veldig stolt av den. Imidlertid, hvis jeg ventet til det var presentabelt, ville det aldri bli presentert. Så, ta det eller la det bare ikke gråte, siden jeg har en veldig tynn hud.

Et par andre ting å merke seg om koden min. Begravet der inne vil du legge merke til noen kode for å snakke med en X10 -enhet. Dette var mitt forsøk på å kontrollere de utvendige pollysene som er på adresse A3. Jeg ville bare at lampene skulle slås på i skumringen og slukke ved daggry. Virker enkelt nok, og jeg trodde jeg hadde det til å fungere. Ved hjelp av en USB-til-RS232-dongle på Pi hadde jeg koblet til en CM11A X10-modul. CM11A er en gammel X10 makromodul. CM11A har også en RS232 -port som tillater kontroll over X10 -bussen. Det ser ut til at det fortsatt er noen feil fordi lampestanglampene ikke får meldingen!

Merk også at på den større skjermen er det et fint åpent gap langs høyre side av skjermen. Planen min er å legge til noen statuslamper i det området. Jeg spiller med noen IEEE802.15.4 radioer og utgangene deres vil en dag dukke opp på det åpne stedet.

For de siste og beste oppdateringene, besøk mitt nettsted på ph-elec.com.

Vel, gi meg beskjed i kommentarfeltet nedenfor hvis du har spørsmål.

Takk, Jim.

Oh, og ikke glem å stemme på meg! Takk igjen.

BTW: Det er alltid mer informasjon på nettstedet mitt: www.ph-elec.com

Trinn 5: Metrisk oppdatering

Vedlagt er en ny versjon som tillater visning av enten metrisk eller imperial.

Håper dette hjelper, Jim

Anbefalt: