Indholdsfortegnelse:

Komplet DIY Raspberry Pi vejrstation med software: 7 trin (med billeder)
Komplet DIY Raspberry Pi vejrstation med software: 7 trin (med billeder)

Video: Komplet DIY Raspberry Pi vejrstation med software: 7 trin (med billeder)

Video: Komplet DIY Raspberry Pi vejrstation med software: 7 trin (med billeder)
Video: SunFounder Raspberry Pi Ultimate Starter Kit for Raspberry Pi 4B 3B+ 400 2024, Juli
Anonim
Komplet DIY Raspberry Pi vejrstation med software
Komplet DIY Raspberry Pi vejrstation med software
Komplet DIY Raspberry Pi vejrstation med software
Komplet DIY Raspberry Pi vejrstation med software

Til sidst i februar så jeg dette indlæg på Raspberry Pi -webstedet.

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

De havde oprettet Raspberry Pi vejrstationer til skoler. Jeg ville helt have en! Men på det tidspunkt (og jeg tror stadig, da jeg skrev dette), er de ikke offentligt tilgængelige (du skal være i en udvalgt gruppe af testere). Godt, jeg ville videre, og jeg havde ikke lyst til at beskyde hundredvis af dollars for et eksisterende tredjepartssystem.

Så som en god instruerbar bruger besluttede jeg mig for at lave min egen !!!

Jeg undersøgte lidt og fandt nogle gode kommercielle systemer, jeg kunne basere mine på. Jeg fandt nogle gode instruktioner til at hjælpe med nogle af sensor- eller hindbær PI -koncepterne. Jeg fandt endda dette websted, som var løn snavs, de havde revet et eksisterende Maplin -system ned:

www.philpot.me/weatherinsider.html

Spol frem ca. en måned, og jeg har et grundlæggende arbejdssystem. Dette er et komplet Raspberry Pi Weather -system med kun basen Raspberry Pi hardware, kamera og nogle forskellige analoge og digitale sensorer til at foretage vores målinger. Ingen køb af færdige vindmålere eller regnmålere, vi laver vores egne! Her er dens funktioner:

  • Registrerer oplysninger til RRD og CSV, så kan manipuleres eller eksporteres/importeres til andre formater.
  • Bruger Weather Underground API til at få fede oplysninger som historiske højder og nedture, månefaser og solopgang/solnedgang.
  • Bruger Raspberry Pi -kameraet til at tage et billede en gang i minuttet (du kan derefter bruge dem til at lave timelapses).
  • Har websider, der viser data for de aktuelle forhold og nogle historiske (sidste time, dag, 7 dage, måned, år). Hjemmesidens tema ændres med tidspunktet på dagen (4 muligheder: solopgang, solnedgang, dag og nat).

Al software til registrering og visning af oplysningerne er i en Github, jeg har endda foretaget nogle fejlsporing, funktionsanmodninger også der:

github.com/kmkingsbury/raspberrypi-weather…

Dette projekt var en stor læringsoplevelse for mig, jeg kom virkelig til at dykke ned i Raspberry Pi's muligheder især med GPIO, og jeg ramte også nogle indlærings smertepunkter. Jeg håber, at du, læseren, kan lære af nogle af mine prøvelser og trængsler.

Trin 1: Materialer

Materialer
Materialer
Materialer
Materialer
Materialer
Materialer
Materialer
Materialer

Elektronik:

  • 9 Reed Switches (8 for vindretningen, 1 for regnmåleren, valgfrit 1 for vindhastigheden i stedet for en hallsensor), jeg brugte disse:
  • 1 Hall Sensor (for vindhastigheden, kaldet et vindmåler) -
  • Temperatur (https://amzn.to/2RIHf6H)
  • Fugtighed (masser af fugtighedsfølere leveres med en temperatursensor), jeg brugte DHT11:
  • Tryk (BMP'en kom også med en temperatursensor i den), jeg brugte BMP180, https://www.adafruit.com/product/1603, dette produkt er nu afbrudt, men der er en ækvivalent med BMP280 (https://amzn.to/2E8nmhi)
  • Fotoresistor (https://amzn.to/2seQFwd)
  • GPS -chip eller USB GPS (https://amzn.to/36tZZv3).
  • 4 stærke magneter (2 til vindmåler, 1 til retning, 1 til regnmåler), jeg brugte de sjældne jordartsmagneter, kan varmt anbefales) (https://amzn.to/2LHBoKZ).
  • En håndfuld forskellige modstande, jeg har denne pakke, der har vist sig at være yderst praktisk over tid:
  • MCP3008 - for at konvertere analoge til digitale indgange til Raspberry Pi -

Hardware

  • Raspberry Pi - Jeg brugte oprindeligt 2'erne med en trådløs adapter, og få nu også 3 B+ -sæt med strømadapter. (https://amzn.to/2P76Mop)
  • Pi -kamera
  • En solid 5V strømadapter (dette viste sig at være smertefuldt irriterende, jeg fik til sidst en Adafruit, ellers trækker kameraet for meget juice og kan/vil hænge Pi, den er her: https://www.adafruit.com/products /501)

Materialer:

  • 2 Støttelejer (eller skateboard eller rulleskøjte lejer vil også fungere), jeg fik disse på Amazon:
  • 2 vandtætte kabinetter (jeg brugte et elektrisk kabinet fra den lokale store kasseforretning), betyder ikke meget, skal bare finde et kabinet i god størrelse, der får plads nok og beskytter alt).
  • Nogle PVC -rør og endehætter (forskellige størrelser).
  • Beslag i PVC
  • Par ark tyndt plexiglas (intet for fancy).
  • plastikstandarder
  • mini skruer (jeg brugte #4 bolte og møtrikker).
  • 2 Juletræspynt i plastik - brugt til vindmåleren fik jeg min i den lokale hobbylobby.
  • Lille dyvel
  • Lille stykke krydsfiner.

Værktøjer:

  • Dremel
  • Limpistol
  • Loddekolbe
  • Multimeter
  • Bore

Trin 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

Hovedkabinettet huser PI, kameraet, GPS'en og lyssensoren. Det er designet til at være vandtæt, da det huser alle de kritiske komponenter, målingerne tager fra fjernbetjeningen, og at det ene er designet til at blive udsat/åbent for elementerne.

Trin:

Vælg et kabinet, jeg brugte en elektrisk forbindelsesboks, forskellige projektkasser og vandtætte kasser vil fungere lige så godt. Nøglepunktet er, at det har nok plads til at rumme alt.

Min bilag indeholder:

  • Raspberry pi (på standoffs) - Har brug for en WIFI -chip, vil ikke køre Cat5e i baghaven!
  • Kameraet (også på afstand)
  • GPS -chippen, tilsluttet via USB (ved hjælp af et sparkfun FTDI -kabel: https://www.sparkfun.com/products/9718) - GPS'en giver breddegrad og længdegrad, hvilket er rart, men endnu vigtigere, jeg kan få præcis tid fra GPS'en!
  • to ethernet/cat 5 -stik til at forbinde hovedkabinettet til det andet kabinet, der huser de andre sensorer. Dette var bare en bekvem måde at have kabler mellem de to kasser, jeg har omtrent 12 ledninger, og de to cat5 giver 16 mulige forbindelser, så jeg har plads til at udvide/ændre ting rundt.

Der er et vindue foran på mit kabinet, som kameraet kan se ud af. Etuiet med dette vindue beskytter kameraet, men jeg havde problemer, hvor den røde lysdiode på kameraet (når det tager et foto) afspejler plexiglasset og vises på billedet. Jeg brugte noget sort tape til at afbøde dette og prøve at blokere det (og andre lysdioder fra Pi og GPS), men det er ikke 100% endnu.

Trin 3: 'Fjernindkapsling' til temperatur, luftfugtighed, tryk

'Fjernindkapsling' til temperatur, luftfugtighed, tryk
'Fjernindkapsling' til temperatur, luftfugtighed, tryk
'Fjernindkapsling' til temperatur, luftfugtighed, tryk
'Fjernindkapsling' til temperatur, luftfugtighed, tryk
'Fjernindkapsling' til temperatur, luftfugtighed, tryk
'Fjernindkapsling' til temperatur, luftfugtighed, tryk

Det er her, jeg gemte temperatur-, luftfugtigheds- og trykfølere samt "hook -ups" til regnmåler, vindretning og vindhastighedssensorer.

Det hele er meget ligetil, pins her tilsluttes via ethernetkablerne til de nødvendige pins på Raspberry Pi.

Jeg forsøgte at bruge digitale sensorer, hvor jeg kunne, og derefter tilføjes enhver analog til MCP 3008, det tager op til 8 analoge, hvilket var mere end nok til mine behov, men giver plads til at forbedre / udvide.

Dette kabinet er åbent for luften (det skal være for nøjagtig temperatur, fugtighed og tryk). De nederste huller er sprunget ud, så jeg gav nogle af kredsløbene en spray med en Silicone Conformal Coating spray (du kan få det online eller et sted som Fry's Electronics). Forhåbentlig skal det beskytte metallet mod fugt, selvom du skal være forsigtig og ikke bruge det på nogle af sensorerne.

Toppen af kabinettet er også der, hvor vindhastighedsføleren passer. Det var et kast op, jeg kunne have sat vindhastigheden eller vindretningen på toppen, jeg kunne ikke se nogen store fordele ved den ene frem for den anden. Samlet set vil du have begge sensorer (vindstyrke og hastighed) høje nok, hvor bygninger, hegn, forhindringer ikke forstyrrer målingerne.

Trin 4: Regnmåler

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

Jeg fulgte for det meste denne instruktive for at lave den faktiske måler:

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

Jeg lavede dette af plexiglas, så jeg kunne se, hvad der foregik, og jeg tænkte, at det ville være fedt. Alt i alt fungerede plexiglasset ok, men kombineret med Gluegun, gummitætningsmasse og samlet skæring og boring ser det ikke så uberørt ud, selv med beskyttelsesfilmen.

Centrale punkter:

  • Sensoren er en simpel sivkontakt og magnet, der er behandlet som et tryk på knappen i RaspberryPi -koden, jeg tæller simpelthen spande over tid og foretager derefter konverteringen senere til "centimeter regn".
  • Gør den stor nok til at holde nok vand til at vippe, men ikke så meget, at den har brug for meget for at vippe. Mit første pas gjorde jeg, at hver bakke ikke var stor nok, så den ville fylde og begynde at dræne ud over kanten, før den vippede.
  • Jeg fandt også ud af, at restvand kunne tilføre målingen en vis fejl. Det vil sige, helt tørt tog det X dråber at fylde en side og tippe det, når det var vådt tog det Y dråber (hvilket er mindre end X) at fylde og tippe. Ikke en enorm mængde, men kom ind i virkningen, når man forsøgte at kalibrere og få en god "1 belastning er lig med hvor meget" måling.
  • Balancere det, du kan snyde ved at tilføje limpistol til de nedre ender, hvis den ene side er meget tungere end den anden, men du har brug for det så tæt på balanceret som du kan.
  • Du kan se på billedet, at jeg opsatte en lille testrig med nogle svampe og en træholder til at teste og få den afbalanceret korrekt inden installation.

Trin 5: Vindretning

Vindretning
Vindretning
Vindretning
Vindretning
Vindretning
Vindretning

Dette var en simpel vejrhane. Jeg baserede elektronikken fra Maplin -systemet:

www.philpot.me/weatherinsider.html

Centrale punkter:

Dette er en analog sensor. De otte rørkontakter kombineret med forskellige modstande deler udgangen i stykker, så jeg kan identificere hvilken koordinat sensoren er i ved værdien. (Konceptet forklares i denne instruktive:

  • Efter at have skruet på vejrskovdelen skal du kalibrere den, så "denne retning er det, der peger mod nord".
  • Jeg lavede en testrig med træ, så jeg let kunne skifte ind og ud modstande, der dækkede hele værdiområdet for mig, det var super nyttigt!
  • Jeg brugte et trykbærer, det fungerede fint, jeg er sikker på at et almindeligt skateboard eller rulleskøjte leje ville have været lige så fint.

Trin 6: Vindhastighed

Vindhastighed
Vindhastighed
Vindhastighed
Vindhastighed
Vindhastighed
Vindhastighed

Denne vendte jeg igen til Instructable community og fandt og fulgte denne instruerbare:

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

Centrale punkter:

  • Du kan også bruge hallsensoren eller skifte til en sivsensor. Hallsensoren er mere en analog sensor, så hvis du bruger den på en digital måde, som et tryk på en knap, skal du sørge for, at aflæsningen/spændingen er høj nok til, at den fungerer som et sandt knaptryk, frem for ikke nok.
  • Koppens størrelse er afgørende, så er pindens længde! Oprindeligt brugte jeg bordtennisbolde, og de var alt for små. Jeg lagde dem også på lange pinde, som heller ikke virkede. Jeg blev meget frustreret og stødte så på det instruerbare, Ptorelli gjorde et godt stykke arbejde med at forklare, og det hjalp mig, da mit originale design ikke fungerede så godt.

Trin 7: Software

Software
Software
Software
Software

Software er skrevet i Python for at registrere data fra sensorerne. Jeg brugte nogle andre tredjeparts Git -biblioteker fra Adafruit og andre til at få informationen fra sensorerne og GPS. Der er også nogle cron -job, der også trækker nogle af API -informationerne. Det meste forklares/skitseres i Git -dokumentationen på docs/install_notes.txt

Websoftwaren er i PHP til at vise den på websiden, samtidig med at den bruger YAML til konfigurationsfilerne og selvfølgelig RRD -værktøjet til at gemme og tegne data.

Det udnytter Weather Underground API til at få nogle af de interessante data, som sensorer ikke kan trække: Optag Hi's og Lows, Moon of Phase, Sunset and Sunrise times, der er også tidevand tilgængelig på deres API, som jeg syntes var virkelig pæn, men jeg bor i Austin TX, som er meget langt fra vand.

Alt det er tilgængeligt på Github og vedligeholdes aktivt og bruges i øjeblikket, da jeg yderligere forfiner og kalibrerer mit eget system, så du også kan indsende funktionsanmodninger og fejlrapporter.

Softwaren gennemgår en temaskift afhængigt af tidspunktet på dagen, der er 4 faser. Hvis den aktuelle tid er + eller - 2 timer fra solopgang eller solnedgang, får du henholdsvis solopgangs- og solnedgangstemaerne (lige nu bare en anden baggrund, jeg vil sandsynligvis lave forskellige skrifttype/kantfarver i fremtiden). Ligeledes uden for disse områder giver dag eller nat tema.

Tak fordi du læste. Hvis du gerne vil se flere fotos og videoer af mine projekter end at tjekke min Instagram og YouTube -kanal.

Pi/e -dagskonkurrence
Pi/e -dagskonkurrence
Pi/e -dagskonkurrence
Pi/e -dagskonkurrence

Tredje pris i Pi/e -dagskonkurrencen

Anbefalede: