Sida 1 av 1

Mäta temperatur och styra relär

Postat: 16 augusti 2007, 12:07:56
av Macce
Fick igår hem min Buffalo WHR-G54S. Billigaste routern jag hittade som stöder OpenWRT.
Har programmerat den lite och skall börja använda den som router, men märkte några trevliga funktioner för övrigt i den.

Det finns 10st GPIO på den som alla kan användas som ingångar och utgångar. En används till reset, så den är det bäst att inte använda. Så det blir 9st kvar.
Det finns också en serieport, dock med bara RX och TX-ledningar.

Vore ju perfekt att ha till vintern för att styra på och av motorvärmarna. Istället för att gå ut och vrida på timern i kölden, så får man bekvämt ställa in via webbläsaren när de skall gå på och av. Behöver ju inte heller dra nätverkskabel till den, för den kan användas som Wlan-klient. Strömförbrukningen är också liten, nätdelen är specsad 3.3V 2A, och den blir inte ens varm. Så att ha den igång konstant året om på maxeffekt skulle kosta ungefär (3,3*2*0,001*24*365*0,1) ~5,8 euro per år.
Båda motorvärmarna och kupévärmarna drar tillsammans ~2500W, så räcker med att spara lite energi från motorvärmarna så har man motiverat energiförbrukningen för linuxroutern.

Jag vill dock ha temperaturberoende tid (bara för att ha), så måste mäta temperaturen på något smidigt sätt.
Att styra reläna är ju inget problem, bara att skaffa lämpliga relär som klarar effekten motorvärmaren och kupévärmaren drar och lägga lämpliga drivsteg till dessa.
Men hur mäter jag temperaturen lättast? 1-wire är jag lite bekant med sedan tidigare, men det blir komplicerat då jag saknar några ledningar på serieporten. Att börja bitbanga 1-wire över utgångarna tror jag inte heller är den bästa idén.

Rekommendationer?

Det lämnar alltså 10-1-2=7 in/utgångar för temperaturavläsning + serieporten.

Postat: 16 augusti 2007, 12:09:31
av Micke_s
SPI tempsensor, tar 4 pinnar sammanlagt.

Postat: 16 augusti 2007, 12:10:41
av Micke_s
LM74 t.ex. 73-268-26 på elfa.
Edit: Behöver 3 pinnar visst.
Edit2: Anledningen att köra spi istället för 1-wire är att spi är inte tidsberoende på samma sätt, i2c är bara krångligt, men skulle också gå att köra.

Postat: 16 augusti 2007, 12:39:33
av Macce
OK. tack.

Skall ta och läsa lite mera om SPI och se.

Postat: 16 augusti 2007, 15:44:53
av Mindmapper
Verkar intressant! Ser fram emot mera rapporter. 8)
Edit: Har letat lite efter info om gpio i manualen men har inte hittat något. Har du någon länk?

Postat: 16 augusti 2007, 16:04:05
av Macce
Har ingen länk, men de fungerar i princip som filer, precis som allt annat som kärnan hanterar.
Ligger under /proc, tror det var under gpio där.

Blev lite less på OpenWRT på denna burk jag skall ha som router. Allt fungerar finfint tills jag slår på dhcp till lan:net. Då slutar nätet fungera.
Slängde in dd-wrt istället i den som fungerar prima. Mycket mindre valmöjligheter och funktioner, men fungerar iallafall.

Skall väl hämta en till likadan, eller så kör jag på en WRT54GL istället. De har två serieportar, vet inte hur många GPIO:s. De kostar bara 10-15 euro mera, så är inte mycket. Drar dock mera ström.

Börjar fundera lite mera på 1-wire igen. Mina programmeringskunskaper är inte på höjd, förutom att tänka logiskt i shellskript och en del php. Det finns färdiga owfs-portar till openwrt, vilket skulle göra livet mycket enklare.
Visserligen gjorda för WRT54G, men borde inte vara så mycket portning.
Skall undersöka saken lite närmare och fundera på vilken modell jag köper.

EDIT: Har en brickad WRT54G version 1.1 hemma. Fungerar som switch, inget mer. Den drar dubbelt mera effekt än en Buffalo WHR-G54S.

Postat: 16 augusti 2007, 16:34:41
av Mindmapper
Har ingen Buffalo att titta i så jag tänkte jag skulle ta reda på mer innan jag skaffade en. Den låga effektförbrukningen tilltalar mig. Har en WRT54G som går som router. Är inte alls duktig på programmering och krånglar det för mycket för mig så blir det bara ännu en hyllvärmare av den.

Postat: 16 augusti 2007, 19:05:59
av Macce
Vad vill du göra exakt?

1-wire finns det färdiga bibliotek till. Shellskript räcker att styra 4st utgångar (tre på buffalon).
De utgångar du direkt kan styra ser du som filer under /proc/något.
Mao vill du att en utgång blir 1, så skriver du helt enkelt ett dit. I shellskript räcker t.ex. "echo 1 > /proc/sökväg/utgång".

Jag kan inte mycket programmering, men shellskripting är ju i princip att lägga shellkommandon efter varandra. Med cron får man de att köras då man vill.

Köp en bara, så är vi två som jobbar med det ;)

EDIT: Med owfs ser du alltså 1-wireenheter som mappar under en mapp. Sedan i enhetsmapparna har du några filer, t.ex. temperature för temperatursensorer. Lättare blir det ej.

Postat: 17 augusti 2007, 20:39:38
av Mindmapper
Vore kul att göra en temp logger/övervakning av huset. Har tänkt göra en med mikrocontroller 1-wire och sms. Men internet är ännu bättre faktisk, om dessutom kostnaden blir lägre gör det ju inget. Tänker dock vänta till det blir lite sämre väder ute. På hösten har jag en hel del annat att göra.

Postat: 17 augusti 2007, 20:50:10
av Macce
Står i valet och kvalet själv mellan att beställa en till Buffalo och att beställa en wrt54gl.

Skall väl beställa senast på söndag, så får jag den kanske på fredag. Skitlång leveranstid på dom.

Postat: 17 augusti 2007, 23:19:26
av stefan_l
Om du vill ha hjälp med shellscript nån dag så kanske jag kan hjälpa.

Själv använder jag denna enhet (USB) för att läsa temperatur och luftfuktighet.

Den har 8 portar som alla kan agera digital in / ut eller analog in / ut.

Edit: skickar med länken.....

http://www.dlpdesign.com/usb/io8.shtml

/Stefan