Sida 1 av 3
Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 4 februari 2011, 11:30:45
av PHermansson
Ok, säkert den femte tråden från mig i samma ämne

Men nu när man bor i hus är förutsättningarna bättre. Tanken är att skapa ett system för att logga väderdata, men som även kan användas för en del annat. Några grundläggande fakta:
-Kommunicerar främst via RS485, men även trådlöst.
-En dator används för att samla in data.
-Grafer skapas enkelt mha Munin.
-Noderna består av enkla Arduinokloner.
Status idag:
-En Arduinoklon baserad på Atmega168 har byggts och testats med gott resultat. Värt att notera är att den fungerar med en PL2303-baserad seriekabel, inte med en CP2102-baserad adapter.
-En Arduino Duemilanove används som testbänk. Till denna har ett LDR, en MPXA4115A och en SHT-11 kopplats. Koden är påbörjad, skickar man "dev1" till Arduinon så svarar den "21.44 34.21 992.53 909.00". Dessa värden är temperatur, luftfuktighet, lufttryck och ett relativt värde för ljusnivån i rummet.
Närmast att göra är att skapa en Muninplugin som kan hantera Arduinon. Den ska skicka ut "dev1" på serieporten, vänta på svar, och sedan logga värdena.
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 17 februari 2011, 21:43:36
av PHermansson
Arbetet fortgår intensivt med detta projekt. Har även kommit på en nytt tillägg, varför inte ha stöd för 1-wire också? Frågan är om det går att få till koden för allt.
Här är ett principschema över vilka delar jag har tänkt ha med. De med blå text fungerar idag.
Ardweather.jpg
I hårdvaruväg finns det idag ett köpt Arduinokort som fungerar som testbänk och en Atmega168-baserad klon. På G är även en minimal klon.
Den ena enheten kallas "dev1" och är tänkt att monteras utomhus. Till denna är en SHT-11 fuktighets/temperaturmätare och ett LDR kopplat. Skickar man "dev1" till detta kort på serieporten svarar det med värdena "temp fukt ljus". Temperatur och fukt är riktiga värden, ljusvärdet är proportionellt.
Den andra enhet heter "dev2" och är idag byggd med det köpta kortet. Till detta kort är kopplat en 433MHz-mottagare, en temperatursensor (MCP9701A), tryckmätare (MPXA4115A) och en LCD. Koden som körs är baserad på Jonnorbergs Esic-kod som finns i en annan tråd här. Koden körs som en state-machine. I steg 1, 2 och 3 visas temperatur och fuktvärden från tre Esic-sändare på LCD:n. I steg fyra visas innetemperatur, och i steg fem lufttryck.
Det som görs nu är att få den seriella kommunikationen att fungera bra. I första försöket användes den enklaste formen för att ta emot seriedata med Arduino, vilket inte fungerade. För att kunna skicka data till enheten behövdes en "Delay" efter serieportskoden, något som slog ut Rf-mottagningen. Mysko... nu arbetar jag med en interrupt-driven serieportskommunikation som fungerar parallellt med Rf-koden, men som ännu så länge är ostabil i de värden som tas emot. Det är väl här man ser nackdelen med Arduino, man ser inte vad som händer under ytan vilket kan ge lite skumma effekter.
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 18 februari 2011, 08:44:17
av PHermansson
Nu fungerar "dev2" ok med seriekommunikationen. Skickar man "dev2" till den svarar den:
"dev2I'm the choosen one!
1-0.0C 0%
2-23.5C 0%
3-23.7C 34%
21.50
1027 "
Inte helt färdigt med andra ord, men man får de önskade värdena. Nu ska jag ge mig på RS485-kommuniaktionen. En adapter från Hexin (
http://www.hexin-technology.com/RS-232_ ... t-257.html) ska användas på PC-sidan, och sen "dev2" med en Max485.
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 18 februari 2011, 09:12:12
av henkebus
Hej
Jag börjar med att säga att jag inte har så stor koll på munin förutom de exempel jag precis svepte igenom.
Jag tänkte iaf tipsa om att det finns betydligt snyggare grafer där ute!
http://code.google.com/p/flot/
Jag har gjort en hel del med flot och jag gillar lösningen skarpt. Oavsett om man vill jobba dynamiskt mot en databas eller har en statisk datasamling man vill zooma/förändra/mouseover osv.
Mvh
//H
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 18 februari 2011, 09:32:33
av PHermansson
Kanske lite mer samarbetsvilligt också? Tack för tipset, får kolla upp det. Har haft en hel del problem att få min Munin-plugin att fungera.
Note to self:
http://carlstrom.com/pool/compool/, mer info om RS232/RS485-adaptern hxsp-485.
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 18 februari 2011, 10:20:24
av henkebus
Jag hjälper gärna till med flot om du väljer det spåret.
Mvh H
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 18 februari 2011, 22:35:01
av PHermansson
Men Flot handlar alltså bara om att rita upp grafen? Med Munin/RRDTools får man ju en del till. Man matar in värden kontinuerligt, och får ut grafer per dag/månad/år helt automagiskt.
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 19 februari 2011, 18:22:33
av henkebus
Hej
Det stämmer, flot är endast presentationen av graferna. Datat måste sparas någonstans.
Den ska skicka ut "dev1" på serieporten, vänta på svar, och sedan logga värdena.
Det jag tänkte när jag läste detta var att scriptet/programmet som loggar värdet skriver in det i en mysql databas.
* Ett litet php hack eller liknande som tar "from","to" och "mätare[,mätare...]" som argument och skriver ut alla mätningar i tidsspannet för valda mätare.
* HTML/javascript/flot sida som man väljer mätare och tidsspann, ropar på php hacket och så ritar flot upp det dynamiskt.
Vill du inte ha en mysql databas kan det lika gärna vara textfiler eller liknande som får agera databas och så parsar man det i javascriptet.
Som sagt, det går att lösa på många sätt. Jag fick bara lite rysningar när jag såg graderna från munin.
MVh Henrik
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 21 februari 2011, 14:58:46
av PHermansson
Så, efter lite om och men fungerar nu dev1 via RS485. dev2 fungerar med sin ursprungliga bestyckning, men 1-wire vill sig inte alls. Har provat med en ren 1-wire kod, ingen framgång.
Har även byggt en "dev3". Denna nod består ännu så länge av en Atmega168 och ett minimalt antal kringkomponenter i ett otroligt snyggt bygge (

)

Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 22 februari 2011, 20:19:34
av PHermansson
Idag har det varit ett steg fram och ett tillbaks... För att ta det dåliga först så har dev3 blivit skadad. Den skulle agera testbänk för en universalfjärrkontroll baserad på Irremote. Det fungerade sådär, sen sämre, sedan inte alls. Nu blinkar den bara med sin statusdiod och vill inte ta emot ny mjukvara, får se till att koppla upp den mot Avrisp:en igen och se om det går att få ordning på den mha en ny bootloader.
Framsteget då. Har äntligen efter en del om och men fått till en fungerande Munin-plugin. Så nu sitter dev1 kopplad via RS485 och med Munin som loggar i ett långtidstest. Nästa steg för dev1 är sedan en vattentät låda och montering utomhus.
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 24 februari 2011, 15:21:03
av PHermansson
Funderar på hur enheterna ska monteras utomhus. Någonstans har jag läst att tempmätaren inte ska sitta närmare husväggen än en meter. Låter logiskt. Läser på
http://sv.ilmatieteenlaitos.fi/vaderobservationer att den dessutom ska sitta på två meters höjd, precis som fuktmätaren ska göra. Och det går att lösa rätt enkelt. Frågan är bara vad man ska montera grejerna i?
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 25 februari 2011, 06:34:56
av PHermansson
Fortsätter min monolog...
"dev3" har nu återuppstått, en omladdning av bootloadern hjälpte. Dock fungerade enheten sådär även efter omprogrammeringen, tills jag upptäckte mitt nybörjarmisstag. Ingen buffertkondensator och ingen 100n vid matningspinnarna. När en 100u och en 100n monterats fungerade det mycket bättre, vad förvånad man blev

(ironi).
"dev1" har blivit av med 1-wire kopplingen, och istället har en ShiftBrite monterats. Har inte testat om det funkar än, men kan bara konstatera att de sista digitala utgångarna gick åt. Så det blir svårt att koppla in allt som jag tänkt i schemat ovan, kanske det går att dela pinnar? Eller finns det en Arduinovariant med fler pinnar? Programmera om så att man kan använda en av de fyra lediga pinnar som är konfigurerade som analoga ingångar och inte används?
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 25 februari 2011, 09:02:08
av PHermansson
Ja, det kan man:
"Most of the analog inputs can also be used as digital pins: analog input 0 as digital pin 14 through analog input 5 as digital pin 19. "
Då finns det alltså fyra pinnar till att använda, fint! Då kanske det går att få det en HH10D fuktsensor för att mäta luftfuktigheten i rummet också.
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 25 februari 2011, 10:08:00
av oJsan
Ang. väderskydd av utomhusgivare så kan du googla lite på Stevenson Screen
Bild:
http://karlander.net/temperatur/utrustning.html
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 28 februari 2011, 22:23:02
av PHermansson
Tack, den googlingen gav en hel del. Finns många varianter på temat tydligen, men det ska gå att bygga nått enkelt. Dock känns det lite overkill med solcellsstyrd fläkt.
För övrigt skippar jag nog ShiftBrite'n, kanske blir en RGB-led istället. Nu sitter jag och funderar på en inomhusdel byggd av en träram med plexifront. Slipar glaset så att det blir en öppning för LCD:n, monterar RGB:n så att ljuset lyser upp panelen i en färg som motsvarar utomhustemperaturen...