Sida 3 av 4

Re: Missar jag något uppenbart?

Postat: 04 feb 2014, 00:05
av joblo
bosse123 skrev:nyfiken fråga, varför vill du skapa alias?
Jag trodde att jag kanske skulle få mer koll på läget då..?

Re: Missar jag något uppenbart?

Postat: 05 feb 2014, 22:03
av bosse123
föreslår att du låter owfs "vara ifred".
namnöversättning gör du på andra ställen,
i ett bash script görs det initialt i skriptet
OutsideTempSensor="28.DAC22F040000"

i php om du vill köra det mot mysql:
$temp = exec ("/bin/cat /mnt/1-wire/28.DAC22F040000/temperature");
$date = date ("Y-m-d H:i:s");
$save_temp_q = "INSERT INTO temperatur_system (Givare, serial, temp_c, date)";
$save_temp_q .= " VALUES ('Solfångare', '28.DAC22F040000', '$temp', '$date')";
$save_temp_r = @mysql_query ($save_temp_q);

eller på annat sätt.

igenom detta förfarande så är owfs orörd men man publicerar ju namnen enbart ändå.

Re: Missar jag något uppenbart?

Postat: 10 feb 2014, 23:34
av joblo
Jag är lite benägen att streta emot här, speciellt om man läser på forum:
http://tingenek.wordpress.com/2012/02/0 ... with-mqtt/
där de säger "Luckily, OWFS has an alias system that lets you link ids to human-readable names with a simple file. Once setup, it changes the OWFS file system and the folders magically get renamed to /office, /outside etc."
Sen nämns det faktiskt på "vårat" forum också
http://www.temperatur.nu/forum/post9737 ... erna#p9737
Tyvärr verkar det inte vara så enkelt som de säger, för när jag skapar filen aliases.txt i /opt/owfs/bin/ så händer det ingenting alls... :(

Re: Missar jag något uppenbart?

Postat: 11 feb 2014, 20:54
av bosse123
har du fått igång något annat , kan du publicera värden, eller spara till någon databas?

Re: Missar jag något uppenbart?

Postat: 11 feb 2014, 22:03
av joblo
bosse123 skrev:har du fått igång något annat , kan du publicera värden, eller spara till någon databas?
Jag sparar just nu EN temp i RRD fil och genererar en graf på den som genom cron uppdateras ver 2.5te minut.
Men om jag provar owtap får jag inte upp någonting, inte heller för owdir. Kanske för att owserver inte är igång?? Jag har försökt klura ut vilka delar av owfs man behöver ha igång och hur man startar dem; owserver, owhttpd, owftp, dock utan större framgång???
Jag håller även på att plugga in en jägarexamen så ont om tid är det gott om :)
Helst skulle jag vilja hitta kod att planka så att jag i alla fall får igång den väsentligaste loggningen (jag har precis bytt pelletsbrännare och vill få den att gå optimalt), för att senare kunna finslipa och utveckla vidare.

Re: Missar jag något uppenbart?

Postat: 11 feb 2014, 22:28
av bosse123
Kan bara återigen tipsa om mitt egna upplägg som jag skrev om i ett tidigare inlägg, fungerar klockrent.

Re: Missar jag något uppenbart?

Postat: 11 feb 2014, 22:34
av leiyt
Ett tips som jag själv tycker är utmärkt när man labbar med sina PI är att installera RDP (Remote Desktop) Då kan Du sitta på din PC och köra flera terminalfönster samtidigt. Smidigt som bara den...
Googla på Raspberry remote desktop så finns det flera "How To"

Har Du kompilerat owfs och installerat? Då ligger owdir med flera binärer i /opt/owfs/bin. Har Du följt guiden den "korta" vägen så finns inte dessa binärer med.

Kontrollera att owserver lirar med kommando "service owserver status". Har den inte startat kan Du försöka starta owserver med "sudo service owserver start"

Re: Missar jag något uppenbart?

Postat: 11 feb 2014, 23:46
av joblo
leiyt skrev:Ett tips som jag själv tycker är utmärkt när man labbar med sina PI är att installera RDP (Remote Desktop) Då kan Du sitta på din PC och köra flera terminalfönster samtidigt. Smidigt som bara den...
Googla på Raspberry remote desktop så finns det flera "How To"

Har Du kompilerat owfs och installerat? Då ligger owdir med flera binärer i /opt/owfs/bin. Har Du följt guiden den "korta" vägen så finns inte dessa binärer med.

Kontrollera att owserver lirar med kommando "service owserver status". Har den inte startat kan Du försöka starta owserver med "sudo service owserver start"
Jodå, jag fick till sist igång x11 remote och även om remote fönstret inte är optimalt så kan jag t.o.m. sitta på jobbet och "jobba" :wink:
Jag har gått den långa vägen och kompilerat eftersom jag kör med i2c adaptern från m.nu, men om jag provar "service owserver status" får jag "owserver: unrecogniced service" som svar och det är samma svar om jag provar "sudo service owserver start". Hur kan jag kolla vad som gått snett?

Re: Missar jag något uppenbart?

Postat: 12 feb 2014, 23:28
av bosse123
med vad har du startat owserver? eller har du startat owfs?
det går, om jag förstår det hela rätt, bara att köra en del åt gången,
så du är på rätt spår när du kör med owserver, då kommunicerar alla andra moduler mot owserver port 4304.
hur ser din "startsträng ut"?
jag startar såhär:
/opt/owfs/bin/owfs -s localhost:4304 --allow_other /mnt/1-wire

och då får jag detta vid statuscheck:'
root@server1:/home/tommy/bin# service owfs status
owfs: unrecognized service
root@server1:/home/tommy/bin# service owserver status
* owserver is running

Re: Missar jag något uppenbart?

Postat: 13 feb 2014, 10:57
av joblo
bosse123 skrev:med vad har du startat owserver? eller har du startat owfs?
det går, om jag förstår det hela rätt, bara att köra en del åt gången,
så du är på rätt spår när du kör med owserver, då kommunicerar alla andra moduler mot owserver port 4304.
hur ser din "startsträng ut"?
jag startar såhär:
/opt/owfs/bin/owfs -s localhost:4304 --allow_other /mnt/1-wire
och då får jag detta vid statuscheck:'
root@server1:/home/tommy/bin# service owfs status
owfs: unrecognized service
root@server1:/home/tommy/bin# service owserver status
* owserver is running
Jag bara följde OWFS How To på Wikin och startar i nuläget därför owfs med:

Kod: Markera allt

/opt/owfs/bin/owfs --i2c=ALL:ALL --allow_other /mnt/1wire
Men jag läste på denna tråd
http://www.temperatur.nu/forum/post3237.html
att man kan starta OWSERVER först och sedan på något sätt koppla OWFS, OWHTTPD och liknande, mot den. Men hur man gör det har jag inte fått kläm på. Jag använder ju i2c interfacet från m.nu som bygger på DS2482-100+..

Re: Missar jag något uppenbart?

Postat: 13 feb 2014, 12:22
av joblo
Jag har nu provat
/opt/owfs/bin/owserver -p 4304 --i2c=/dev/i2c-1:ALL
/opt/owfs/bin/owfs -s localhost:3232 --allow_other -m /mnt/1wire
Men då mountade inte 1wire foldern, så nu har jag återgått till
/opt/owfs/bin/owfs --i2c=ALL:ALL --allow_other /mnt/1wire
i väntan på "bättre vetande".

Re: Missar jag något uppenbart?

Postat: 13 feb 2014, 20:48
av bosse123
du kör på port:3232 i din start, tror inte det är korrekt
/opt/owfs/bin/owfs -s localhost:3232 --allow_other -m /mnt/1wire

om du "ställer dig" där du har dina startfiler,
i mitt fall /mnt/1-wire, (kanske inte spelar nån roll men jag gör så ialla fall)

och kör umount /mnt/1-wire/ (eller umount /mnt/1wire/ beroende på mappnamn)
sedan
killall owfs

sedan :

/opt/owfs/bin/owfs -s localhost:4304 --allow_other /mnt/1-wire


om du nu har följt denna förstås:

http://wiki.temperatur.nu/index.php/OWFS_HowTo
eller denna :
http://wiki.temperatur.nu/index.php/OWFS_on_Rasperry_Pi
nu borde owserver vara igång.
övriga owfsgrejer lyssnar by default på owserver så det borde räcka med att starta som ovanstående.

Re: Missar jag något uppenbart?

Postat: 13 feb 2014, 22:40
av joblo
Så här löste jag det i min start1wire.sh

Kod: Markera allt

#!/bin/bash

### BEGIN INIT INFO
# Provides:             start1wire
# Required-Start:       $local_fs $syslog
# Required-Stop:        $local_fs $syslog
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Start OWFS at boot time
# Description:          Start OWFS at boot time
### END INIT INFO

# Starts OWSERVER, OWFS and OWHTTPD
/opt/owfs/bin/owserver -p 4304 --i2c=ALL:ALL
/opt/owfs/bin/owfs -s localhost:4304 --allow_other -m /mnt/1wire
/opt/owfs/bin/owhttpd -s 4304 -p 3001


# Orginal start som funkar men utelämnar owserver och owhttpd funktionalitet
# /opt/owfs/bin/owfs --i2c=ALL:ALL --allow_other /mnt/1wire 
och det funkar så vitt jag kan se hela vägen. Mina 1wire enheter är mountade, data sparas i RRD databasfilerna, kommandon som owdir funkar och jag kan till och med gå in och titta/ändra parametrar via httpd (localhost:3001).
Det tog bara c:a 1 vecka att googla sig fram till detta :D
Nu ska jag bara klura ut hur jag kan ta bort de 0-värden som slank in i mina rrd filer under mitt experimenterande (de sabbar autoskalningen av graferna).

Re: Missar jag något uppenbart?

Postat: 13 feb 2014, 23:09
av bosse123
deleta rrd.sh file som skapas i /home/*/rrddata eller var den nu skapas hos dig,
scriptet skapar en ny fil om det inte finns någon,

allra enklaste sättet.

i terminalen rm

eller så använder du winscp eller annat program för att få en bättre överskådlighet, passar oss bättre som är microsoftskadade...

Re: Missar jag något uppenbart?

Postat: 14 feb 2014, 12:21
av joblo
Nja, ju längre tiden lider desto värdefullare känns datan. Skulle kännas bättre om jag lär mig hur man kan sålla bort felaktiga datapunkter. Dels tror jag att man kan sätta en filtrering vid insamlandet av data men sedan fanns visst också varianter att trimma befintliga data. Jag hittade ett litet script som kan klippa bort spikar, men inte dippar.
Får väl se om jag lyckas modifiera till en "killdipp.sh".

Kod: Markera allt

#!/bin/sh

#
# killspike2
# Remove (presumably erroneous) peaks from RRD files
#
# Matt Zimmerman <mdz@debian.org>, 05/2002
#

set -e

usage() {
    >&2 echo "Usage: $0 <ds> <max> <rrd>..."
    >&2 echo
    >&2 echo "Remove all peaks above <max> from <ds> in the RRDs <rrd>..."
    exit $1
}

backupdir=backup.killspike2

ds=$1
max=$2

if [ -z "$ds" -o -z "$max" ]; then
    usage 1
fi

shift 2

rrds=$*

if [ "$ds" = "-h" -o -z "$rrds" ]; then
    usage 1
fi

[ ! -d $backupdir ] && mkdir $backupdir
echo "Making backups in $backupdir"

if type tempfile >/dev/null 2>&1; then
    tempfile=`tempfile`
else
    tempfile=killspike2.$$
fi

for rrd in $rrds; do
    echo $rrd

    oldmax=`rrdtool info "$rrd" | awk '$1 == "ds['$ds'].max" { print $3 }'`
    if [ -z "$oldmax" ]; then
        >&2 echo "Could not determine current max for DS '$ds' in $rrd"
        exit 1
    elif [ "$oldmax" = "NaN" ]; then
        oldmax=U
    fi

#    cp "$rrd" "$backupdir"
    rrdtool tune "$rrd" --maximum "$ds:$max"
    rrdtool dump "$rrd" > "$tempfile"
    mv "$rrd" "$backupdir"
    rrdtool restore -r "$tempfile" "$rrd"
    rrdtool tune "$rrd" --maximum "$ds:$oldmax"
done

rm -f "$tempfile"