Innholdsfortegnelse:

Komplett DIY Raspberry Pi værstasjon med programvare: 7 trinn (med bilder)
Komplett DIY Raspberry Pi værstasjon med programvare: 7 trinn (med bilder)

Video: Komplett DIY Raspberry Pi værstasjon med programvare: 7 trinn (med bilder)

Video: Komplett DIY Raspberry Pi værstasjon med programvare: 7 trinn (med bilder)
Video: Upgrade your Raspberry Pi to a Homelab (instead of a Raspberry Pi 5) 2024, November
Anonim
Komplett DIY Raspberry Pi værstasjon med programvare
Komplett DIY Raspberry Pi værstasjon med programvare
Komplett DIY Raspberry Pi værstasjon med programvare
Komplett DIY Raspberry Pi værstasjon med programvare

I slutten av februar så jeg dette innlegget på Raspberry Pi -nettstedet.

www.raspberrypi.org/school-weather-station-…

De hadde opprettet Raspberry Pi værstasjoner for skoler. Jeg ville helt ha en! Men på det tidspunktet (og jeg tror fremdeles når jeg skrev dette) er de ikke offentlig tilgjengelige (du må være i en utvalgt gruppe testere). Jeg ville fortsette, og jeg hadde ikke lyst til å betale ut hundrevis av dollar for et eksisterende tredjepartssystem.

Så, som en god instruerbar bruker, bestemte jeg meg for å lage min egen !!!

Jeg gjorde litt research og fant noen gode kommersielle systemer jeg kunne basere mine på. Jeg fant noen gode instrukser for å hjelpe med noen av sensor- eller bringebær -PI -konseptene. Jeg fant til og med dette nettstedet, som var lønnskitt, de hadde revet et eksisterende Maplin -system:

www.philpot.me/weatherinsider.html

Spol fremover omtrent en måned, og jeg har et grunnleggende arbeidssystem. Dette er et komplett Raspberry Pi Weather -system med bare Raspberry Pi -maskinvaren, kameraet og noen forskjellige analoge og digitale sensorer for å gjøre våre målinger. Ingen kjøp av ferdige vindmålere eller regnmålere, vi lager våre egne! Her er funksjonene:

  • Registrerer informasjon til RRD og CSV, så den kan manipuleres eller eksporteres/importeres til andre formater.
  • Bruker Weather Underground API for å få kul informasjon som historiske høyder og nedturer, månefaser og soloppgang/solnedgang.
  • Bruker Raspberry Pi -kameraet til å ta et bilde en gang i minuttet (du kan deretter bruke dem til å lage tidsforsinkelser).
  • Har websider som viser dataene for gjeldende forhold og noen historiske (siste time, dag, 7 dager, måned, år). Nettstedets tema endres med tiden på dagen (4 alternativer: soloppgang, solnedgang, dag og natt).

All programvare for registrering og visning av informasjonen er i en Github, jeg har til og med gjort noen feilsporing, funksjonsforespørsler der også:

github.com/kmkingsbury/raspberrypi-weather…

Dette prosjektet var en flott læringsopplevelse for meg, jeg måtte virkelig dykke ned i mulighetene til Raspberry Pi, spesielt med GPIO, og jeg traff også noen læringsmertepunkter. Jeg håper at du, leseren, kan lære av noen av mine prøvelser og trengsler.

Trinn 1: Materialer

Materialer
Materialer
Materialer
Materialer
Materialer
Materialer
Materialer
Materialer

Elektronikk:

  • 9 Reed Switches (8 for vindretningen, 1 for regnemåleren, eventuelt 1 for vindhastigheten i stedet for en hallsensor), jeg brukte disse:
  • 1 hallsensor (for vindhastigheten, kalt vindmåler) -
  • Temperatur (https://amzn.to/2RIHf6H)
  • Fuktighet (mange fuktighetssensorer kommer med en temperatursensor), jeg brukte DHT11:
  • Trykk (BMP kom også med en temperatursensor), jeg brukte BMP180, https://www.adafruit.com/product/1603, dette produktet er nå avviklet, men det er en tilsvarende med BMP280 (https://amzn.to/2E8nmhi)
  • Fotoresistor (https://amzn.to/2seQFwd)
  • GPS Chip eller USB GPS (https://amzn.to/36tZZv3).
  • 4 sterke magneter (2 for vindmåler, 1 for retning, 1 for regnmåler), jeg brukte de sjeldne jordartsmagneter, sterkt anbefalt) (https://amzn.to/2LHBoKZ).
  • En håndfull assorterte motstander, jeg har denne pakken som har vist seg ekstremt praktisk over tid:
  • MCP3008 - for å konvertere analoge til digitale innganger for Raspberry Pi -

Maskinvare

  • Raspberry Pi - Jeg brukte opprinnelig 2 med en trådløs adapter, og får nå 3 B+ -settet med strømadapter også. (https://amzn.to/2P76Mop)
  • Pi -kamera
  • En solid 5V strømadapter (dette viste seg å være smertefullt irriterende, jeg fikk til slutt Adafruit, ellers trekker kameraet for mye juice og kan/vil henge Pi, det er her: https://www.adafruit.com/products /501)

Materialer:

  • 2 trykklagre (eller skateboard eller rulleskøyter vil også fungere), jeg har disse på Amazon:
  • 2 vanntette skap (jeg brukte et elektrisk kabinett fra den lokale store boksbutikken), spiller ingen rolle, trenger bare å finne et kabinett i god størrelse som skal ha nok plass og beskytte alt).
  • Noen PVC -rør og endehett (forskjellige størrelser).
  • Monteringsbeslag i PVC
  • Et par tynne plexiglass (ingenting er for fancy).
  • plastskiller
  • miniskruer (jeg brukte #4 bolter og muttere).
  • 2 Juletrepynt av plast - brukt til vindmåleren, jeg fikk min i den lokale lobbyen.
  • Liten dowel
  • Lite stykke kryssfiner.

Verktøy:

  • Dremel
  • Limpistol
  • Loddejern
  • Multimeter
  • Bore

Trinn 2: Hovedkapsling - Pi, GPS, kamera, lys

Hovedkapsling - Pi, GPS, kamera, lys
Hovedkapsling - Pi, GPS, kamera, lys
Hovedkapsling - Pi, GPS, kamera, lys
Hovedkapsling - Pi, GPS, kamera, lys
Hovedkapsling - Pi, GPS, kamera, lys
Hovedkapsling - Pi, GPS, kamera, lys
Hovedkapsling - Pi, GPS, kamera, lys
Hovedkapsling - Pi, GPS, kamera, lys

Hovedkapslingen inneholder PI, kamera, GPS og lyssensor. Den er designet for å være vanntett siden den rommer alle de kritiske komponentene, målingene tar fra det eksterne kabinettet og at den er designet for å bli utsatt/åpen for elementene.

Trinn:

Velg et kabinett, jeg brukte en elektrisk koblingsboks, forskjellige prosjektbokser og vanntette kasser vil fungere like bra. Nøkkelpunktet er at det har nok plass til å holde alt.

Min vedlegg inneholder:

  • Raspberry pi (på standoffs) - Trenger en WIFI -brikke, vil ikke kjøre Cat5e inn i bakgården!
  • Kameraet (også på avstand)
  • GPS -brikken, tilkoblet via USB (ved hjelp av en sparkfun FTDI -kabel: https://www.sparkfun.com/products/9718) - GPS -en gir breddegrad og lengdegrad, noe som er fint, men enda viktigere, jeg kan få nøyaktig tid fra GPS!
  • to ethernet/cat 5 -kontakter for å koble hovedkapslingen til det andre kabinettet som huser de andre sensorene. Dette var bare en praktisk måte å ha kabler mellom de to boksene, jeg har omtrent 12 ledninger, og de to cat5 gir 16 mulige tilkoblinger, så jeg har plass til å utvide/endre ting rundt.

Det er et vindu foran kameraet mitt for kameraet å se ut av. Etuiet med dette vinduet beskytter kameraet, men jeg hadde problemer med at den røde lysdioden på kameraet (når det tar et bilde) reflekterer plexiglasset og vises på bildet. Jeg brukte litt svart tape for å dempe dette og prøve å blokkere det (og andre lysdioder fra Pi og GPS), men det er ikke 100% ennå.

Trinn 3: 'Fjernkapsling' for temperatur, fuktighet, trykk

'Fjernkapsling' for temperatur, fuktighet, trykk
'Fjernkapsling' for temperatur, fuktighet, trykk
'Fjernkapsling' for temperatur, fuktighet, trykk
'Fjernkapsling' for temperatur, fuktighet, trykk
'Fjernkapsling' for temperatur, fuktighet, trykk
'Fjernkapsling' for temperatur, fuktighet, trykk

Det er her jeg lagret temperatur-, fuktighets- og trykksensorene samt "hookups" for regnmåler, vindretning og vindhastighetssensorer.

Det er veldig enkelt, pinner her kobles via ethernet -kablene til de nødvendige pinnene på Raspberry Pi.

Jeg prøvde å bruke digitale sensorer der jeg kunne, og deretter ble hvilken som helst analog lagt til på MCP 3008, det tar opptil 8 analoge som var mer enn nok for mine behov, men gir rom for å forbedre / utvide.

Dette kabinettet er åpent for luften (det må være for nøyaktig temperatur, fuktighet og trykk). De nederste hullene er spratt ut, så jeg ga noen av kretsene en spray med en Silicone Conformal Coating spray (du kan få den på nettet eller et sted som Fry's Electronics). Forhåpentligvis skal det beskytte metallet mot fuktighet, selv om du må være forsiktig og ikke bruke det på noen av sensorene.

Toppen av kabinettet er også der vindhastighetssensoren passer. Det var et kast, jeg kunne ha satt vindhastigheten eller vindretningen på toppen, jeg så ingen store fordeler med den ene fremfor den andre. Totalt sett vil du ha begge sensorene (vindstyrke og hastighet) høy nok der bygninger, gjerder, hindringer ikke forstyrrer målingene.

Trinn 4: Regnmåler

Regnmåler
Regnmåler
Regnmåler
Regnmåler
Regnmåler
Regnmåler

Jeg fulgte stort sett denne instruksen for å lage den faktiske måleren:

www.instructables.com/id/Arduino-Weather-St…

Jeg laget dette av plexiglass, så jeg kunne se hva som foregikk, og jeg trodde det ville være kult. Alt i alt fungerte plexiglasset ok, men kombinert med Gluegun, gummitetningsmasse og generell skjæring og boring ser det ikke så uberørt ut, selv med beskyttelsesfilmen.

Viktige punkter:

  • Sensoren er en enkel sivbryter og magnet behandlet som et knappetrykk i RaspberryPi -koden, jeg teller enkelt bøtter over tid og gjør deretter konverteringen senere til "centimeter regn".
  • Gjør den stor nok til å holde nok vann til å tippe, men ikke så mye at den trenger mye for å tippe. Mitt første pass gjorde at hvert brett ikke var stort nok til at det skulle fylle og begynne å renne over kanten før det tippet.
  • Jeg fant også ut at gjenværende vann kan tilføre målingen feil. Det vil si, helt tørt det tok X dråper å fylle en side og tippe den, når det var vått tok det Y dråper (som er mindre enn X) å fylle og tippe. Ikke en enorm mengde, men ble påvirket når jeg prøvde å kalibrere og få en god "1 last tilsvarer hvor mye" måling.
  • Balansere det, du kan jukse ved å legge lim med lim til de nedre endene hvis den ene siden er mye tyngre enn den andre, men du trenger det så nær balansert du kan.
  • Du kan se på bildet jeg satte opp en liten testrigg med noen svamper og en treholder for å teste og få den balansert skikkelig før du installerer.

Trinn 5: Vindretning

Vindretning
Vindretning
Vindretning
Vindretning
Vindretning
Vindretning

Dette var en enkel værhane. Jeg baserte elektronikken på Maplin -systemet:

www.philpot.me/weatherinsider.html

Viktige punkter:

Dette er en analog sensor. De åtte sivbryterne kombinert med forskjellige motstander deler opp utgangen i biter, slik at jeg kan identifisere hvilken koordinat sensoren er i etter verdien. (Konseptet er forklart i denne instruksjonsboken:

  • Etter at du har skrudd på værvingen, må du kalibrere den slik at "denne retningen er det som peker nordover".
  • Jeg lagde en testrigg med tre slik at jeg enkelt kunne slå inn og ut motstander som dekket hele verdiområdet for meg, det var super nyttig!
  • Jeg brukte et trykklager, det gjorde det bra, jeg er sikker på at et vanlig skateboard- eller rulleskullager hadde vært like fint.

Trinn 6: Vindhastighet

Vindfart
Vindfart
Vindfart
Vindfart
Vindfart
Vindfart

Denne vendte jeg igjen til Instructable community og fant og fulgte denne instruerbare:

www.instructables.com/id/Data-Logging-Anemo…

Viktige punkter:

  • Du kan også bruke hallsensoren eller bytte til en sivsensor. Hallsensoren er mer en analog sensor, så hvis du bruker den på en digital måte, som et knappetrykk, må du sørge for at avlesningen/spenningen er høy nok til at den fungerer som et ekte knappetrykk, i stedet for ikke nok.
  • Koppens størrelse er avgjørende, det er også lengden på pinnen! Opprinnelig brukte jeg bordtennisballer og de var altfor små. Jeg la dem også på lange pinner som ikke fungerte heller. Jeg ble veldig frustrert, og da kom jeg over det som var lærerikt, Ptorelli gjorde en god jobb med å forklare, og det hjalp meg når det originale designet mitt ikke fungerte like bra.

Trinn 7: Programvare

Programvare
Programvare
Programvare
Programvare

Programvare er skrevet i Python for å registrere data fra sensorene. Jeg brukte noen andre tredjeparts Git -biblioteker fra Adafruit og andre for å få informasjonen fra sensorene og GPS -en. Det er også noen cron -jobber som også trekker noe av API -informasjonen. Det meste er forklart/skissert i Git -dokumentasjonen på docs/install_notes.txt

Nettprogramvaren er i PHP for å vise den på nettsiden, samtidig som den bruker YAML for konfigurasjonsfilene og selvfølgelig RRD -verktøyet til å lagre og tegne dataene.

Den bruker Weather Underground API for å få noen av de interessante dataene som sensorer ikke kan trekke: Ta opp Hi's and Lows, Phase of the Moon, Sunset and Sunrise times, det er også tidevann tilgjengelig på API -en deres, som jeg syntes var veldig fin, men jeg bor i Austin TX som er veldig langt fra vann.

Alt er tilgjengelig på Github og vedlikeholdes aktivt og brukes for tiden mens jeg videreutvikler og kalibrerer mitt eget system, slik at du også kan sende inn funksjonsforespørsler og feilrapporter.

Programvaren går gjennom en temaendring avhengig av tidspunktet på dagen, det er 4 stadier. Hvis den nåværende tiden er + eller - 2 timer fra soloppgang eller solnedgang, får du henholdsvis soloppgangs- og solnedgangstemaene (akkurat nå bare en annen bakgrunn, jeg vil sannsynligvis gjøre forskjellige skrift-/kantfarger i fremtiden). På samme måte gir temaet dag eller natt utenfor disse områdene.

Takk for at du leser. Hvis du vil se flere bilder og videoer av prosjektene mine enn å sjekke ut Instagram- og YouTube -kanalen min.

Pi/e Day Contest
Pi/e Day Contest
Pi/e Day Contest
Pi/e Day Contest

Tredje premie i Pi/e -dagskonkurransen

Anbefalt: