Turinys:

„Arduino Weathercloud“orų stotis: 16 žingsnių (su nuotraukomis)
„Arduino Weathercloud“orų stotis: 16 žingsnių (su nuotraukomis)

Video: „Arduino Weathercloud“orų stotis: 16 žingsnių (su nuotraukomis)

Video: „Arduino Weathercloud“orų stotis: 16 žingsnių (su nuotraukomis)
Video: Как сделать самобалансирующегося робота 2024, Lapkritis
Anonim
„Arduino Weathercloud“orų stotis
„Arduino Weathercloud“orų stotis

Aš sukūriau orų stotį, prijungtą prie interneto. Jis matuoja temperatūrą, drėgmę, slėgį, kritulius, vėjo greitį, UV indeksą ir apskaičiuoja keletą svarbesnių meteorologinių verčių. Tada ji siunčia šiuos duomenis į weathercloud.net, kurioje yra graži grafika ir UX. Jis taip pat turi orų kamerą. Man tai kainavo apie 140 eurų. Šią stotį sukūriau kaip savo mokyklos projektą. Stotis įrengta mano mokykloje Bratislavoje, Slovakijoje. Čia yra dabartiniai duomenys.

Nuotraukų kreditas: Mimo Magazín. Naudojamas su leidimu.

Pastaba: prie šio projekto dirbu daugiau nei dvejus metus. Šis nurodymas iš esmės yra tik nurodymų, kuriuos paskelbiau prieš metus, pakartotinis įkėlimas, tačiau įvyko tiek daug pakeitimų, kad nusprendžiau padaryti naują nurodymą. Be to, niekas niekada nežiūri į vienerių metų instrukcijas

ATNAUJINIMAS 2018 12 14: Sveiki! Prie savo stoties pridėjau anemometrą (vėjo matuoklį). Yra keletas naujų tekstų ir nuotraukų, todėl būtinai patikrinkite

1 žingsnis: „Weathercloud“

„Weathercloud“
„Weathercloud“

Visų pirma, kas yra Weatherclud? „Weathercloud“yra didelis orų stočių tinklas, kuris realiu laiku teikia duomenis iš viso pasaulio. Tai nemokama ir prie jo prijungta daugiau nei 10 000 orų stočių. Pirma, aš turėjau savo HTML svetainę, kur buvo siunčiami visi duomenys, tačiau sunku sukurti savo svetainę ir grafiką, o daug lengviau tiesiog nusiųsti visus duomenis į didelę debesų platformą, kurioje yra graži grafika ir stabilūs serveriai. Ieškojau, kaip siųsti duomenis į „Weathercloud“, ir radau, kad tai galite lengvai padaryti paprastu GET skambučiu. Vienintelė „Weathercloud“problema yra ta, kad su nemokama paskyra ji leidžia siųsti duomenis tik kas dešimt minučių, tačiau tai neturėtų būti problema daugeliui atvejų. Kad ji veiktų, turėsite susikurti „Weathercloud“paskyrą. Tada turėsite sukurti stoties profilį savo svetainėje. Kai kuriate orų stoties profilį „Weathercloud“, jums suteikiamas „Weathercloud“ID ir „Weathercloud“RAKTAS. Saugokite juos, nes „Arduino“jiems reikės žinoti, kur siųsti duomenis.

2 žingsnis: dalių sąrašas

Dalių sąrašas
Dalių sąrašas
Dalių sąrašas
Dalių sąrašas
Dalių sąrašas
Dalių sąrašas
Dalių sąrašas
Dalių sąrašas

„Google“lakštų BOM

Numatoma kaina: 140 €/150 $

3 žingsnis: įrankiai

Įrankiai
Įrankiai

Šie įrankiai gali būti naudingi:

vielos nuėmėjas

akumuliatorinis gręžtuvas

lituoklis

replės

atsuktuvai

klijų pistoletas

multimetras

pjūklas

medžio grąžtas

failą

4 žingsnis: DS18B20 saulės spindulių skydas

Image
Image
Terminalo dėžutė
Terminalo dėžutė

Skydas nuo saulės spindulių yra labai dažnas dalykas, naudojamas meteorologijos stotyse, siekiant blokuoti tiesioginę saulės spinduliuotę ir taip sumažinti matuojamos temperatūros klaidas. Jis taip pat veikia kaip temperatūros jutiklio laikiklis. Radiaciniai skydai yra labai naudingi, tačiau dažniausiai yra pagaminti iš plieno ir yra brangūs, todėl nusprendžiau pasistatyti savo skydą. Aš padariau instrukciją, kuri parodo, kaip padaryti tokį radiacinį skydą. Čia yra pamoka.

Taip pat radau vaizdo įrašą, kuriame rodomos tos pačios procedūros, kad galėtumėte tai naudoti:

5 žingsnis: gnybtų dėžutė

Terminalo dėžutė
Terminalo dėžutė
Terminalo dėžutė
Terminalo dėžutė
Terminalo dėžutė
Terminalo dėžutė

Gnybtų dėžė yra stoties centras. Pagrindinis 14 gyslų kabelis jungia jį prie serverio dėžės. Į jį eina kabelis iš DS18B20. Kabelis iš UV dėžės eina į jį. Jame taip pat yra drėgmės ir slėgio jutiklis. Kai pasirenkate gnybtų dėžutę, galite naudoti bet kokią IP65 plastikinę jungiamąją dėžę, kurios dydis yra didesnis nei 10x5x5cm (4 "x2" x2 ").

6 žingsnis: UV jutiklio dėžutė

UV jutiklio dėžutė
UV jutiklio dėžutė
UV jutiklio dėžutė
UV jutiklio dėžutė
UV jutiklio dėžutė
UV jutiklio dėžutė

UV jutiklio dėžutėje yra UVM-30A UV jutiklis, jis taip pat yra vidurinis taškas tarp pagrindinės gnybtų dėžutės ir lietaus bei vėjo matuoklių. UV jutiklio dėžutė gali būti bet kokia plastikinė IP65 dėžutė su visiškai skaidriu dangteliu.

7 žingsnis: „Weathercam“

„Weathercam“
„Weathercam“
„Weathercam“
„Weathercam“
„Weathercam“
„Weathercam“

Orų kameros (arba orų kameros, kaip man patinka jas vadinti) yra naudojamos faktinių oro sąlygų vaizdams įrašyti arba transliuoti. Iš vaizdo galite nustatyti šviesos intensyvumą ir drumstumą. Aš pasirinkau pigiausią „Wi -Fi“kamerą, tačiau galite naudoti bet kurią pasirinktą „Wi -Fi“kamerą. Ši pigi kamera veikia puikiai, tačiau yra viena problema. Turite turėti kompiuterį, kuriame nuolat būtų transliuojama programinė įranga. Man tai nebuvo problema, nes tinkle jau yra serveris, kuriame veikia svetainė, todėl ji taip pat gali pasirūpinti srautiniu perdavimu. Bet jei jūsų namų tinkle nėra tokio kompiuterio, rekomenduoju įsigyti „Raspberry pi“ir „Raspberry pi“fotoaparatą. Tai brangiau (25 USD prieš 70 USD), tačiau jūs tikrai neturite kitos galimybės, jei norite žiniatinklio kameros. Abiem atvejais fotoaparatą reikia įdėti į oro sąlygoms atsparią dėžę. Galite naudoti tą pačią dėžutę kaip ir UV jutikliui. Aš padariau savo dėžutę iš įprastos plastikinės dėžutės ir organinio stiklo, bet tai nereikalinga. Fotoaparato akumuliatorių reikės nuolat įkrauti. Tai galite padaryti atjungę USB kabelį ir prijungę + ir - laidus prie 5 V jutiklių išvesties. Kai fotoaparatas yra atsparus oro sąlygoms, galite jį tiesiog pritvirtinti bet kur, kur yra geras vaizdas su užtrauktukais.

Dabar pažvelkime į programinę įrangą. Ši dalis reikalauja tam tikrų pažangių kodavimo įgūdžių. Norėdami tai padaryti, savo namų tinkle turite turėti visą parą veikiantį kompiuterį (gali būti „Raspberry pi“). Taigi pirmas dalykas, kurį turite padaryti, yra prijungti savo IP kamerą prie namų „Wi-Fi“tinklo. Tada jums reikia pakeisti vartotojo vardą ir slaptažodį scenarijuje pagal jūsų vartotojo vardą ir slaptažodį fotoaparato sąsajoje. Taip pat scenarijuje turite pakeisti fotoaparato IP adresą. Tada jums reikia nustatyti užduočių planavimo priemonę, kad jūsų serveryje/kompiuteryje kas 5 minutes būtų paleistas įtrauktas scenarijus. Dabar scenarijus turėtų kas 5 minutes padaryti fotoaparato vaizdo ekrano kopiją ir išsaugoti ją iš anksto nustatytame aplanke. Aplankas turi būti viešas, kad galėtumėte jį rasti tokioje paieškos sistemoje: example.com/username/webcam.jpg. Tada „Weathercloud“gali paimti šį vaizdą iš viešo aplanko ir įdėti jį į savo tinklalapį. Čia galite pamatyti „tiesioginį“(atnaujinamas kas 5 minutes) kanalą.

8 žingsnis: viršutinio jutiklio laikiklis

Viršutinis jutiklių laikiklis
Viršutinis jutiklių laikiklis
Viršutinis jutiklių laikiklis
Viršutinis jutiklių laikiklis
Viršutinis jutiklių laikiklis
Viršutinis jutiklių laikiklis
Viršutinis jutiklių laikiklis
Viršutinis jutiklių laikiklis

Viršutinių jutiklių laikiklis yra plieninis komponentas, kuris laiko viršutinius jutiklius (UV, kritulių ir vėjo greitį) ant stogo. Šiose nuotraukose matoma dalis tinka tik mūsų pastatui. Šiuos jutiklius galite montuoti taip, kaip norite. Tai tik pavyzdys. Ant stogo jau buvo sumontuotas plieninis vamzdis, todėl laikiklį buvo lengva sumontuoti.

9 veiksmas: skydo suderinamumo problema

Skydo suderinamumo problema
Skydo suderinamumo problema
Skydo suderinamumo problema
Skydo suderinamumo problema
Skydo suderinamumo problema
Skydo suderinamumo problema

Yra paprasta suderinamumo problema tarp eterneto skydo ir protoshield. Negalite uždėti protoshield ant eterneto skydo, nes eterneto jungtis tiesiog neleidžia. Ir jūs negalite uždėti eterneto skydo ant protoshield viršaus, nes eterneto skydas turi turėti tiesioginį ryšį su arduino per ICSP jungtį, tačiau protoshield neturi. Na, paprasta problema, paprastas sprendimas. Aš tiesiog išpjoviau stačiakampę skylę protoshield, kad eterneto jungtis tilptų.

10 žingsnis: kritulių matavimas

Kritulių matavimas
Kritulių matavimas
Kritulių matavimas
Kritulių matavimas
Kritulių matavimas
Kritulių matavimas

Užsakytas lietaus matuoklis veikia puikiai, tačiau yra viena didelė problema. Jame nėra jokios komunikacijos sąsajos, tokios kaip I2C arba RX/TX. Yra tik paprastas jungiklis, kuris įjungiamas 60 mikrosekundžių kiekvieną kartą, kai lyja daugiau nei 0,28 mm/m2. „Arduino“gali tai lengvai pastebėti, kai nedaro nieko kito, tik matuoja kritulių kiekį. Tačiau kai ji turi atlikti kitas užduotis (pvz., Matuoti temperatūrą ir siųsti ją į debesį), yra didelė tikimybė, kad „arduino“procesorius bus užimtas lietaus matuoklio įjungimo metu. Dėl to kritulių rodmenys bus netikslūs. Todėl pridėjau antrą arduino - arduino nano. Vienintelė nano užduotis yra išmatuoti kritulių kiekį ir nusiųsti jį pagrindiniam arduino per I2C. Tokiu būdu kritulių rodmenys visada bus tikslūs. Aš padariau PCB, kurioje yra ir arduino nano, ir RTC modulis, bet jūs taip pat galite jį lituoti prie protoshield. Žinau, kad tai nėra pats paprasčiausias ir pigiausias sprendimas, bet man tai patinka, jis yra labai tvarkingas ir organizuotas.

11 žingsnis: Vėjo greičio matavimas

Vėjo greičio matavimas
Vėjo greičio matavimas
Vėjo greičio matavimas
Vėjo greičio matavimas
Vėjo greičio matavimas
Vėjo greičio matavimas

Šis žingsnis yra labai panašus į ankstesnį. Aš padariau lentą, kuri matuoja vėjo greitį ir tada siunčia ją per I2C. Tiesiog pakartokite ankstesnį veiksmą be RTC. Bandžiau sudėti abi lentas į vieną, bet nepavyko.

12 veiksmas: serverio dėžutė

Serverio dėžutė
Serverio dėžutė
Serverio dėžutė
Serverio dėžutė
Serverio dėžutė
Serverio dėžutė

Visada gera idėja paslėpti visą elektroniką mažoje, sutvarkytoje dėžutėje. Ir aš būtent tai padariau su serverio dėže. Serverio dėžutėje yra „Arduino UNO“, „Ethernet“skydas, „protoshield“, 5 V reguliatorius, pagrindinis duomenų kabelio terminalas ir kritulių matavimo lenta. Viena pastaba apie „Arduino“: stoties kodas naudoja apie 90% „Arduino UNO“atminties ir tai gali sukelti tam tikrų problemų. Jums gali tekti arba nereikia naudoti „Arduino Mega“.

13 žingsnis: jungtys

Sujungimai
Sujungimai

Tiesiog prijunkite viską pagal pateiktą schemą.

14 žingsnis: KODAS

KODAS
KODAS

Tai paskutinė dalis, dalis, kurios visi laukėme - bandymas, jei jis veikia. Turite pakeisti IP adresą, „Weathercloud“ID ir „Weathercloud“PAGRINDĄ pagal savo namų tinklą ir „Weathercloud“paskyrą. Tada esate pasiruošę įkelti jį į savo arduino. Taip pat turite įkelti I2C lietaus siuntėjo kodą į „Arduino nano“, esantį kritulių lentoje, ir „I2C“vėjo siųstuvą į „Arduino nano“vėjo greičio lentoje. Taip pat yra scenarijus index.php, daugiau informacijos apie tai yra 7 veiksme.

15 žingsnis: montavimas

Instaliacija
Instaliacija
Instaliacija
Instaliacija
Instaliacija
Instaliacija
Instaliacija
Instaliacija

Priversti orų stotį veikti dirbtuvėse yra viena, bet priversti ją veikti realaus pasaulio atšiauriomis sąlygomis. Montavimo procedūra labai priklauso nuo pastato, ant kurio montuojate stotį. Bet jei turite saulės spindulių skydą ir viršutinį jutiklių laikiklį, tai neturėtų būti taip sunku. Temperatūros ir drėgmės jutiklį galima pastatyti bet kurioje pastato vietoje, tačiau UV jutiklis ir lietaus matuoklis turi būti pastato viršuje. UV jutiklis negali būti šešėlyje, o lietaus matuoklis negali būti šalia sienos, kitaip esant stipriam vėjui, lietaus lašai nepatenka į matuoklį ir rodmenys bus netikslūs. Čia yra paveikslėlis, parodantis, kaip galite montuoti stotį ant įprasto namo. Montuodami stotį ant stogo, turėtumėte būti labai atsargūs ir turėti galingą grąžtą, galintį gręžti betoną.

16 žingsnis: Atlikta

padaryta
padaryta
padaryta
padaryta
padaryta
padaryta
padaryta
padaryta

Sveikinu. Jei visus veiksmus atlikote teisingai, turite visiškai veikiančią debesų oro stotį. Mano stoties duomenis galite pamatyti čia. Jei turite klausimų ar pasiūlymų, mielai juos išgirsiu žemiau esančiame komentarų skyriuje.

Aš planuoju statyti panašią stotį, naudojant ESP32 „Wi-Fi“plokštę ir kai kuriuos papildomus jutiklius (vėjo greitį/kryptį, saulės spinduliuotę, dirvožemio drėgmę), bet daugiau apie tai vėliau. Mėgautis!

Rekomenduojamas: