Kumpletuhin ang DIY Raspberry Pi Weather Station Na May Software: 7 Hakbang (na may Mga Larawan)
Kumpletuhin ang DIY Raspberry Pi Weather Station Na May Software: 7 Hakbang (na may Mga Larawan)
Anonim
Kumpletuhin ang DIY Raspberry Pi Weather Station Sa Software
Kumpletuhin ang DIY Raspberry Pi Weather Station Sa Software
Kumpletuhin ang DIY Raspberry Pi Weather Station Sa Software
Kumpletuhin ang DIY Raspberry Pi Weather Station Sa Software

Bumalik sa huling bahagi ng Pebrero nakita ko ang post na ito sa site ng Raspberry Pi.

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

Lumikha sila ng Mga Istasyon ng Panahon ng Raspberry Pi para sa Mga Paaralan. Gustung-gusto ko ang isa! Ngunit sa oras na iyon (at naniniwala pa rin ako habang isinusulat ito) hindi sila magagamit ng publiko (kailangan mong mapiling isang napiling pangkat ng mga sumusubok). Sa gayon, ginusto ko at hindi ko nais na mag-shell ng daan-daang dolyar para sa isang mayroon nang system ng 3rd party.

Kaya, tulad ng isang mahusay na Tagubilin na gumagamit, nagpasya akong gumawa ng sarili ko !!!

Gumawa ako ng isang maliit na pagsasaliksik at natagpuan ang ilang mga mahusay na mga komersyal na system na maaari kong ibagsak ang minahan. Natagpuan ko ang ilang magagandang Mga Tagubilin upang makatulong sa ilan sa mga konsepto ng Sensor o Raspberry PI. Natagpuan ko rin ang site na ito, na kung saan ay bayad sa dumi, pinunit nila ang isang umiiral na system ng Maplin:

www.philpot.me/weatherinsider.html

Fast forward mga isang buwan at mayroon akong pangunahing sistema ng pagtatrabaho. Ito ay isang kumpletong Raspberry Pi Weather system na may batayan lamang na Raspberry Pi hardware, camera, at ilang mga sari-saring analog at digital sensor upang gawin ang aming mga sukat. Walang pagbili ng paunang ginawa na mga anemometro o mga gauge ng ulan, gumagawa kami ng sarili namin! Narito ang mga tampok:

  • Ang impormasyon sa talaan sa RRD at CSV, kaya maaaring manipulahin o mai-export / mai-import sa iba pang mga format.
  • Gumagamit ng Weather Underground API upang makakuha ng mga cool na impormasyon tulad ng mga pinakamataas na kasaysayan at mababang antas, mga yugto ng buwan, at pagsikat / paglubog ng araw.
  • Gumagamit ng Raspberry Pi Camera upang kumuha ng litrato minsan sa isang minuto (maaari mo nang magamit ang mga ito upang gumawa ng mga timelapses).
  • May mga webpage na nagpapakita ng data para sa kasalukuyang mga kundisyon at ilang makasaysayang (huling oras, araw, 7 araw, buwan, taon). Nagbabago ang tema ng website sa oras ng araw (4 na pagpipilian: pagsikat, paglubog ng araw, araw at gabi).

Ang lahat ng software para sa talaan at pagpapakita ng impormasyon ay nasa isang Github, nagawa ko rin ang ilang pagsubaybay sa bug, mga kahilingan sa tampok doon din:

github.com/kmkingsbury/raspberrypi-weather…

Ang proyektong ito ay isang mahusay na karanasan sa pag-aaral para sa akin, talagang sumisid ako sa mga kakayahan ng Raspberry Pi lalo na sa GPIO, at naabot ko rin ang ilang mga punto ng sakit sa pag-aaral. Inaasahan kong ikaw, ang mambabasa, ay maaaring matuto mula sa ilan sa aking mga pagsubok at pagdurusa.

Hakbang 1: Mga Kagamitan

Mga Kagamitan
Mga Kagamitan
Mga Kagamitan
Mga Kagamitan
Mga Kagamitan
Mga Kagamitan
Mga Kagamitan
Mga Kagamitan

Elektronikong:

  • 9 Reed Switch (8 para sa Wind Direction, 1 para sa Rain Gauge, opsyonal na 1 para sa bilis ng hangin sa halip na isang Hall Sensor), Ginamit ko ito:
  • 1 Hall Sensor (para sa Bilis ng Hangin, na tinatawag na anemometer) -
  • Temperatura (https://amzn.to/2RIHf6H)
  • Humidity (maraming mga sensor ng Humidity ay may kasamang sensor ng Temperatura), ginamit ko ang DHT11:
  • Presyon (ang BMP ay may kasamang sensor ng temperatura dito), ginamit ko ang BMP180, https://www.adafruit.com/product/1603, ang produktong ito ay hindi na natuloy ngunit mayroong isang katumbas na may BMP280 (https://amzn.to/2E8nmhi)
  • Photoresistor (https://amzn.to/2seQFwd)
  • GPS Chip o USB GPS (https://amzn.to/36tZZv3).
  • 4 na malalakas na magnet (2 para sa anemometer, 1 para sa Direksyon, 1 para sa Rain Gauge), ginamit ko ang mga bihirang magnet ng lupa, lubos na inirerekomenda) (https://amzn.to/2LHBoKZ).
  • Ang isang maliit na iba't ibang mga resistors, mayroon akong pack na ito na napatunayan na lubos na madaling magamit sa paglipas ng panahon:
  • MCP3008 - upang mai-convert ang analog sa mga digital na input para sa Raspberry Pi -

Hardware

  • Raspberry Pi - Orihinal kong ginamit ang 2 sa isang Wireless adapter, makuha na rin ang 3 B + kit na may power adapter din. (https://amzn.to/2P76Mop)
  • Pi Camera
  • Isang solidong 5V power adapter (ito ay naging nakakainis na nakakainis, sa kalaunan nakuha ko ang isang Adafruit, kung hindi man ang camera ay kumukuha ng sobrang katas at maaari / isasabit ang Pi, narito: https://www.adafruit.com/produces / 501)

Mga Materyales:

  • 2 Thrust Bearings (o mga skateboard o roller-skate bearings ay gagana rin), nakuha ko ang mga ito sa Amazon:
  • 2 Mga Waterproof Enclosure (Gumamit ako ng isang elektrikal na enclosure mula sa lokal na malaking tindahan ng kahon), hindi mahalaga, kailangan lamang makahanap ng isang mahusay na laki ng enclosure na magkakaroon ng sapat na espasyo at protektahan ang lahat).
  • Ang ilang mga PVC Pipe at End Caps (iba't ibang laki).
  • Mga mounting bracket ng PVC
  • Mga sheet ng pares ng manipis na Plexiglass (walang masyadong magarbong).
  • mga standoff na plastik
  • mini screws (Gumamit ako ng # 4 bolts at nut).
  • 2 Plastic Christmas Tree Ornament - ginamit para sa anemometer, nakuha ko ang minahan sa lokal na Hobby Lobby.
  • Maliit na dowel
  • Maliit na piraso ng playwud.

Mga tool:

  • Dremel
  • Pandikit Baril
  • Panghinang
  • Multimeter
  • Drill

Hakbang 2: Pangunahing Enclosure - Pi, GPS, Camera, Light

Pangunahing Enclosure - Pi, GPS, Camera, Light
Pangunahing Enclosure - Pi, GPS, Camera, Light
Pangunahing Enclosure - Pi, GPS, Camera, Light
Pangunahing Enclosure - Pi, GPS, Camera, Light
Pangunahing Enclosure - Pi, GPS, Camera, Light
Pangunahing Enclosure - Pi, GPS, Camera, Light
Pangunahing Enclosure - Pi, GPS, Camera, Light
Pangunahing Enclosure - Pi, GPS, Camera, Light

Ang pangunahing enclosure ay matatagpuan ang PI, ang Camera, ang GPS at ang light sensor. Ito ay dinisenyo upang maging hindi tinatagusan ng tubig dahil inilalagay nito ang lahat ng mga kritikal na bahagi, ang mga sukat ay kumukuha mula sa malayong enclosure at ang isa ay idinisenyo upang mailantad / bukas sa mga elemento.

Mga Hakbang:

Pumili ng isang enclosure, Gumamit ako ng isang electrical junction box, iba't ibang mga kahon ng proyekto at mga kaso na hindi tinatagusan ng tubig ay gagana rin. Ang pangunahing punto ay mayroon itong sapat na puwang upang hawakan ang lahat.

Naglalaman ang Aking Enclosure:

  • Ang raspberry pi (on standoffs) - Kailangan ng isang WIFI chip, ayaw patakbuhin ang Cat5e sa likuran!
  • Ang Camera (naka-standoff din)
  • Ang GPS chip, na konektado sa pamamagitan ng USB (gamit ang isang sparkfun FTDI cable: https://www.sparkfun.com/products/9718) - Nagbibigay ang GPS ng latitude at longitude, na maganda, ngunit mas mahalaga, makakakuha ako ng tumpak na oras mula sa ang GPS!
  • dalawang ethernet / cat 5 jacks upang ikonekta ang Pangunahing enclosure sa iba pang enclosure na naglalaman ng iba pang mga sensor. Ito ay isang maginhawang paraan lamang ng pagkakaroon ng mga kable na dumadaan sa pagitan ng dalawang kahon, mayroon akong humigit-kumulang 12 na mga wire, at ang dalawang cat5 ay nagbibigay ng 16 mga posibleng koneksyon, kaya't mayroon akong puwang upang mapalawak / baguhin ang mga bagay sa paligid.

Mayroong isang window sa harap ng aking enclosure upang makita ng Camera mula sa. Ang kaso sa window na ito ay pinoprotektahan ang camera, ngunit mayroon akong mga isyu kung saan ang pula na humantong sa camera (kapag kumukuha ito ng larawan) ay sumasalamin sa plexiglass at lumalabas sa larawan. Gumamit ako ng ilang itim na tape upang mapagaan ito at subukan at harangan ito (at iba pang mga LED mula sa Pi at GPS), ngunit hindi pa ito 100%.

Hakbang 3: 'Remote Enclosure' para sa Temperatura, Humidity, Presyon

'Remote Enclosure' para sa Temperatura, Humidity, Presyon
'Remote Enclosure' para sa Temperatura, Humidity, Presyon
'Remote Enclosure' para sa Temperatura, Humidity, Presyon
'Remote Enclosure' para sa Temperatura, Humidity, Presyon
'Remote Enclosure' para sa Temperatura, Humidity, Presyon
'Remote Enclosure' para sa Temperatura, Humidity, Presyon

Dito ko naimbak ang mga sensor ng Temperatura, Humidity, at Pressure pati na rin ang mga "hook up" para sa gauge ng ulan, direksyon ng hangin at mga sensor ng bilis ng hangin.

Napaka-prangka ng lahat, ang mga pin dito ay kumokonekta sa pamamagitan ng mga cable ng ethernet sa kinakailangang mga pin sa Raspberry Pi.

Sinubukan kong gumamit ng Mga digital sensor kung saan ko magagawa at pagkatapos ay ang anumang Analog ay idinagdag sa MCP 3008 tumatagal ng hanggang sa 8 analog na higit sa sapat para sa aking mga pangangailangan, ngunit nagbibigay ng puwang upang mapabuti / mapalawak.

Ang enclosure na ito ay bukas sa hangin (dapat ito ay para sa tumpak na temperatura, halumigmig at presyon). Ang mga butas sa ilalim ay inilabas, kaya't nagbigay ako ng ilan sa mga circuit ng isang spray ng isang spray ng Silicone Conformal Coating (maaari mo itong makuha sa online o sa isang lugar tulad ng Fry's Electronics). Inaasahan kong dapat itong protektahan ang metal mula sa anumang kahalumigmigan, kahit na kailangan mong maging maingat at huwag gamitin ito sa ilan sa mga sensor.

Ang tuktok ng enclosure ay kung saan umaangkop ang sensor ng bilis ng hangin. Ito ay isang paghuhugas, maaari kong ilagay ang bilis ng hangin o direksyon ng hangin sa itaas, wala akong nakitang pangunahing mga bentahe ng isa kaysa sa isa pa. Pangkalahatang nais mo ang parehong mga sensor (wind dir at bilis) sapat na mataas kung saan ang mga gusali, bakod, hadlang ay hindi makagambala sa mga sukat.

Hakbang 4: Pagsukat ng Ulan

Pag-iingat ng Ulan
Pag-iingat ng Ulan
Pag-iingat ng Ulan
Pag-iingat ng Ulan
Rain Gauge
Rain Gauge

Sinusunod ko ang karamihan sa itinuturo na ito upang gawin ang aktwal na sukat:

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

Ginawa ko ito sa labas ng plexiglass upang makita ko kung ano ang nangyayari at naisip kong magiging cool ito. Sa pangkalahatan ang plexiglass ay nagtrabaho ok, ngunit isinama sa Gluegun, rubber sealant at pangkalahatang paggupit at pagbabarena hindi ito mananatiling mukhang malinis, kahit na may proteksiyon na pelikula.

Pangunahing puntos:

  • Ang sensor ay isang simpleng switch na tambo at pang-akit na ginagamot tulad ng isang pindutan ng pindutan sa RaspberryPi code, simpleng bilang ko ang mga timba sa paglipas ng panahon at pagkatapos ay gawin ang conversion sa paglaon sa "pulgada ng ulan".
  • Gawin itong sapat na malaki upang makapaghawak ng sapat na tubig hanggang sa dulo, ngunit hindi gaanong kinakailangan na kailangan ng maraming upang makapagt tip. Ang aking unang pass ay ginawa ko ang bawat tray na hindi sapat upang mapunan at magsimulang mag-draining sa gilid bago ito mag-tip.
  • Nalaman ko rin na ang natitirang tubig ay maaaring magdagdag ng ilang error sa pagsukat. Ibig sabihin, ganap na tuyo ito ay tumagal ng X patak upang punan ang isang gilid at tip ito, sa sandaling mabasa ito kinuha Y patak (na kung saan ay mas mababa sa X) upang punan at tip. Hindi isang malaking halaga ngunit naapektuhan kapag sinusubukang i-calibrate at makakuha ng isang mahusay na "1 load ay katumbas ng kung magkano" ang pagsukat.
  • Balansehin ito, maaari mong mandaraya sa pamamagitan ng pagdaragdag ng pandikit gluegun sa ilalim ng mga dulo kung ang isang gilid ay mas mabibigat pagkatapos ng isa pa, ngunit kailangan mo ito ng malapit sa balanseng hangga't maaari.
  • Maaari mong makita sa larawan na nag-set up ako ng isang maliit na pagsubok sa paggamit ng ilang mga espongha at isang may-ari ng kahoy upang subukan at makuha itong balanseng maayos bago i-install.

Hakbang 5: Direksyon ng Hangin

Direksyon ng hangin
Direksyon ng hangin
Direksyon ng hangin
Direksyon ng hangin
Direksyon ng hangin
Direksyon ng hangin

Ito ay isang simpleng lagyo ng panahon. Ibinatay ko ang electronics sa Maplin system:

www.philpot.me/weatherinsider.html

Pangunahing puntos:

Ito ay isang analog sensor. Ang walong mga switch ng tambo na sinamahan ng iba't ibang mga resistors ay hinahati ang output sa mga chunks upang makilala ko kung aling ang coordinate ang sensor ay nasa pamamagitan ng halaga. (Ang konsepto ay ipinaliwanag sa itinuturo na ito:

  • Matapos ang pag-screwing sa panahon ng panahon ng vane kailangan mong i-calibrate ito upang ang "direksyon na ito ay kung ano ang tumuturo sa hilaga".
  • Gumawa ako ng test rig na may kahoy upang madali kong mailipat at mailabas ang mga resistor na sumasaklaw sa buong saklaw ng mga halaga para sa akin, napakatulong nito!
  • Gumamit ako ng thrust bear, maganda ang ginawa, sigurado akong isang regular na skateboard o rollerskate na tindig ay magiging masarap din.

Hakbang 6: Bilis ng Hangin

Bilis ng hangin
Bilis ng hangin
Bilis ng hangin
Bilis ng hangin
Bilis ng hangin
Bilis ng hangin

Ang isang ito ay muling lumingon ako sa pamayanan na Makatuturo at natagpuan at sinunod ang itinuturo na ito:

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

Pangunahing puntos:

  • Maaari mong gamitin ang sensor ng hall o lumipat sa isang reed sensor din. Ang sensor ng hall ay higit pa sa isang analog sensor kaya kung ginagamit mo ito sa isang digital na paraan, tulad ng isang pindutin ang pindutan, kailangan mong tiyakin na ang pagbabasa / boltahe ay sapat na mataas na kumikilos ito tulad ng isang tunay na pindutan ng pindutan, sa halip na hindi sapat.
  • Ang sukat ng tasa ay mahalaga, gayun din ang haba ng stick! Orihinal na gumamit ako ng mga ping pong ball at napakaliit nila. Inilagay ko din ang mga ito sa mahahabang stick na hindi rin gumana. Napasimangot ako at natagpuan ang itinuturo na iyon, gumawa ng mahusay na trabaho si Ptorelli at tinulungan ako nito kapag hindi gumana rin ang aking orihinal na disenyo.

Hakbang 7: Software

Software
Software
Software
Software

Ang software ay nakasulat sa Python upang maitala ang data mula sa mga sensor. Gumamit ako ng ilang iba pang mga 3rd party na library ng Git mula sa Adafruit at iba pa upang makuha ang impormasyon mula sa mga sensor at GPS. Mayroon ding ilang mga trabaho sa cron na kumukuha rin ng ilang impormasyon sa API. Ang karamihan ay ipinaliwanag / nakabalangkas sa dokumentasyon ng Git sa mga doc / install_notes.txt

Ang web software ay nasa PHP upang ipakita ito sa webpage habang gumagamit din ng YAML para sa mga config file at syempre ang RRD tool upang maiimbak at i-graph ang data.

Ginagamit nito ang Weather Underground API upang makakuha ng ilang mga kagiliw-giliw na data na hindi maaaring hilahin ng mga sensor: I-record ang Hi at Lows, Phase of the Moon, Sunset at Sunrise, mayroon ding mga Tide na magagamit sa kanilang API, na sa palagay ko ay talagang maayos, ngunit nakatira ako sa Austin TX na napakalayo mula sa tubig.

Ang lahat ng ito ay magagamit sa Github at aktibong pinapanatili at kasalukuyang ginagamit habang pinipino ko at pinapakalma ang aking sariling system, upang maaari ka ring magsumite ng mga kahilingan sa tampok at mga ulat sa bug.

Dumadaan ang software sa isang pagbabago ng tema depende sa oras ng araw, mayroong 4 na yugto. Kung ang kasalukuyang oras ay + o - 2 oras mula sa pagsikat o paglubog ng araw makakakuha ka ng mga tema ng pagsikat at paglubog ng araw, ayon sa pagkakabanggit (sa ngayon ibang-iba lamang ang background, marahil ay gagawa ako ng iba't ibang mga kulay ng font / hangganan sa hinaharap). Gayundin sa labas ng mga saklaw na iyon ay nagbibigay ng araw o gabi na tema.

Salamat sa pagbabasa, Kung nais mong makita ang maraming mga larawan at video ng aking mga proyekto kaysa suriin ang aking Instagram at YouTube Channel.

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

Ikatlong Gantimpala sa Pi / e Day Contest