Bygga ut och om. 1-wire med ASUS WL-500g Premium

Hur gör man för att ... ? Hur fungerar ... ? Steg för steg-guider och förklarande artiklar finns i detta forum.
Många guider finner också på vår blogg: https://blog.m.nu/
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
jonas_j
Tar hemautomation på allvar
Inlägg: 138
Blev medlem: 18 nov 2006, 15:00
Ort: Åkers Styckebruk

Bygga ut och om. 1-wire med ASUS WL-500g Premium

Inlägg av jonas_j »

Hej

Har sedan många? år ett väl fungerande system som loggat 4 temperaturer mha av en ASUS WL-500g Premium med USB-interface. Utetemp, solfångare lufttemp samt vattnet in och ut ur solfångaren. Solfångaren är skrotade sedan i somras så kvar är eg. bara utetemp. Vill nu bygga något enl. bif. bild. De gråa rutorna är givare jag har. Routern har jag. Hemsidan har jag. Övrigt saknas. Längderna är ungefärliga.

Vad behöver jag för hårdvara och hur mkt kodjobb åker man på? Är inte så sugen på att lägga massor av tid på detta själv då kodningen i openwrt inte är något jag behärskar egentligen. Klarar jag mig med de guider som finns? Om inte, finns det kanske vänliga själar eller själar med pengabehov :D

LCD'n ska sitta väl synlig i hallen i huset, gärna så "snygg" som möjligt samt bra tittvinkel - gärna inte fööör starkt lysande dock så att den sticker i ögonen så att säga. Helst med så mkt plats att önskad information syns utan scrollning om möjligt.

Vad gäller websidan ska den vara enkel, a´la min bef. http://www.jornemark.nu/temperatur men graferna jag vill se är en graf för resp. givare för senaste dygnet, senaste veckan, månaden och senaste året
inte nödvändigtvis på samma sida då det blir rätt många grafer. Kanske temp på en sida och el på en annan... Vad gäller elen så är det mkt data att spara kanske. Vet inte vad som är rimligt att kalla momentant. 1 min snitt? I dagsläget skrivs loggningen till ett usb-minne i routern - kan man ordna så att skrivs en kopia nån annanstans hela tiden? (usb-hårddisk, stort usb-minne, nätverksenhet, websida?) Nu sparas visserligen log-filen till hemsidan, en fil per månad. Kanske räcker?
Bilagor
version 2, loggning sibirien
version 2, loggning sibirien
Senast redigerad av jonas_j den 18 feb 2012, 21:42, redigerad totalt 3 gång.
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Bygga ut och om. 1-wire med ASUS WL-500g Deluxe

Inlägg av elf98 »

Kanske inte det bästa svaret:

Allt du behöver i form av hårdvara finns på m.nu, bara att vraka och välja.

Hur mycket jobb det är i kodande beror helt på hur mycket kunskaper du har innan. Jag skulle gissa att det skulle ta mig någonstanns mellan 4-8h att åstadkomma det du vill mjukvarumässigt - men då är jag van att arbeta med prylarna.

Hade det varit en Asus WL-500 premium har jag nog en fw som har mycket implementerat redan...
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
jonas_j
Tar hemautomation på allvar
Inlägg: 138
Blev medlem: 18 nov 2006, 15:00
Ort: Åkers Styckebruk

Re: Bygga ut och om. 1-wire med ASUS WL-500g Premium

Inlägg av jonas_j »

Vet inte varför jag skrivit Deluxe, det är en Premium. (rubrik ändrad)

Svaret kanske var väntat :)
Det du har, är det något jag kan ta del av då?
Exakta hårdvaran då, möjligt att få hjälp där - länkar till rätt artikel?
Kikade på lcd:erna nu... finns alldeles för många att välja på :) . Finns det bilder på nånstans på dem "Live" så att säga - integrerade i nån snygg låda osv?

Ang.kunskaper så är det nära noll. 4-8 timmar för ett proffs låter som om jag lätt skulle behöva 14 dar :shock:
jonas_j
Tar hemautomation på allvar
Inlägg: 138
Blev medlem: 18 nov 2006, 15:00
Ort: Åkers Styckebruk

Re: Bygga ut och om. 1-wire med ASUS WL-500g Premium

Inlägg av jonas_j »

Har uppdaterade systembilden nu. Är jag på rätt väg?
Behövs spänningsmatning nånstans?
Fungerar längderna?
Hur blir utbyggbarheten - kan jag hänga på några temp och eller fuktgivare framöver?

Behöver utöver artiklarna såklart kabel och lite kontakter. Är det RJ11/45 som gäller eller vad är bästa kontakteringssätten? Duger sockerbitar eller motsvarande? Kan (vill) inte köpa färdigkontakterat då kabeldragningen då kommer kräva för stora hål i väggar osv. Dvs först peta igenom kabeln, sen kontaktera...
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Bygga ut och om. 1-wire med ASUS WL-500g Premium

Inlägg av elf98 »

Bifogat finns en firmwarebackup plus ett gäng filer som skall ligga på ett USB-minne som måste vara anslutet till routern för att det skall fungera. Det finns även en ganska detaljerad manual.

Tror att du måste aktivera lcd.sh i startupscripten, exakt var kommer jag inte ihåg...

Du ändrar sensorernas idnummer i filen config.txt

Systemet har stöd för:
Valfritt antal temperatursensorer
Energiförbrukning
Automatisk rapportering till temperatur.nu
Scrollning av temperaturer på LCD-display om du aktiverar lcd.sh

Exempel på ungefär hur det ser ut: http://karl-ove.mine.nu/

rootlösen till firmwaren är med 99% sannolikhet: XUxXy96o

Observera att jag inte ger någon som helst support via mail och kanske inte ens jättemycket support här heller.
Bilagor
firmware2.zip
(5.8 MiB) Nerladdad 344 gånger
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
jonas_j
Tar hemautomation på allvar
Inlägg: 138
Blev medlem: 18 nov 2006, 15:00
Ort: Åkers Styckebruk

Re: Bygga ut och om. 1-wire med ASUS WL-500g Premium

Inlägg av jonas_j »

Ok, får kanske ta tag i mig själv nu då och försöka mig på att få fart på något...

Innan jag börjar tänkte jag försöka friska upp minnet och lära mig den konfig. jag har igång nu. GÅr sådär. Går bet på nr 1, att ta backup. I manualen framgår att backup enklast görs:
/mnt/backup.sh Skapar en backup av systemets firmware. Backupen skrivs till usbminnet och heter
firmware_backup.trx. När scriptet körs skall ett resulat liknande detta erhållas:"

Kod: Markera allt

root@TemperaturMonitor:~# /mnt/scripts/backup.sh
15744+0 records in
15744+0 records out
-rwxr-xr-x 1 root root 8060928 Apr 10 13:46 /mnt/firmware_backup.trx
jag hittar ingen backup.sh på min router eller usb-minne
Vad ska det scriptet innehålla? Dvs hur skapar jag det och tar en backup?
Det jag hittar är en backup.trx under /mnt
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Bygga ut och om. 1-wire med ASUS WL-500g Premium

Inlägg av elf98 »

Kod: Markera allt

mount -o remount,ro /dev/mtdblock/4 /jffs
dd if=/dev/mtdblock/1 > /mnt/firmware_backup.trx
mount -o remount,rw /dev/mtdblock/4 /jffs
ls -l /mnt/firmware_backup.trx
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
jonas_j
Tar hemautomation på allvar
Inlägg: 138
Blev medlem: 18 nov 2006, 15:00
Ort: Åkers Styckebruk

Re: Bygga ut och om. 1-wire med ASUS WL-500g Premium

Inlägg av jonas_j »

Tack tack. Fungerar fint med backupen.

Nu till nya frågor. När jag pluggar i ett usb med den nya firmwaren - vad behövs göras? Funkar det direkt (förutsatt att config.txt är rätt osv) Behövs något initialiseras eller så?
Kan jag lätt återgå till det gamla firmwaret om det inte funkar osv - åtminstone under testperioden? Vill inte riskera att haverera det som fungerar

Pulsräknaren med två ingångar, är det några problem att ha en LED-detektor på den ena ingången och en S0 på den andra?

Kikar på Wikin för rrdtool men greppar det inte. Jag kan såklart kopiera koden men det är bara för en ingång vad jag förstår - hur specar man upp två?

Kanske gör bättre i att ställa frågorna separat i resp. forumdel... inser att detta bara är början.
jonas_j
Tar hemautomation på allvar
Inlägg: 138
Blev medlem: 18 nov 2006, 15:00
Ort: Åkers Styckebruk

Re: Bygga ut och om. 1-wire med ASUS WL-500g Premium

Inlägg av jonas_j »

Är på god väg nu!

Counter, temp och lcd är inkopplat och tycks fungera. Att få rätt saker att visas på LCD'n lyckas jag dock inte med. Har hittat en lcd.sh samt en lcd2.sh. Har editerat lite i lcd.sh och det tycks vara den som är aktiv. Hur adderar jag egna rader med text från givare? I dagsläget anges bara tempgivare och sen är det lite reklamtext till shop.temperatur.nu osv. De "dumma" texterna kan jag enkelt ändra till andra texter men om jag vill ha in t.ex momentan el samt dagens datum osv, hur hittar jag syntax för sånt?
Klipper in lch.sh nedan:

Kod: Markera allt

root@TemperaturMonitor:~# nano /mnt/scripts/lcd.sh
  GNU nano 2.0.6                          File: /mnt/scripts/lcd.sh

                        if [ "$j" == "3" ]; then
                                echo "Freiholtz Consulting" >/tmp/1wire/$LCD/line20.$j
                                echo "ap"
                        fi
                        if [ "$j" == "2" ]; then
                                echo "System uppe sedan:  ">/tmp/1wire/$LCD/line20.$j
                                echo "ap2"
                        fi
                        if [ "$j" == "1" ]; then
                                echo "2012-04-21    ">/tmp/1wire/$LCD/line20.$j
                                echo "ap3"
                        fi
                else
                        echo "Val $j"
                        eval SNAME="\$S_NAME$COUNT"
                        eval STYPE="\$S_TYPE$COUNT"
                        eval SVAL="\$S_VAL$COUNT"
                        if [ $STYPE == "TEMP" ]; then
                                append="ß"
                        else
                                append="%"
                        fi
                        echo "$SNAME: $SVAL$append                     " > /tmp/1wire/uncached/$LCD/line20.$j
                fi
                COUNT=`expr $COUNT + 1`
                j=`expr $j + 1`

        done
        echo "COUNT=$COUNT"
        if [ $COUNT -ge $SENSORS ]; then
                COUNT=1
        fi
done
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Bygga ut och om. 1-wire med ASUS WL-500g Premium

Inlägg av elf98 »

Dumma texter? :evil:

Jag har för mig att det sparas en textfil någonstans med senaste energiförbrukningen. /tmp/power.txt ?. Det är i så fall bara att parasa den filen:

Kod: Markera allt

echo "Nuvarande elanvändning: `cat /tmp/power.txt|tail -n 1|sed -e s/".*="//`W"
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
jonas_j
Tar hemautomation på allvar
Inlägg: 138
Blev medlem: 18 nov 2006, 15:00
Ort: Åkers Styckebruk

Re: Bygga ut och om. 1-wire med ASUS WL-500g Premium

Inlägg av jonas_j »

elf98 skrev:Dumma texter? :evil:

Jag har för mig att det sparas en textfil någonstans med senaste energiförbrukningen. /tmp/power.txt ?. Det är i så fall bara att parasa den filen:

Kod: Markera allt

echo "Nuvarande elanvändning: `cat /tmp/power.txt|tail -n 1|sed -e s/".*="//`W"
Med dumma menade jag rena texter, som inte uppdateras - absolut inget annat!

Har fått ut elen på en rad med den parsingen. TACK! Hur bestämmer man vilken rad texten ska hamna på och hur får jag två värden på samma rad? Vill ha något i still med detta (fyra raders lcd):
2012-04-22 19:27
Söndag
Ute: -2° Inne: +21°
Hus: 1420W VP: 120W

Efter varje rad ligger nu ett konstigt specialtecken - ser inget sånt i koden. Vad kan det vara?
Sista frågan nu; - hur får man lcd'n att uppdateras med ny kod utan att boota om routern?
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Bygga ut och om. 1-wire med ASUS WL-500g Premium

Inlägg av elf98 »

Jag var ironisk gällande dumma texter. Klart att texterna ska bort när utrymmet är så begränsat.

Kommer inte ihåg om informationen lades i variabler eller om den skickas direkt till displayen. hur som helst så styrs informationen till specifik rad med följande:

echo "XXXXX" > /mnt/1wire/FFYYYYYY/line20.Z, där Z är vilken rad på displayen som adresseras. Rad 0-3, dvs rad 0 blir rad på displayen.

Två värden på samma rad:

Kod: Markera allt

echo "Temp1 `cat /mnt/1wire/28.XXXX/temperature`, Temp2: `cat /mnt/1wire/28.YYYY/temperature`"
Gällande skräptecken är det något owfs fixar till helt själv när man inte fyller hela raden. Löses enklast genom att helt enkelt lägga till ett gäng mellanslag i slutet av strängen som skrivs till displayen.

Tror att det kan ligga någon övervakning på lcd.sh-scriptet, i såfall är det bara att skriva:

Kod: Markera allt

killall lcd.sh
Om det endast stoppar uppdateringen får du skriva:

Kod: Markera allt

/mnt/scripts/lcd.sh &
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
jonas_j
Tar hemautomation på allvar
Inlägg: 138
Blev medlem: 18 nov 2006, 15:00
Ort: Åkers Styckebruk

Re: Bygga ut och om. 1-wire med ASUS WL-500g Premium

Inlägg av jonas_j »

Får inte lcd'n att uppdatera ändå... utan omstart. Skitsamma - mest viktigt nu när jag testar.
Jag förstår inte hur den idag skriver ut temperaturen. Det är via nån rad i koden men jag förstår inte var...
Det enda jag lyckas med är att inte få ut aktuell temperatur utan nu står det "Routerns ipnummer:" Därefter kommer min text om dagens datum samt elförbrukning.

(edit: tog bort en fråga som jag löste...)
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Bygga ut och om. 1-wire med ASUS WL-500g Premium

Inlägg av elf98 »

Posta koden här så kan jag guida.
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
jonas_j
Tar hemautomation på allvar
Inlägg: 138
Blev medlem: 18 nov 2006, 15:00
Ort: Åkers Styckebruk

Re: Bygga ut och om. 1-wire med ASUS WL-500g Premium

Inlägg av jonas_j »

elf98 skrev:Posta koden här så kan jag guida.
Finns några inlägg upp... postar igen.

Kod: Markera allt

    root@TemperaturMonitor:~# nano /mnt/scripts/lcd.sh
      GNU nano 2.0.6                          File: /mnt/scripts/lcd.sh

                            if [ "$j" == "3" ]; then
                                    echo "Freiholtz Consulting" >/tmp/1wire/$LCD/line20.$j
                                    echo "ap"
                            fi
                            if [ "$j" == "2" ]; then
                                    echo "System uppe sedan:  ">/tmp/1wire/$LCD/line20.$j
                                    echo "ap2"
                            fi
                            if [ "$j" == "1" ]; then
                                    echo "2012-04-21    ">/tmp/1wire/$LCD/line20.$j
                                    echo "ap3"
                            fi
                    else
                            echo "Val $j"
                            eval SNAME="\$S_NAME$COUNT"
                            eval STYPE="\$S_TYPE$COUNT"
                            eval SVAL="\$S_VAL$COUNT"
                            if [ $STYPE == "TEMP" ]; then
                                    append="ß"
                            else
                                    append="%"
                            fi
                            echo "$SNAME: $SVAL$append                     " > /tmp/1wire/uncached/$LCD/line20.$j
                    fi
                    COUNT=`expr $COUNT + 1`
                    j=`expr $j + 1`

            done
            echo "COUNT=$COUNT"
            if [ $COUNT -ge $SENSORS ]; then
                    COUNT=1
            fi
    done
Skriv svar