Arduino Weathercloud-weerstation: 16 stappen (met afbeeldingen)
Arduino Weathercloud-weerstation: 16 stappen (met afbeeldingen)
Anonim
Arduino Weathercloud-weerstation
Arduino Weathercloud-weerstation

Ik heb een weerstation gemaakt dat is aangesloten op internet. Het meet temperatuur, vochtigheid, druk, regenval, windsnelheid, UV-index en berekent nog enkele belangrijke meteorologische waarden. Het stuurt deze gegevens vervolgens naar weathercloud.net, dat mooie graphics en UX heeft. Het heeft ook een weerwebcamera. Het kostte me ongeveer 140 €. Ik heb dit station gemaakt als mijn schoolproject. Het station is gemonteerd op mijn school in Bratislava, Slowakije. Hier zijn de huidige gegevens.

Fotocredit: Mimo tijdschrift. Gebruikt met toestemming.

Opmerking: ik werk nu al meer dan twee jaar aan dit project. Deze instructable is eigenlijk gewoon een herupload van een instructable die ik een jaar eerder heb gepubliceerd, maar er zijn zoveel veranderingen geweest dat ik besloot een nieuwe instructable te maken. Ook kijkt niemand ooit naar een jaar oude instructables

UPDATE 14.12.2018: Hallo daar! Ik heb een annemometer (windmeter) aan mijn station toegevoegd. Er is wat nieuwe tekst en foto's, dus zorg ervoor dat je die bekijkt

Stap 1: Weerwolk

Weerwolk
Weerwolk

Allereerst, wat is Weatherclud? Weathercloud is een groot netwerk van weerstations die in realtime gegevens van over de hele wereld rapporteren. Het is gratis en er zijn meer dan 10.000 weerstations op aangesloten. Ten eerste had ik mijn eigen HTML-website waar alle gegevens naartoe werden gestuurd, maar het maken van je eigen website en afbeeldingen is moeilijk en het is veel gemakkelijker om alle gegevens gewoon naar een groot cloudplatform te sturen met mooie grafische afbeeldingen en stabiele servers. Ik heb gezocht hoe ik gegevens naar weathercloud kan verzenden en ik heb ontdekt dat je dat gemakkelijk kunt bereiken met een simpele GET-oproep. Het enige probleem met Weathercloud is dat je met een gratis account slechts om de tien minuten gegevens kunt verzenden, maar dat zou voor de meeste toepassingen geen probleem moeten zijn. U moet een Weathercloud-account maken om het te laten werken. Dan moet je een stationsprofiel maken op hun website. Wanneer u uw weerstationprofiel op Weathercloud aanmaakt, krijgt u een Weathercloud-ID en een Weathercloud-SLEUTEL. Bewaar deze omdat de Arduino ze nodig heeft om te weten waar de gegevens naartoe moeten worden gestuurd.

Stap 2: Onderdelenlijst

Onderdelen lijst
Onderdelen lijst
Onderdelen lijst
Onderdelen lijst
Onderdelen lijst
Onderdelen lijst
Onderdelen lijst
Onderdelen lijst

Google-bladen BOM

GESCHATTE PRIJS: 140€/150$

Stap 3: Gereedschap

Gereedschap
Gereedschap

Deze tools kunnen van pas komen:

draad stripper

batterij boor

soldeerbout

tang

schroevendraaiers

lijmpistool

multimeter

zaag

boom boor

het dossier

Stap 4: DS18B20 zonnestralingsscherm

Image
Image
Aansluitkast
Aansluitkast

Een zonnestralingsscherm is een veel voorkomend iets dat in meteorologische stations wordt gebruikt om directe zonnestraling te blokkeren en daardoor fouten in de gemeten temperatuur te verminderen. Het fungeert ook als houder voor de temperatuursensor. Stralingsschermen zijn erg handig, maar zijn meestal gemaakt van staal en ze zijn duur, dus besloot ik zelf een schild te bouwen. Ik heb een instructable gemaakt die laat zien hoe je zo'n stralingsschild kunt maken. Hier is de instructable.

Ik heb ook een video gevonden die exact hetzelfde proces laat zien, dus je kunt dat gebruiken:

Stap 5: aansluitdoos

Aansluitkast
Aansluitkast
Aansluitkast
Aansluitkast
Aansluitkast
Aansluitkast

De klemmenkast is het middelpunt van het station. De 14-aderige hoofdkabel verbindt hem met de serverbox. De kabel van DS18B20 gaat erin. De kabel van de UV-box gaat erin. Het herbergt ook de vochtigheids- en druksensor. Wanneer u een aansluitdoos selecteert, kunt u elke IP65 plastic aansluitdoos gebruiken die meer dan 10x5x5 cm (4"x2"x2") heeft.

Stap 6: UV-sensordoos

UV-sensordoos
UV-sensordoos
UV-sensordoos
UV-sensordoos
UV-sensordoos
UV-sensordoos

De UV-sensordoos herbergt de UVM-30A UV-sensor en het is ook een middelpunt tussen de hoofdterminaldoos en de regen- en windmeters. De UV-sensorbox kan elke kunststof IP65-box zijn met een volledig transparante afdekking.

Stap 7: Weercamera

Weercamera
Weercamera
Weercamera
Weercamera
Weercamera
Weercamera

Weerwebcams (of weercamera's zoals ik ze graag noem) worden gebruikt om beelden van de werkelijke weersomstandigheden op te nemen of te streamen. Uit de afbeelding kun je de lichtintensiteit en bewolking bepalen. Ik ging voor de goedkoopste wifi-camera die beschikbaar is, maar je kunt elke wifi-camera naar keuze gebruiken. Deze goedkope camera werkt prima, maar er is één probleem. U moet een computer hebben waarop constant streamingsoftware wordt uitgevoerd. Dat was geen probleem voor mij, want er is al een server die een website in het netwerk draait, zodat deze ook voor de streaming kan zorgen. Maar als je zo'n computer niet in je thuisnetwerk hebt, dan raad ik aan om een Raspberry pi en een Raspberry pi-camera te kopen. Het is duurder (25 $ versus 70 $), maar je hebt niet echt een andere optie als je een webcam wilt. In beide gevallen dient u de camera in een weerbestendige doos te plaatsen. U kunt dezelfde doos gebruiken als voor de UV-sensor. Ik heb mijn eigen doos gemaakt van een gewone plastic doos en plexiglas, maar dat is niet nodig. De batterij voor de camera moet constant worden opgeladen. U kunt dat doen door een USB-kabel te strippen en de + en - draden aan te sluiten op de 5V-voedingsuitgang voor de sensoren. Als je camera weerbestendig is, kun je hem overal ophangen waar het goed te zien is met ritssluitingen.

Laten we nu eens kijken naar de software. Dit deel vereist wat geavanceerde codeervaardigheden. Je moet een 24/7 draaiende computer (kan een Raspberry pi zijn) in je thuisnetwerk hebben om dit allemaal te kunnen doen. Dus het eerste dat u hoeft te doen, is uw IP-camera verbinden met uw Wi-Fi-thuisnetwerk. Vervolgens moet u de gebruikersnaam en het wachtwoord in het script wijzigen volgens uw gebruikersnaam en wachtwoord op de camera-interface. U moet ook het IP-adres van de camera in het script wijzigen. Dan moet u een taakplanner instellen om het meegeleverde script elke 5 minuten of zo op uw server/computer uit te voeren. Het script zou nu elke 5 minuten een screenshot van het camerabeeld moeten maken en dit in de vooraf ingestelde map moeten opslaan. De map moet openbaar zijn, zodat u deze kunt opzoeken in een zoekmachine zoals deze: voorbeeld.com/gebruikersnaam/webcam.jpg. Weathercloud kan dan deze afbeelding uit de openbare map halen en op zijn webpagina plaatsen. Je kunt de "live" (update elke 5 minuten) feed hier zien.

Stap 8: Houder voor bovenste sensoren

Houder voor bovenste sensoren
Houder voor bovenste sensoren
Houder voor bovenste sensoren
Houder voor bovenste sensoren
Houder voor bovenste sensoren
Houder voor bovenste sensoren
Houder voor bovenste sensoren
Houder voor bovenste sensoren

De topsensorenhouder is een stalen component die de topsensoren (UV, regenval en windsnelheid) op het dak vasthoudt. Het onderdeel dat u op deze foto's ziet past alleen in ons pand. U kunt deze sensoren op elke gewenste manier monteren. Dit is slechts een voorbeeld. We hadden al een stalen buis op het dak gemonteerd, dus het was gemakkelijk om de houder te monteren.

Stap 9: Schildcompatibiliteitsprobleem

Schildcompatibiliteitsprobleem
Schildcompatibiliteitsprobleem
Schildcompatibiliteitsprobleem
Schildcompatibiliteitsprobleem
Schildcompatibiliteitsprobleem
Schildcompatibiliteitsprobleem

Er is een eenvoudig compatibiliteitsprobleem tussen het ethernetschild en het protoschild. Je kunt geen protoshield bovenop het ethernet-schild plaatsen omdat de ethernet-connector je dat gewoon niet toelaat. En je kunt het ethernet-schild niet op de bovenkant van het protoshield plaatsen omdat het ethernet-schild een directe verbinding met de arduino moet hebben via de ICSP-connector, maar het protoshield heeft er geen. Nou, een simpel probleem, een simpele oplossing. Ik heb zojuist een rechthoekig gat in het protoschild gesneden zodat de ethernetconnector erin past.

Stap 10: Neerslagmeting

Neerslagmeting
Neerslagmeting
Neerslagmeting
Neerslagmeting
Neerslagmeting
Neerslagmeting

De regenmeter die ik besteld heb werkt prima, maar er is één groot probleem. Het heeft geen communicatie-interface zoals I2C of RX/TX. Er is gewoon een simpele schakelaar die 60 microseconden AAN schakelt elke keer als het meer dan 0,28 mm/m2 regent. De Arduino kan dat gemakkelijk opvangen als hij niets anders doet dan regenval meten. Maar als het andere taken heeft (zoals het meten van de temperatuur en het naar de cloud sturen), is de kans groot dat de processor van de arduino bezig zal zijn op het moment dat de regenmeter wordt ingeschakeld. Dit zal een onnauwkeurige neerslagmeting veroorzaken. Daarom heb ik een tweede arduino toegevoegd - een arduino nano. De enige taak van de nano is om regenval te meten en deze via I2C naar de master-arduino te sturen. Op die manier zijn de neerslagmetingen altijd nauwkeurig. Ik heb een PCB gemaakt die zowel de arduino nano als de RTC-module bevat, maar je kunt hem ook aan het protoshield solderen. Ik weet dat dit niet de eenvoudigste en goedkoopste oplossing is, maar ik vind het leuk en het is erg netjes en georganiseerd.

Stap 11: Windsnelheidsmeting

Windsnelheidsmeting
Windsnelheidsmeting
Windsnelheidsmeting
Windsnelheidsmeting
Windsnelheidsmeting
Windsnelheidsmeting

Deze stap lijkt erg op de vorige. Ik heb een bord gemaakt dat de windsnelheid meet en vervolgens door I2C stuurt. Herhaal gewoon de vorige stap zonder de RTC. Ik heb geprobeerd om beide boards in één te plaatsen, maar het lukte niet.

Stap 12: Serverbox

Serverbox
Serverbox
Serverbox
Serverbox
Serverbox
Serverbox

Het is altijd een goed idee om alle elektronica in een kleine, georganiseerde doos te verbergen. En dat is precies wat ik deed met de serverbox. De serverbox herbergt de Arduino UNO, het ethernet-schild, de protoshield, de 5V-regelaar, de hoofddatakabelterminal en het neerslagmeetbord. Een opmerking over de Arduino: de code van het station gebruikt ongeveer 90% van het Arduino UNO-geheugen en dat kan voor problemen zorgen. Het kan wel of niet nodig zijn om Arduino Mega te gebruiken.

Stap 13: Aansluitingen

Verbindingen
Verbindingen

Sluit alles gewoon aan volgens het meegeleverde schema.

Stap 14: CODE

CODE
CODE

Dit is het laatste deel, het deel waar we allemaal op hebben gewacht - testen of het werkt. U moet het IP-adres, de Weathercloud ID en de Weathercloud KEY wijzigen in overeenstemming met uw thuisnetwerk en uw Weathercloud-account. Je bent dan klaar om het naar je Arduino te uploaden. Je moet ook de I2C-regenzendercode uploaden naar de Arduino nano op het regenbord en de I2C-windzender naar de Arduino nano op het windsnelheidsbord. Er is ook het index.php-script, meer informatie daarover vindt u in stap 7.

Stap 15: Installatie

Installatie
Installatie
Installatie
Installatie
Installatie
Installatie
Installatie
Installatie

Uw weerstation laten werken in uw werkplaats is één ding, maar het laten werken in de echte barre omstandigheden is iets anders. De installatieprocedure hangt sterk af van het gebouw waarop u uw station monteert. Maar als je het zonnestralingsscherm en de bovenste sensorhouder hebt, zou het niet zo moeilijk moeten zijn. De temperatuur- en vochtigheidssensor kan echt overal op het gebouw worden geplaatst, maar de UV-sensor en de regenmeter moeten op de bovenkant van het gebouw zitten. De UV-sensor mag niet in de schaduw staan en de regenmeter mag niet in de buurt van een muur staan, anders vallen bij harde wind de regendruppels niet in de meter en worden de metingen onnauwkeurig. Hier is een foto die laat zien hoe je het station op een typisch huis kunt monteren. Je moet heel voorzichtig zijn bij het monteren van een station op het dak en je moet een krachtige boormachine hebben die door beton kan boren.

Stap 16: Klaar

Gedaan
Gedaan
Gedaan
Gedaan
Gedaan
Gedaan
Gedaan
Gedaan

Gefeliciteerd. Als je alle stappen correct hebt uitgevoerd, heb je een volledig operationeel wolkenweerstation. U kunt de gegevens van mijn station hier bekijken. Als je vragen of suggesties hebt, hoor ik ze graag in het commentaargedeelte hieronder.

Ik ben van plan om een soortgelijk station te bouwen met behulp van ESP32 Wi-Fi board en wat extra sensoren (windsnelheid/richting, zonnestraling, bodemvochtigheid) maar daarover later meer. Genieten van!

Aanbevolen: