Sida 14 av 16

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Postat: 27 jul 2013, 22:34
av gnagis
har skrivit precis som Du och andra snälla som försöker hjälpa mig sagt åt mig att skriva.
kände från början att det kanske har med rättigheter att göra, men Jag är så pass ny i det här, så jag har lite problem att fatta det . . .. . . .

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Postat: 29 sep 2013, 21:14
av Daniel Wennerberg
Hej!
Har inte hunnit sätta mig in i särskilt mycket än så länge, utan det är trial and error/learning by doing.

Jag följer wikiartikeln: http://wiki.temperatur.nu/index.php/RRDtool_HowTo som förvisso är för raspbian wheezy på RPI, men, jag antar att det inte skiljer sig nämnvärt från ubuntu när det gäller mitt problem.

Jag har klistrat in följande kod i en fil som heter create_rrd.sh i /home/pi/bin, och jag har skapat en katalog /home/pi/rrddata

Kod: Markera allt

#!/bin/bash
# Script to create rrd-file 

# 24h with 2,5 min resolution
# 7d with 5 min resolution
# 1y with 10 min resolution
# 20y with 1h resolution

directory="/home/anders/rrddata/"
filename="outside_temp.rrd"

# Check i file already exists
if [ ! -f "$directory$filename" ]
then
	# File doesn't exist, create new rrd-file
	echo "Creating RRDtool DB for outside temp sensor"
	rrdtool create $directory$filename \
		 --step 150 \
		 DS:outsidetemp:GAUGE:300:-50:60 \
		 RRA:AVERAGE:0.5:1:576 \
		 RRA:AVERAGE:0.5:2:2016 \
		 RRA:AVERAGE:0.5:4:52560 \
		 RRA:AVERAGE:0.5:24:175200 \
		 RRA:MAX:0.5:1:5760 \
		 RRA:MAX:0.5:2:2016 \
		 RRA:MAX:0.5:4:52560 \
		 RRA:MAX:0.5:24:175200 \
		 RRA:MIN:0.5:1:5760 \
		 RRA:MIN:0.5:2:2016 \
		 RRA:MIN:0.5:4:52560 \
		 RRA:MIN:0.5:24:175200
	echo "Done!"
else
	echo $directory$filename" already exists, delete it first."
fi
Allt har fungerat, så vitt jag förstår, felfritt hitills. Har kunnat hämta temperatur från givare etc.

Jag får dock ett felmeddelande när jag ska köra scriptet.

Kod: Markera allt

./create_rrd.sh: line 13: if [ ! -f /home/pi/rrdata/outside_temp.rrd ]: No such file or directory
./create_rrd.sh: line 14: syntax error near unexpected token `then'
./create_rrd.sh: line 14: `then' 
Några tips? :)

EDIT---
Efter att ha kikat på lite bash tutorials är jag inte mycket klokare vad det gäller själva koden, kan det vara problem med att kopiera och klistra in från en websida och något som kallas för "line endings"? Nano är tydligen lite dåligt på att hantera sådana.
/Daniel

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Postat: 02 okt 2013, 21:21
av Daniel Wennerberg
Efter att ha köpt ett riktigt tangentbord och inte skriver på ett litet mini, skrivit in hela scriptet för hand så fungerar det bättre. Måhända var det dessa line endings som ställde till det?

Nu fastnar jag istället med följande:

Kod: Markera allt

./create_rrd.sh
Creating RRDtool DB for mobile temp sensor
ERROR: can't parse argument 'echo'
Idéer?

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Postat: 03 okt 2013, 10:31
av CirruZZ
Posta create_rrd.sh i sin helhet så kan vi se :wink:

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Postat: 03 okt 2013, 18:32
av Daniel Wennerberg
Hej!
Då ska vi se, har ändrat lite på user och sådant för att reflektera hur det ser ut på min pi. Gick igenom en hel del felmeddelanden i själva RRD delen, innan jag slutligen fastnade på vad jag tror är den sista echo raden.
Tack på förhand!

Kod: Markera allt

#!/bin/bash
# Script to create rrd-file

# 24h with 2.5 min resolution
# 7d with 5 min resolution
# 1y with 10 minresolution
# 20 y with 1h resolution
directory="/home/pi/rrddata/"
filename="mobile_temp.rrd"

# check if file already exists
if [ ! -f "$directory$filename" ]
then
        # File doesn't exist, create new rrd-file
        echo "Creating RRDtool DB for mobile temp sensor"
        sudo rrdtool create $direcdtory$filename \
                --step 150 \
                DS:mobiletemp:GAUGE:300:-50:60 \
                RRA:AVERAGE:0.5:1:576 \
                RRA:AVERAGE:0.5:2:2016 \
                RRA:AVERAGE:0.5:4:52560 \
                RRA:AVERAGE:0.5:24:175200 \
                RRA:MAX:0.5:2:5760 \
                RRA:MAX:0.5:2:2016 \
                RRA:MAX:0.5:4:52560 \
                RRA:MAX:0.5:24:175200 \
                RRA:MIN:0.5:1:5760 \
                RRA:MIN:0.5:2:2016 \
                RRA:MIN:0.5:4:52560 \
                RRA:MIN:0.5:24:175200 \
        echo "Done!"
else
        echo $directory$filename" Already exists Delete"
fi

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Postat: 03 okt 2013, 18:47
av CirruZZ
Raden innan echo "Done!", ta bort \

Skall vara

Kod: Markera allt

RRA:MIN:0.5:24:175200
Det backslash gör är att det som kommer i raden efter tillhör samma rad, ett radbyte i själva kommandot kan man säga, så bash tror att echo tillhör rrdtool create... :wink:

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Postat: 03 okt 2013, 19:34
av Daniel Wennerberg
Aha! :D Tusen tack. Det är det som är problemet med att papegoja kod som man inte fattar vad det betyder. nu vet jag ju faktiskt vad backslashen betyder. Du har inte tips på lite länkar där man kan börja lära sig mer om bash, linux och RRD etc?
Satt med unix för 15 år sedan, och dos innan dess, så det är lite väl rostigt. Men kul!

/Danne

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Postat: 04 okt 2013, 10:01
av Daniel Wennerberg
Hmm, då ska vi se: försöker köra perl scriptet bara för att se om det lirar.

Kod: Markera allt

pi@mobiletemp ~/bin $ ./graph_temp.pl
./graph_temp.pl: line 26: unexpected EOF while looking for matching `"'
./graph_temp.pl: line 27: syntax error: unexpected end of file
Försöker titta igenom koden för att se om jag har kört semikolon isf kolon eller vice versa, hittar inte felet. Får återigen ödmjukt be om lite tips.

Kod: Markera allt


"!/usr/bin/perl

use RRDs;

my $cur_time = time();
my $start_time = $cur_time - 86400;     #set end time to 24 hours ago
RRDs::graph "/var/www/graph_temp.png",
                "--start= $start_time",
                "--end= $cur_time",
                "--title= Mobil temp",
                "--height= 300",
                "--width= 500",
                "--vertical-label= Grader Celsius",
        "DEF:MobileTemp=/homr/pi/rrddata/mobile_temp.rrd:mobiletemp:AVERAGE",
                "COMMENT:\t\t\t\tNu     Medel   Max     Min\\n",
                "HRULE:0#0000FF",
        "LINE2:MobileTemp#0000FF",
                "GPRINT:MobileTemp:LAST:%6.11f",
                "GPRINT:MobileTemp:AVERAGE:%6.11f",
                "GPRINT:MobileTemp:MAX:%6.11f",
                "GPRINT:MobileTemp:MIN:%6.11f\\n";

my $err=RRDs::error;
if ($err) {print "problem generating the graph: $err\n";}

print "Done!\n"

Ska kanske nämnas att jag först försökte copy 'n pastea koden, men drogs med något osynligt /xc2 som inte lirade särskilt bra i nano. Efter detta skrev jag allting för hand, med risken att det då smyger in sig ett litet fel tydligen.

/Danne

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Postat: 04 okt 2013, 10:19
av lennart
I första raden har du fått med 'kaninöron' i början på raden:

"!/usr/bin/perl

Ändra till # så kanske det funkar sedan:

#!/usr/bin/perl

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Postat: 04 okt 2013, 21:32
av Daniel Wennerberg
Tackar, det hjälpte!
Det dök upp ett par fler fel som jag rättade till,
Fastnar dock med med ett felmeddelande som jag antar härrör från slutet:
Problem generating the graph: could not save png to ' /var/www/graph_temp.png'
Done!

Vet inte om det blir någe vajsing med rättigheter, men jag har kört en sudo chmod +x på alla scriptfiler, så rättigheter torde välan finnas?

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Postat: 04 okt 2013, 23:38
av CirruZZ
Har du skrivrättigheter till /var/www/ ?

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Postat: 05 okt 2013, 08:33
av Daniel Wennerberg
Hej!
Det som är lite skumt är att det nu har dykt upp en graf, men, jag får fortfarande felmeddelande, plus det där "done!" som ju borde dyka upp bara om saker och ting har fungerat?

Efter lite meckande så körde jag "sudo adduser pi root"
Det kanske är en big no no? Jag fick ju i alla fall skrivrättigheter...
:)

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Postat: 07 okt 2013, 09:16
av CirruZZ
Funkade det nu?

annars, vad får du om du skriver ls -al /var/www

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Postat: 07 okt 2013, 23:21
av zipz
Det verkar saknas en
sudo chmod +x graph_temp.pl

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Postat: 29 nov 2013, 23:19
av CDK2H
CirruZZ skrev:
oJsan skrev:Måste nog tyvärr meddela att det fortfarande är fel för MAX och MIN, där står det fortfarande 5760 (medan det för AVERAGE står 576).
Sorry :oops: uppmärksamt av dig, det är ändrat nu..
Vänta lite nu. Kan någon också se till so howto guiden uppdateras på hemsidan också och inte bara här på forumet.