Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Krajem februara vidio sam ovaj post na Raspberry Pi web stranici.
www.raspberrypi.org/school-weather-station-…
Oni su stvorili Raspberry Pi meteorološke stanice za škole. Potpuno sam ga želio! Ali u to vrijeme (i vjerujem da je još u toku pisanja ovoga) oni nisu javno dostupni (morate biti u odabranoj grupi testera). Pa, htio sam i nije mi se dalo prodati stotine dolara za postojeći sistem treće strane.
Stoga sam, kao dobar korisnik sa Instructable -om, odlučio napraviti svoj vlastiti !!!
Malo sam istraživao i otkrio neke dobre komercijalne sisteme na kojima bih mogao zasnovati svoj. Pronašao sam neke dobre instruktore koji će pomoći u nekim od koncepata senzora ili maline PI. Čak sam pronašao i ovu web stranicu koja je bila prljava, morali su srušiti postojeći Maplin sistem:
www.philpot.me/weatherinsider.html
Premotajte unaprijed oko mjesec dana i imam osnovni sistem rada. Ovo je kompletan Raspberry Pi Weather sistem sa samo osnovnim Raspberry Pi hardverom, kamerom i nekim odabranim analognim i digitalnim senzorima za mjerenje. Ne kupujemo već izrađene anemometre ili mjerače kiše, mi ih radimo sami! Evo njegovih karakteristika:
- Snima podatke u RRD i CSV, pa se njima može manipulirati ili izvesti/uvesti u druge formate.
- Koristi API Weather Underground za dobivanje zanimljivih informacija, poput povijesnih uspona i padova, faza Mjeseca i izlaska/zalaska sunca.
- Koristi Raspberry Pi kameru za snimanje slike jednom u minuti (zatim ih možete koristiti za isticanje vremena).
- Ima web stranice koje prikazuju podatke o trenutnim uslovima i nekim istorijskim podacima (posljednji sat, dan, 7 dana, mjesec, godina). Tema web stranice mijenja se s doba dana (4 opcije: izlazak, zalazak sunca, dan i noć).
Sav softver za snimanje i prikazivanje informacija nalazi se na Githubu, čak sam i tamo radio neke greške, zahtjeve za funkcije:
github.com/kmkingsbury/raspberrypi-weather…
Ovaj projekt je za mene bio veliko iskustvo učenja, morao sam zaista zaroniti u mogućnosti Raspberry Pi -a, posebno s GPIO -om, a pogodio sam i neke bolne točke učenja. Nadam se da ćete, čitatelju, naučiti iz nekih mojih iskušenja i nevolja.
Korak 1: Materijali
Elektronika:
- 9 sklopki s trstikom (8 za smjer vjetra, 1 za mjerač kiše, opcionalno 1 za brzinu vjetra umjesto Hall -ovog senzora), koristio sam ove:
- 1 Hall senzor (za brzinu vjetra, nazvan anemometar) -
- Temperatura (https://amzn.to/2RIHf6H)
- Vlažnost (mnogo senzora vlažnosti dolazi sa senzorom temperature), koristio sam DHT11:
- Pritisak (BMP je imao i senzor temperature), koristio sam BMP180, https://www.adafruit.com/product/1603, ovaj proizvod je sada ukinut, ali postoji ekvivalent sa BMP280 (https://amzn.to/2E8nmhi)
- Fotootpornik (https://amzn.to/2seQFwd)
- GPS čip ili USB GPS (https://amzn.to/36tZZv3).
- 4 jaka magneta (2 za anemometar, 1 za smjer, 1 za mjerač kiše), koristio sam magnete za rijetke zemlje, visoko preporučeno) (https://amzn.to/2LHBoKZ).
- Nekoliko različitih otpornika, imam ovaj paket koji se s vremenom pokazao izuzetno korisnim:
-
MCP3008 - za pretvaranje analognih u digitalne ulaze za Raspberry Pi -
Hardver
- Raspberry Pi - Prvo sam koristio 2 sa bežičnim adapterom, sada dobivam i 3 B+ komplet sa adapterom za napajanje. (https://amzn.to/2P76Mop)
- Pi kamera
- Čvrsti adapter za napajanje od 5 V (ovo se pokazalo bolno dosadnim, na kraju sam dobio Adafruit, inače kamera povlači previše soka i može/će objesiti Pi, ovdje je: https://www.adafruit.com/products /501)
Materijali:
- 2 potisna ležaja (ili ležajevi za skejtbord ili koturaljke će takođe raditi), nabavio sam ih na Amazonu:
- 2 vodootporna kućišta (koristio sam električno kućište iz lokalne velike kutije), nije važno, samo je potrebno pronaći kućište dobre veličine koje će imati dovoljno prostora i zaštititi sve).
- Neke PVC cijevi i završni zatvarači (različitih veličina).
- PVC držači za montažu
- Nekoliko listova tankog pleksiglasa (ništa previše elegantno).
- plastični nosači
- mini vijci (koristio sam #4 vijke i matice).
- 2 Plastični ukras za božićno drvce - korišten za anemometar, ja sam ga nabavio u lokalnom hobiju.
- Mala tipla
- Mali komad šperploče.
Alati:
- Dremel
- Pištolj za ljepilo
- Lemilica
- Multimetar
- Drill
Korak 2: Glavno kućište - Pi, GPS, kamera, svjetlo
U glavnom kućištu nalaze se PI, kamera, GPS i svjetlosni senzor. Dizajniran je tako da bude vodootporan jer sadrži sve kritične komponente, mjerenja se vrše iz udaljenog kućišta, a jedan je dizajniran tako da bude izložen/otvoren elementima.
Koraci:
Odaberite kućište, koristio sam električnu razvodnu kutiju, razne projektne kutije i vodootporne futrole jednako će dobro funkcionirati. Ključna stvar je da ima dovoljno prostora za sve.
Moje kućište sadrži:
- Raspberry pi (na odstojanju) - Potreban je WIFI čip, ne želite da pokrećete Cat5e u dvorištu!
- Kamera (takođe u stanju mirovanja)
- GPS čip, povezan putem USB -a (pomoću sparkfun FTDI kabela: https://www.sparkfun.com/products/9718) - GPS pruža zemljopisnu širinu i dužinu, što je lijepo, ali što je još važnije, mogu dobiti točno vrijeme iz GPS!
- dva ethernet/cat 5 priključka za povezivanje glavnog kućišta sa drugim kućištem u kojem se nalaze drugi senzori. Ovo je bio samo zgodan način da kablovi idu između dvije kutije, imam otprilike 12 žica, a dva cat5 pružaju 16 mogućih veza, tako da imam prostora za proširenje/promjenu stvari.
Ispred mog kućišta postoji prozor iz kojeg Kamera može vidjeti. Slučaj s ovim prozorom štiti kameru, ali imao sam problema gdje se crvena LED dioda na kameri (prilikom snimanja fotografije) reflektira od pleksiglasa i prikazuje se na fotografiji. Koristio sam crnu traku kako bih to ublažio i pokušao blokirati (i druge LED diode s Pi -a i GPS -a), ali još nije 100%.
Korak 3: 'Daljinsko kućište' za temperaturu, vlažnost i pritisak
Ovdje sam pohranio senzore temperature, vlažnosti i pritiska, kao i "priključke" za senzore za mjerenje kiše, smjer vjetra i brzinu vjetra.
Sve je vrlo jednostavno, pinovi se ovdje povezuju putem Ethernet kabela sa potrebnim pinovima na Raspberry Pi.
Pokušao sam koristiti digitalne senzore gdje god sam mogao, a zatim se bilo koji analogni doda na MCP 3008. Potrebno je do 8 analognih, što je bilo više nego dovoljno za moje potrebe, ali daje prostora za poboljšanje / proširenje.
Ovo kućište je otvoreno za zrak (mora biti radi tačne temperature, vlažnosti i pritiska). Donji otvori su iskočeni, pa sam nekim krugovima dao sprej u obliku spreja za silikonski premaz (možete ga nabaviti na mreži ili na mjestu poput Fry's Electronics). Nadajmo se da bi trebao zaštititi metal od vlage, iako morate biti oprezni i ne koristiti ga na nekim od senzora.
Na vrhu kućišta nalazi se i senzor brzine vjetra. Bilo je to uzdizanje, mogao sam staviti brzinu ili smjer vjetra na vrh, nisam vidio neke veće prednosti jedno nad drugim. Sve u svemu, želite da oba senzora (smjer vjetra i brzina) budu dovoljno visoki gdje zgrade, ograde, prepreke ne ometaju mjerenja.
Korak 4: Mjerač kiše
Uglavnom sam slijedio ove upute kako bih napravio stvarni mjerač:
www.instructables.com/id/Arduino-Weather-St…
Napravio sam ovo od pleksiglasa kako bih mogao vidjeti što se događa i mislio sam da će biti super. Sve u svemu, pleksiglas je dobro funkcionirao, ali u kombinaciji s ljepilom, gumenim brtvilom i ukupnim rezanjem i bušenjem ne izgleda tako čisto, čak ni sa zaštitnom folijom.
Ključne točke:
- Senzor je jednostavan trstični prekidač i magnet koji se u RaspberryPi kodu tretira kao pritiskanje dugmeta, jednostavno brojim kante tokom vremena i kasnije ih pretvaram u "inče kiše".
- Neka bude dovoljno velika da zadrži dovoljno vode za prevrtanje, ali ne toliko da joj treba mnogo da bi se prevrnula. Prilikom prvog prolaska učinio sam da svaki pladanj nije dovoljno velik da bi se napunio i počeo cijediti preko ruba prije nego što se prevrnuo.
- Takođe sam otkrio da bi zaostala voda mogla dodati neku grešku u mjerenje. Znači, potpuno suho bilo je potrebno X kapi da napuni stranu i prevrne je, nakon što je mokra trebalo je Y kapi (što je manje od X) da napuni i prevrne. Nije velika količina, ali je nastala pri pokušaju kalibracije i dobijanja dobrog mjerenja "1 opterećenje je jednako".
- Uravnotežite to, možete varati dodavanjem ljepila sa pištoljem na donje krajeve ako je jedna strana znatno teža od druge, ali vam je potrebna što je moguće bliže uravnoteženoj.
- Na fotografiji možete vidjeti kako postavljam malu opremu za testiranje koristeći neke spužve i drveni držač za testiranje i pravilno uravnoteženje prije instaliranja.
Korak 5: Smjer vjetra
Ovo je bio jednostavan vjetrokaz. Elektroniku sam zasnovao na Maplin sistemu:
www.philpot.me/weatherinsider.html
Ključne točke:
Ovo je analogni senzor. Osam trskastih prekidača u kombinaciji s različitim otpornicima dijeli izlaz na komade tako da po vrijednosti mogu identificirati koju koordinatu ima senzor. (Koncept je objašnjen u ovom uputstvu:
- Nakon što ste zavrnuli dio vjetrometine, morate ga kalibrirati tako da "ovaj smjer pokazuje sjever".
- Napravio sam probnu opremu s drvom kako bih mogao jednostavno uključivati i isključivati otpornike koji su za mene pokrivali cijeli raspon vrijednosti, to mi je bilo od velike pomoći!
- Koristio sam potisni ležaj, bio je u redu, siguran sam da bi običan ležaj za skejtbord ili koturaljke bio jednako dobar.
Korak 6: Brzina vjetra
Ovaj sam se još jednom obratio zajednici Instructable i pronašao i slijedio ovo uputstvo:
www.instructables.com/id/Data-Logging-Anemo…
Ključne točke:
- Možete koristiti i Hall -ov senzor ili se prebaciti na senzor trske. Hall -ov senzor više je analogni senzor, pa ako ga koristite na digitalni način, poput pritiska na dugme, morate biti sigurni da je očitavanje/napon dovoljno visok da djeluje kao pravi pritisak na gumb, umjesto da nije dovoljan.
- Veličina čaše je ključna, pa i dužina štapa! U početku sam koristio ping pong loptice i bile su premale. Stavio sam ih i na dugačke štapove koji također nisu uspjeli. Bio sam jako frustriran, a onda sam naišao na instruktivnog, Ptorelli je odlično obavio objašnjenje i pomoglo mi je kada moj originalni dizajn nije tako dobro funkcionirao.
Korak 7: Softver
Softver je napisan na Pythonu za snimanje podataka sa senzora. Koristio sam neke druge Git biblioteke trećih strana iz Adafruit -a i druge da dobijem informacije od senzora i GPS -a. Postoje i neki cron poslovi koji povlače i neke API informacije. Većina je objašnjena/opisana u Git dokumentaciji na adresi docs/install_notes.txt
Web softver je u PHP -u za prikaz na web stranici, a istovremeno koristi YAML za konfiguracione datoteke i naravno RRD alat za skladištenje i grafikoniranje podataka.
Koristi API Weather Underground API za dobivanje nekih zanimljivih podataka koje senzori ne mogu izvući: Snimite pozdrave i padove, fazu Mjeseca, vrijeme zalaska i izlaska Sunca, na njihovom API -ju su dostupni i plima, za koje sam mislio da su zaista uredne, ali živim u Austinu u Teksasu koji je jako udaljen od vode.
Sve je to dostupno na Githubu i aktivno se održava i trenutno se koristi dok dodatno usavršavam i kalibriram svoj sistem, tako da možete podnositi i zahtjeve za funkcije i izvještaje o greškama.
Softver prolazi kroz promjenu teme ovisno o dobu dana, postoje 4 faze. Ako je trenutno vrijeme + ili - 2 sata od izlaska ili zalaska sunca, tada ćete dobiti teme izlaska i zalaska sunca (trenutno samo drugačija pozadina, vjerojatno ću ubuduće raditi različite boje fonta/obruba). Slično, izvan tih raspona daje dnevnu ili noćnu temu.
Hvala vam na čitanju. Ako želite vidjeti više fotografija i videozapisa mojih projekata nego pogledati moj Instagram i YouTube kanal.
Treća nagrada na Pi/e Day takmičenju