Sida 1 av 1

Ardweather13 - äntligen en fungerande väderstation!

Postat: 19 oktober 2013, 08:29:37
av PHermansson
Under flera år har jag av och till byggt på min egen väderstation. Dock har den aldrig blivit klar Det har kommit annat ivägen, det har dykt upp nya idéer om vad den bästa lösningen är. För ett tag sedan insåg jag dock vad det verkliga problemet var - jag kom hela på nya funktioner. Det räcker inte med temperatur och fukt, varför kan den inte mäta vind, lufttryck och regnmängd också? Och kanske snödjup, och strömförbrukning?
Nu tog jag ett nytt tag enligt KISS-principen. Begränsar antal funktioner med möjlighet till utbyggnad, med huvudmålet att få något klart. Ok, så här blev det.

Sensorer
Som sensorer används Esic:s trådlösa temperaturgivare, en med bara temperatur och två som även mäter luftfuktighet. Den med bara temperatur placerades på verandan, de andra i krypgrunden och på vinden.
Det finns även en lufttryckmätare, en MPXA4115A, kopplad direkt till en A/D-ingång på processorn i RF-mottagaren.

RF-mottagare
För att kunna få in värdena från sensorerna i datorn byggdes en Arduinoklon med en enkel RF-mottagare. Denna placerades i pannrummet och kopplades till en NSLU2:a med Debian vars huvudsakliga uppgift är att styra belysningen i huset via en Tellstick.
Mjukvaran i Arduinon bygger på jadlers kod (http://elektronikforumet.com/forum/view ... =2&t=41394). Denna har kompletterats med funktioner för seriell kommunikation. Skickar man "1 3" till Arduinon svarar den till exempel med avlästa värden från Esic-sensorn som är inställd på House 1 och Channel 3. Skickar man bara "7" så svarar den med aktuellt lufttryck.

Mjukvara i NSLU2:an
I NSLU2:an körs några olika skript. Det första är ett Python skript som tar en eller två siffror som input och skickar ut dessa på USB-porten, till RF-mottagaren. Skriptet skriver sedan ut de svar det får.
För att lagra alla data används RRDTool. Ett Bash-skript använder Pythonskriptet för att hämta data som lagras i flera databaser. Ett annat skript använder dessa data för att skapa grafer som visar utvecklingen över tid. Både dessa skript körs med regelbundna intervall automatiskt med hjälp av Cron.

Så långt är allt klart. Arbetar nu med att snygga tlll allt och förbättra skripten. Python-skriptet skulle till exempel även kunna lagra data i databaserna, men det är en senare fråga. Är mer inne på att skaffa fler sensorer, men Esic-prylarna verkar ha utgått. Som tur är finns det ju ett projekt med kloner av dessa här på EF, ska testa att bygga ett par sådana.