Sida 1 av 2
Visa senaste temp i html sida
Postat: 04 jan 2009, 14:46
av HUSKii
Hoppas att det är i rätt forumsdel.
Jag har en tunn klient som jag har installerat Ubuntu Server och OWFS på.
I mappen /var/www/ finns filen index.html.
Hur gör jag om jag vill visa senaste temperaturen från mina DS18S20 sensorer
på denna websida.
Sensorerna finns i mappen /mnt/1wire/
Exempel:
Ute: x°C
Inne: x°C
Akvariet: x°C
Re: Visa senaste temp i html sida
Postat: 04 jan 2009, 19:04
av Dowser
Vilken webserver använder du dig av?
Om det är Apache och du har stöd för SSI går det bra att köra något i stil med:
Kod: Markera allt
Ute: <!--#include virtual="temp_ute.txt" -->°C
Inne: <!--#include virtual="temp_inne.txt" -->°C
Akvariet: <!--#include virtual="temp_akvarium.txt" -->°C
Fast du bör skapa temporära filer med data'n, för att slippa utsätta owfs för mer trafik än nödvändigt.
Re: Visa senaste temp i html sida
Postat: 05 jan 2009, 01:51
av HUSKii
Okej, så långt är jag med, men hur skapar jag textfilerna?
Jag är med på att det rör sig om ett skript men vad ska skriptet innehålla?
Jag har sökt lite på google men inte hittat något liknande.
Sen för att skicka upp .txt filerna till min webb server som jag har via min internetleverantör hittade jag detta skript genom google:
Kod: Markera allt
#!/bin/sh
HOST=<DNSname_or_ip_of_your_ftp_server>
USERNAME=<your_username_on_ftp_server>
PASSWORD=<your_password_on_ftp_server>
cd <path_to_where_file_is>
ftp -n $HOST <<EOD
quote USER $USERNAME
quote PASS $PASSWORD
cd <path_to_where_file_should_be_on_remote_machine>
put <file>
put <file>
put <file>
put <file>
quit
EOD
exit 0
Därefter bör det väl bara vara att lägga till det skriptet som cron job efter cron jobbet som kör graf genereringen?
Re: Visa senaste temp i html sida
Postat: 05 jan 2009, 04:32
av Dowser
Textfilerna är väldigt enkla att skapa.
Sist i din get_temp.sh behöver du bara lägga till:
En rad för varje variabel/fil
(Den behöver absolut inte heta txt, jag har valt det då det underlättar när man hämtar filen med webläsare vid felsökning.)
Scriptet fungerar nog, kändes lite omständigt, men i gengäld så var det ju väldigt tydligt.
Själv skulle jag se om inte det även fanns möjlighet att skicka filer via scp, då det dels blir enklare och stabilare, men framför allt för att det inte skickar lösenord i klartext över internet för varje gång du uppdaterar filerna.
Re: Visa senaste temp i html sida
Postat: 05 jan 2009, 13:07
av HUSKii
Dowser skrev:...Själv skulle jag se om inte det även fanns möjlighet att skicka filer via scp...
SCP? Antar att du menar:
SCP på wiki
Använder du dig av det själv eller?
Re: Visa senaste temp i html sida
Postat: 05 jan 2009, 15:19
av Dowser
Precis den ja!
Använder det flitigt vid överföringar mellan olika linux-maskiner etc.
Vid script är det grymt smidigt, efterssom det går att göra till "one-liners", och om man konfigurerar upp nyckel-hanteringen behöver inte lösen stå med i scriptet.
Re: Visa senaste temp i html sida
Postat: 05 jan 2009, 16:44
av HUSKii
Är det för mycket begärt att fråga efter lite hints/tips/exempel?
Till hur jag kan föra över graferna samt filerna med senaste temp till min webb konto/ftp konto som jag har via min internet leverantör?
Re: Visa senaste temp i html sida
Postat: 05 jan 2009, 19:43
av Dowser
Det ftp-script du har verkar göra jobbet aldeles utmärkt, så om du accepterar de svagheter som FTP i sig har ser jag inget fel alls med det!
I och med att du skickar dina värden till din internetoperatör har du ju inte möjlighet att styra fullt ut vad de stödjer, så eventuellt är inte scp ett alternativ.
Vilken operatör är det?
Re: Visa senaste temp i html sida
Postat: 05 jan 2009, 20:42
av HUSKii
Dowser skrev:Vilken operatör är det?
Bahnhof.
Re: Visa senaste temp i html sida
Postat: 06 jan 2009, 16:02
av HUSKii
Dowser skrev:Vilken webserver använder du dig av?
Om det är Apache och du har stöd för SSI...
Hur gör jag för att få stöd för SSI på min tunna klient med ubuntu server?
Dowser skrev:Fast du bör skapa temporära filer med data'n, för att slippa utsätta owfs för mer trafik än nödvändigt.
Du menar alltså ungeför såhär?
Dowser skrev:Textfilerna är väldigt enkla att skapa.
Sist i din get_temp.sh behöver du bara lägga till:
Eller har jag fått det om bakfoten?
Re: Visa senaste temp i html sida
Postat: 16 nov 2010, 12:07
av Loranga
Väcker liv i en gammal tråd genom att fråga om du gör något liknande från din dockstar?
Re: Visa senaste temp i html sida
Postat: 16 nov 2010, 19:04
av HUSKii
Än sålänge har jag bara en html-sida med graferna. Men får se vad jag lägger till. Gillar att pilla med script och sådant.

Är inte så bra på det ännu, det blir en del copy-paste, sen lite justering.
Men tids nog kanske jag fixar till någon snyggare webbsida på Dickstaren.
Det jag helst skulle vilja göra är att göra dockstarens webbsida tillgänglig utåt mot internet så jag kan se temperatur o annat på telen eller liknande.
Blir det mindre risk för attacker och annat skit om jag ändrar porten så som Erik har gjort här?
http://elf98.dyndns.org:8082/~energi/
Isåfall hur gör jag det, jag har lagt in Apache på dockstaren.
Re: Visa senaste temp i html sida
Postat: 17 nov 2010, 17:59
av Hoffan
Någon som kan ge en liten ledtråd hur
jag skapar mig en .txt fil me tempvärdet ur detta script?
Kod: Markera allt
#!/bin/sh
SENSORS="
/mnt/1wire/10.609A8401080038/temperature:ha7net_1.rrd
/mnt/1wire/10.4CCF92010800/temperature:ha7net_2.rrd
"
RRDBASE=/home/niclas/rrddata/timmervik/
for SENSOR_INFO in $SENSORS
do
SENSOR=`expr $SENSOR_INFO : '\(.*\):'`
RRDFILE=`expr $SENSOR_INFO : '.*:\(.*\)'`
if [ "$SENSOR" != "" ]; then
VALUE=""
echo -n "Reading $SENSOR "
i=0
while [ $i -lt 4 ]
do
VALUE=`cat $SENSOR | tr -d ' '`
if [ "$VALUE" != "125" ]; then
break
else
echo -n "r"
fi
let i+=1
sleep 1
done
VALUE_OK=""
echo -n "got '$VALUE'"
if [ "$VALUE" = "125" ]; then
echo -n " Bad value"
else
if [ "$VALUE" = "" ]; then
echo -n " Empty value"
else
VALUE_OK=$VALUE
fi
fi
if [ "$RRDFILE" != "" ]; then
if [ "$VALUE_OK" != "" ]; then
echo -n " Adding to RRD file $RRDFILE"
rrdtool update $RRDBASE/$RRDFILE N:$VALUE_OK
fi
fi
else
echo -n "Unable to extract SENSOR from $SENSOR_INFO"
fi
echo
done
Re: Visa senaste temp i html sida
Postat: 17 nov 2010, 18:31
av HUSKii
Detta borde funkgera. (Otestat! Fritt ur huvudet)
Kod: Markera allt
echo "$VALUE_OK" > /sökväg/till/mapp/$SENSOR.txt
lägg denna raden näst sist i ditt script
byt ut "/sökväg/till/mapp" till sökvägen där du vill spara textfilen.

Re: Visa senaste temp i html sida
Postat: 17 nov 2010, 18:41
av Hoffan
Funka dessvärre inte för mig
