Indholdsfortegnelse:

Raspberry Pi Internet Weather Station: 5 trin (med billeder)
Raspberry Pi Internet Weather Station: 5 trin (med billeder)

Video: Raspberry Pi Internet Weather Station: 5 trin (med billeder)

Video: Raspberry Pi Internet Weather Station: 5 trin (med billeder)
Video: My hotel mirror was TWO SIDED 😱 2024, Juli
Anonim
Raspberry Pi Internet Weather Station
Raspberry Pi Internet Weather Station
Raspberry Pi Internet Weather Station
Raspberry Pi Internet Weather Station

*** Opdatering ***

Denne instruktør er forældet. Vejretjenesterne for vejrdataene, der bruges i denne vejledning, fungerer ikke længere. MEN der er et alternativt projekt, der stort set gør det samme (kun bedre - denne instruks var altid bare et hack). Så her er det link, du vil følge:

https://piweatherrock.technicalissues.us/

Mange tak, gå til Gene Liverman på PiWeatherRock for at tage kappen op på dette projekt.

Denne instruktør viser dig, hvordan du opbygger en virkelig cool Raspberry Pi internetbaseret vejrstation. Faktisk er det lidt af en undererklæring at kalde dette byggeri en "vejrstation". Denne konstruktion kan let udvides til at give meget mere end blot vejret. Det er dog en god start, og det ser virkelig cool ud på mit skrivebord.

Vores familie (OK, mest mig) har nydt at have familien iPad på køkkenbordet, når den ikke er i brug, stille og roligt at vise de aktuelle vejrforhold udefra. Det er dog en smerte at indlæse og losse iPad ind og ud af arkadeholderen. Plus, lige da jeg går for at se på vejret, opdager jeg, at nogen har taget iPad / vejrskærmen. Det, der er nødvendigt, er en permanent bordplade, som børnene ikke kommer til at stryge som iPad.

Trin 1: Gen 1 - Lunchbox Pi Weather Station

Gen 1 - Lunchbox Pi Weather Station
Gen 1 - Lunchbox Pi Weather Station
Gen 1 - Lunchbox Pi Weather Station
Gen 1 - Lunchbox Pi Weather Station

Min første tanke var at bruge en lille sammensat videodisplay. Jeg hentede den på billedet på Ebay for 22 dollars - bare søg på "4,3 tommer TFT LCD bil bagfra -skærm bilmonitor". Skærmen har en rapporteret opløsning på 656 x 416 pixels, hvilket trodsigt gør visning af mange nyttige oplysninger til en udfordring! Displayet kræver 12Vdc som forsyningsspænding. Raspberry Pi har naturligvis brug for 5Vdc som forsyningsspænding. For at løse dette købte jeg en billig USB -billader fra Amazon. For omkring $ 6 bucks fandt jeg en 5Vdc ved 2 Amp bilskifter. Derfor har madkassen en ekstern 12Vdc vægvorte strømforsyning. 12Vdc driver displayet direkte. 12Vdc går også til USB -billaderen, der træder spændingen ned til en reguleret 5Vdc. Som et sidste hack lod jeg et par ledninger direkte mellem billaderen og Raspberry Pi - ikke min bedste idé.

Selvom det hele lidt fungerede, var jeg ikke rigtig tilfreds med kvaliteten af videoen på det sammensatte display. Den lille skrifttype på displayet var mere uklar, end jeg gerne ville. Plus, mens madpakken først virkede sød senere, virkede den lidt osteagtig.

Trin 2: Gen 2 - HDMI -skærm + laserskåret plexiglasarkadekasse

Gen 2 - HDMI -skærm + laserskåret plexiglasarkadekasse
Gen 2 - HDMI -skærm + laserskåret plexiglasarkadekasse
Gen 2 - HDMI -skærm + laserskåret plexiglasarkadekasse
Gen 2 - HDMI -skærm + laserskåret plexiglasarkadekasse
Gen 2 - HDMI -skærm + laserskåret plexiglasarkadekasse
Gen 2 - HDMI -skærm + laserskåret plexiglasarkadekasse

Tilbage på eBay fandt jeg en flot HDMI -skærm med åben ramme på $ 54 dollar med en opløsning på 800x600. Per definition har en åben ramme alt brug for en ramme at montere i. Da madkassens sødme var længe forbi, var det tid til noget laserskåret akryl. Mit lokale hackerrum i3Detroit har en rigtig flot 150 watt fræser, der kan lave hakket kød af 4,5 mm akryl.

Jeg baserede løst min arkadekabinet på iPad arkadeboksen. Hvis jeg nogensinde laver et Gen 3 -design, ville det trodsigt indeholde en aftagelig bakke til Pi. Det viser sig, at det er en stor smerte i nakken at forsøge at sætte ting i og ud af Pi, da der ikke er meget plads mellem Pi og sidevæggene.

HDMI -skærmen kræver også et 12Vdc -feed. Så jeg brugte det samme trick med at bruge en USB billader igen. Denne gang huggede jeg dog et gammelt USB -kabel op, så lodde ledninger på Pi var ikke påkrævet.

Hvis nogen er interesseret i arkadesagen, send en kommentar herunder, og jeg uploader DXF -filerne. Eller filerne er på mit websted på ph-elec.com.

Trin 3: Pi -opsætning

Opsætning af Pi
Opsætning af Pi

At opsætte en ny Raspberry Pi med den nødvendige software er ikke så svært. Al softwaren er skrevet i Python med kun et tilføjet Python -modul. Det ekstra Python -modul kaldes "pywapi". Her er et link, hvor du kan downloade modulet. Dette modul gør det let at få vejr i realtid fra enten Yahoo, Weather.com eller NOAA.

Første ting først, her er en tjekliste til opsætning af en rå Raspberry Pi:

  1. Download den nyeste Raspbian (Debian Wheezy). Pak ud for at 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 tager cirka fem minutter. Når du er færdig, skal du køre "synkronisering" for at skylle rørene.
  4. Installer SD -kort i Pi og genstart. Sørg for, at der er en Ethernet -forbindelse til Pi.
  5. Find "IP -adressen på den nye Pi ved hjælp af siden" Vedhæftede enheder "på routeren.
  6. Log ind på Pi ved hjælp af "ssh [email protected]. ???" hvor ??? er IP -nummeret ovenfra. Adgangskoden vil være "hindbær".
  7. På Pi skal du bruge kommandoen "raspi-config" til at konfigurere standardindstillinger.

    1. Tænd for automatisk boot i GUI'en.
    2. Indstil værtsnavnet til noget som "MyPi".
  8. Installer VNC på Pi med "sudo apt-get install tightvncserver".

    Kør "tightvncserver", som angiver adgangskoden

  9. Tilbage på den store Linux -boks, skal du bruge "Fjernskrivebord" til at se Pi GUI -skrivebordet.

    1. Indstil protokol til "VNC" og IP -nummer til "192.168.1.???:1". Bemærk ": 1" i slutningen af IP -nummeret.
    2. Tryk på tilslut -knappen, og angiv VNC -adgangskoden.
    3. Bingo, eksternt GUI Pi -skrivebord!

      Dette sparer trækning af en skærm, et tastatur og en mus for at oprette forbindelse til den nye Pi

    4. Kør WiFi -opsætningsikonet på skrivebordet. Konfigurer den nye Pi / USB WiFi for at oprette forbindelse til netværket.
    5. Luk VNC -forbindelsen - vi er nu færdige med eksterne desktops.
  10. Tilbage i ssh -vinduet skal du genstarte Pi med "sudo reboot". Afbryd Ethernet -kablet, da WiFi nu er konfigureret.
  11. Tilbage på hjemmerouteren finder du det nye IP -nummer, Pi bruger med WiFi.
  12. Brug ssh, log ind igen med det nye IP -nummer. Denne gang vil forbindelsen foregå via WiFi.
  13. Brug Files Manger på Linux og opret forbindelse til Pi ved hjælp af kommandoen "Opret forbindelse til server".

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

  14. Grundlæggende opsætning fuldført.

Dernæst skal pywapi downloades og installeres. Igen er dette ikke for svært med følgende trin:

  1. Download det seneste herfra. Udpak arkivet til et nyt bibliotek.
  2. Brug File Manger til at kopiere biblioteket til Pi -hjemmekataloget.
  3. Brug ssh til at gøre følgende på Pi:

    1. cd pywapi-0.3.8
    2. sudo python setup.py build
    3. sudo python setup.py installation
  4. Færdig.

Opdatering, jeg glemte to nævne to andre ting:

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

    1. sudo apt-get install avahi-daemon

      Dette gør det muligt at oprette forbindelse til Pi ved navn. Så på din hovedcomputer kan du oprette forbindelse som "ssh [email protected]" i stedet for at bruge IP -numre. Med flere Pi'er på netværket er det let at forvirre dem, medmindre de kaldes ved navn

    2. sudo raspi-config

      1. Kig efter og kør den 4. mulighed kaldet "Internationaliseringsmuligheder" og indstil din tidszone.
      2. Med tidszonen indstillet og ntpd (netværkstidsprotokol -dæmon) kører Pi altid den korrekte tid til inden for et par millisekunder! Skal elske det.
  2. OK, nu er vi færdige igen.

Trin 4: Kildekode

Kildekode
Kildekode

Al kildekoden til denne lille vejrvisning er baseret på Python, PyGame og Pywapi. Alle open source / gratis software.

PyGame bruges til at lave alle GUI -ting. Virkelig fantastiske ting. Ved hjælp af PyGame genopbygges hele skærmen en gang i sekundet. Nær toppen af min kildekode finder du et afsnit, der tillader justering til forskellige skærmstørrelser. Der er en sektion til den lille kompositvideoskærm og en anden sektion til den større HDMI -skærm. Jeg kommenterer simpelthen en af de to sektioner baseret på den skærmstørrelse, jeg har brug for.

For at få min kildekode til at køre, skal du bare pakke ud vedhæftede filer og kopiere hele biblioteket til Pi ved hjælp af Filhåndtering. Når den er kopieret, skal du starte koden og bruge følgende ssh -kommandoer:

  1. cd Vejret
  2. sudo python weather.py

Sudo -kommandoen er nødvendig, så Python kan styre / læse GPIO -benene. Der er nok en måde omkring denne begrænsning, men det undgår mig.

Når alt fungerer ved hjælp af ssh, er det tid til at få vejret til at starte automatisk ved en genstart. Dette er også virkelig let at gøre.

  1. Kør "sudo vi /etc/rc.local" med ssh
  2. Lige før den sidste linje, hvor der står "exit 0", tilføjes følgende til linjer.

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

Dette starter automatisk vejrprogrammet på Pi efter en genstart. Hvis du senere vil deaktivere dette, skal du bare bruge ssh til at redigere filen og tilføje kommentartegnet "#" foran begge linjer og genstarte.

Bemærk, min kildekode er et stort hack, og jeg er ikke særlig stolt af det. Men hvis jeg ventede, indtil det var præsentabelt, ville det aldrig blive præsenteret. Så tag det eller lad det bare ikke græde, da jeg har en meget tynd hud.

Et par andre ting at bemærke om min kode. Begravet derinde vil du bemærke en kode til at tale med en X10 -enhed. Dette var mit forsøg på at kontrollere mine udvendige pollys, der er på adresse A3. Jeg ville simpelthen have lamperne tændt i skumringen og slukket ved daggry. Virker let nok, og jeg troede, at jeg havde det til at fungere. Ved hjælp af en USB-til-RS232-dongle på Pi havde jeg tilsluttet et CM11A X10-modul. CM11A er et gammelt X10 makromodul. CM11A har også en RS232 -port, der tillader kontrol over X10 -bussen. Det ser ud til, at der stadig er nogle fejl, fordi lampestangens lamper ikke får beskeden!

Bemærk også, at på det større display er der et dejligt åbent mellemrum langs skærmens højre side. Min plan er at tilføje nogle statuslamper i dette område. Jeg spiller med nogle IEEE802.15.4 radioer, og deres output vil en dag dukke op på det åbne sted.

For de seneste og bedste opdateringer, besøg mit websted på ph-elec.com.

Godt, lad mig vide i kommentarfeltet nedenfor eventuelle spørgsmål, du måtte have.

Tak, Jim.

Åh, og glem ikke at stemme på mig! Tak igen.

BTW: Der er altid mere info på mit websted: www.ph-elec.com

Trin 5: Metrisk opdatering

Vedhæftet er en ny version, der tillader visning af enten metrisk eller imperial.

Håber dette hjælper, Jim

Anbefalede: