Online teplomery: Porovnání verzí

Z HKfree wiki
Skočit na navigaci Skočit na vyhledávání
Řádek 81: Řádek 81:
 
RRDTOOL=/usr/bin/rrdtool
 
RRDTOOL=/usr/bin/rrdtool
 
STATS_DIR=/root/temp/digitemp-3.3.2/rrd
 
STATS_DIR=/root/temp/digitemp-3.3.2/rrd
PLOSS_STATS="$STATS_DIR/teplota.rrd"
+
TEMP_STATS="$STATS_DIR/teplota.rrd"
PLOSS_GRAPH1="$STATS_DIR/temp1h.png"
+
TEMP_GRAPH1="$STATS_DIR/temp1h.png"
PLOSS_GRAPH6="$STATS_DIR/temp6h.png"
+
TEMP_GRAPH6="$STATS_DIR/temp6h.png"
PLOSS_GRAPH24="$STATS_DIR/temp1d.png"
+
TEMP_GRAPH24="$STATS_DIR/temp1d.png"
PLOSS_GRAPH1W="$STATS_DIR/temp1w.png"
+
TEMP_GRAPH1W="$STATS_DIR/temp1w.png"
PLOSS_GRAPH1M="$STATS_DIR/temp1m.png"
+
TEMP_GRAPH1M="$STATS_DIR/temp1m.png"
PLOSS_GRAPH1Y="$STATS_DIR/temp1y.png"
+
TEMP_GRAPH1Y="$STATS_DIR/temp1y.png"
  
$RRDTOOL graph $PLOSS_GRAPH1 \
+
$RRDTOOL graph $TEMP_GRAPH1 \
 
     --title 'Teplota na pude u routeru - posledni hodina' \
 
     --title 'Teplota na pude u routeru - posledni hodina' \
 
     --start 'end-1h' \
 
     --start 'end-1h' \
Řádek 99: Řádek 99:
 
     --width=$WIDTH \
 
     --width=$WIDTH \
 
     --height=$HEIGHT \
 
     --height=$HEIGHT \
     "DEF:pl=$PLOSS_STATS:teplota:AVERAGE" \
+
     "DEF:pl=$TEMP_STATS:teplota:AVERAGE" \
 
     "CDEF:mpl=pl,UN,0,pl,IF" \
 
     "CDEF:mpl=pl,UN,0,pl,IF" \
 
     "LINE2:mpl#ff0000:Teplota" \
 
     "LINE2:mpl#ff0000:Teplota" \
Řádek 106: Řádek 106:
 
     "GPRINT:mpl:MIN:minimalni teplota=%.1lf°C\\n"
 
     "GPRINT:mpl:MIN:minimalni teplota=%.1lf°C\\n"
  
$RRDTOOL graph $PLOSS_GRAPH6 \
+
$RRDTOOL graph $TEMP_GRAPH6 \
 
     --title 'Teplota na pude u routeru - poslednich 6 hodin' \
 
     --title 'Teplota na pude u routeru - poslednich 6 hodin' \
 
     --start 'end-6h' \
 
     --start 'end-6h' \
Řádek 116: Řádek 116:
 
     --width=$WIDTH \
 
     --width=$WIDTH \
 
     --height=$HEIGHT \
 
     --height=$HEIGHT \
     "DEF:pl=$PLOSS_STATS:teplota:AVERAGE" \
+
     "DEF:pl=$TEMP_STATS:teplota:AVERAGE" \
 
     "CDEF:mpl=pl,UN,0,pl,IF" \
 
     "CDEF:mpl=pl,UN,0,pl,IF" \
 
     "LINE2:mpl#ff0000:Teplota" \
 
     "LINE2:mpl#ff0000:Teplota" \
Řádek 123: Řádek 123:
 
     "GPRINT:mpl:MIN:minimalni teplota=%.1lf°C\\n"
 
     "GPRINT:mpl:MIN:minimalni teplota=%.1lf°C\\n"
  
$RRDTOOL graph $PLOSS_GRAPH24 \
+
$RRDTOOL graph $TEMP_GRAPH24 \
 
     --title 'Teplota na pude u routeru - posledni den' \
 
     --title 'Teplota na pude u routeru - posledni den' \
 
     --start 'end-24h' \
 
     --start 'end-24h' \
Řádek 133: Řádek 133:
 
     --width=$WIDTH \
 
     --width=$WIDTH \
 
     --height=$HEIGHT \
 
     --height=$HEIGHT \
     "DEF:pl=$PLOSS_STATS:teplota:AVERAGE" \
+
     "DEF:pl=$TEMP_STATS:teplota:AVERAGE" \
 
     "CDEF:mpl=pl,UN,0,pl,IF" \
 
     "CDEF:mpl=pl,UN,0,pl,IF" \
 
     "LINE2:mpl#ff0000:Teplota" \
 
     "LINE2:mpl#ff0000:Teplota" \
Řádek 140: Řádek 140:
 
     "GPRINT:mpl:MIN:minimalni teplota=%.1lf°C\\n"
 
     "GPRINT:mpl:MIN:minimalni teplota=%.1lf°C\\n"
  
$RRDTOOL graph $PLOSS_GRAPH1W \
+
$RRDTOOL graph $TEMP_GRAPH1W \
 
     --title 'Teplota na pude u routeru - posledni tyden' \
 
     --title 'Teplota na pude u routeru - posledni tyden' \
 
     --start 'end-1w' \
 
     --start 'end-1w' \
Řádek 150: Řádek 150:
 
     --width=$WIDTH \
 
     --width=$WIDTH \
 
     --height=$HEIGHT \
 
     --height=$HEIGHT \
     "DEF:pl=$PLOSS_STATS:teplota:AVERAGE" \
+
     "DEF:pl=$TEMP_STATS:teplota:AVERAGE" \
 
     "CDEF:mpl=pl,UN,0,pl,IF" \
 
     "CDEF:mpl=pl,UN,0,pl,IF" \
 
     "LINE2:mpl#ff0000:Teplota" \
 
     "LINE2:mpl#ff0000:Teplota" \
Řádek 157: Řádek 157:
 
     "GPRINT:mpl:MIN:minimalni teplota=%.1lf°C\\n"
 
     "GPRINT:mpl:MIN:minimalni teplota=%.1lf°C\\n"
  
$RRDTOOL graph $PLOSS_GRAPH1M \
+
$RRDTOOL graph $TEMP_GRAPH1M \
 
     --title 'Teplota na pude u routeru - posledni mesic' \
 
     --title 'Teplota na pude u routeru - posledni mesic' \
 
     --start 'end-1m' \
 
     --start 'end-1m' \
Řádek 167: Řádek 167:
 
     --width=$WIDTH \
 
     --width=$WIDTH \
 
     --height=$HEIGHT \
 
     --height=$HEIGHT \
     "DEF:pl=$PLOSS_STATS:teplota:AVERAGE" \
+
     "DEF:pl=$TEMP_STATS:teplota:AVERAGE" \
 
     "CDEF:mpl=pl,UN,0,pl,IF" \
 
     "CDEF:mpl=pl,UN,0,pl,IF" \
 
     "LINE2:mpl#ff0000:Teplota" \
 
     "LINE2:mpl#ff0000:Teplota" \
Řádek 174: Řádek 174:
 
     "GPRINT:mpl:MIN:minimalni teplota=%.1lf°C\\n"
 
     "GPRINT:mpl:MIN:minimalni teplota=%.1lf°C\\n"
  
$RRDTOOL graph $PLOSS_GRAPH1Y \
+
$RRDTOOL graph $TEMP_GRAPH1Y \
 
     --title 'Teplota na pude u routeru - posledni rok' \
 
     --title 'Teplota na pude u routeru - posledni rok' \
 
     --start 'end-1y' \
 
     --start 'end-1y' \
Řádek 184: Řádek 184:
 
     --width=$WIDTH \
 
     --width=$WIDTH \
 
     --height=$HEIGHT \
 
     --height=$HEIGHT \
     "DEF:pl=$PLOSS_STATS:teplota:AVERAGE" \
+
     "DEF:pl=$TEMP_STATS:teplota:AVERAGE" \
 
     "CDEF:mpl=pl,UN,0,pl,IF" \
 
     "CDEF:mpl=pl,UN,0,pl,IF" \
 
     "LINE2:mpl#ff0000:Teplota" \
 
     "LINE2:mpl#ff0000:Teplota" \

Verze z 27. 1. 2006, 18:40

Online teplomery v HKFfree

Slatina

Svinary

Kukleny

OliAP - centrum města

Labská I

Orca AP - Prazske predmesti

AP Winterova

Jak postavit teplomer

soucastky sezenete vsude mozne (GES apod) cca za 20-40Kc, cidla se daji objednat jako vzorky zdarma na http://www.maxim-ic.com/ (chce to zvladat aspon zaklady anglictiny)

Jak vypisovat hodnoty do grafu (rrdtool)

Asi by to nekoho mohlo zajimat, tak se pokusim sem sepsat dva, tri skripty ktery zajistuji vykreslovani hodnoty teploty do grafu...

poprosim jen nekoho kdo s tim vic umi, aby doplnil kresleni vice cidel do jednoho obrazku

Predpokladame ze mame nainstalovan digitemp Nejprve si vytvorime databazi rrd, je jedno kde. <bash>

  1. !/bin/sh

rrdtool create teplota.rrd -s 60 \

       DS:teplota:GAUGE:600:U:U  \
       RRA:AVERAGE:0.5:1:600 \
       RRA:AVERAGE:0.5:6:700 \
       RRA:AVERAGE:0.5:24:775 \
       RRA:AVERAGE:0.5:288:797 \
       RRA:MIN:0.5:1:600 \
       RRA:MIN:0.5:6:700 \
       RRA:MIN:0.5:24:775 \
       RRA:MIN:0.5:288:797 \
       RRA:MAX:0.5:1:600 \
       RRA:MAX:0.5:6:700 \
       RRA:MAX:0.5:24:775 \
       RRA:MAX:0.5:288:797

</bash>

Jako dalsi bude potreba skript, ktery nam bude cist hodnotu z digitempu a bude nam ji ukladat do rrd databaze <bash>

  1. !/bin/sh

RRDTOOL=/usr/bin/rrdtool #cesta k rrdtoolu RRD=/root/temp/digitemp-3.3.2/rrd/teplota.rrd #cesta k databazovemu souboru START=`date +%s`

cd /root/temp/digitemp-3.3.2 #kvuli zmene adresare pro spousteni digitempu (absolutni cesta mi hazi chyby, nechapu... kazdy podle sebe)

       TEMP=`./digitemp_DS9097 -q -t0 -o"%.2C"`  #precteni hodnoty
       $RRDTOOL update $RRD "$START:$TEMP"   #ulozeni do rrd databaze

</bash>

a nyni uz muzeme vesele generovat grafy <bash>

  1. !/bin/sh

WIDTH=600 HEIGHT=250 RRDTOOL=/usr/bin/rrdtool STATS_DIR=/root/temp/digitemp-3.3.2/rrd TEMP_STATS="$STATS_DIR/teplota.rrd" TEMP_GRAPH1="$STATS_DIR/temp1h.png" TEMP_GRAPH6="$STATS_DIR/temp6h.png" TEMP_GRAPH24="$STATS_DIR/temp1d.png" TEMP_GRAPH1W="$STATS_DIR/temp1w.png" TEMP_GRAPH1M="$STATS_DIR/temp1m.png" TEMP_GRAPH1Y="$STATS_DIR/temp1y.png"

$RRDTOOL graph $TEMP_GRAPH1 \

   --title 'Teplota na pude u routeru - posledni hodina' \
   --start 'end-1h' \
   --end   'now-1min' \
   --unit '°C' \
   --alt-autoscale \
   --vertical-label '°C' \
   --imgformat     'PNG' \
   --width=$WIDTH \
   --height=$HEIGHT \
   "DEF:pl=$TEMP_STATS:teplota:AVERAGE" \
   "CDEF:mpl=pl,UN,0,pl,IF" \
   "LINE2:mpl#ff0000:Teplota" \
   "GPRINT:mpl:AVERAGE:prumerna teplota=%.1lf°C" \
   "GPRINT:mpl:MAX:maximalni teplota=%.1lf°C"\
   "GPRINT:mpl:MIN:minimalni teplota=%.1lf°C\\n"

$RRDTOOL graph $TEMP_GRAPH6 \

   --title 'Teplota na pude u routeru - poslednich 6 hodin' \
   --start 'end-6h' \
   --end   'now-1min' \
   --unit '°C' \
   --alt-autoscale \
   --vertical-label '°C' \
   --imgformat     'PNG' \
   --width=$WIDTH \
   --height=$HEIGHT \
   "DEF:pl=$TEMP_STATS:teplota:AVERAGE" \
   "CDEF:mpl=pl,UN,0,pl,IF" \
   "LINE2:mpl#ff0000:Teplota" \
   "GPRINT:mpl:AVERAGE:prumerna teplota=%.1lf°C" \
   "GPRINT:mpl:MAX:maximalni teplota=%.1lf°C"\
   "GPRINT:mpl:MIN:minimalni teplota=%.1lf°C\\n"

$RRDTOOL graph $TEMP_GRAPH24 \

   --title 'Teplota na pude u routeru - posledni den' \
   --start 'end-24h' \
   --end   'now-1min' \
   --unit '°C' \
   --alt-autoscale \
   --vertical-label '°C' \
   --imgformat     'PNG' \
   --width=$WIDTH \
   --height=$HEIGHT \
   "DEF:pl=$TEMP_STATS:teplota:AVERAGE" \
   "CDEF:mpl=pl,UN,0,pl,IF" \
   "LINE2:mpl#ff0000:Teplota" \
   "GPRINT:mpl:AVERAGE:prumerna teplota=%.1lf°C" \
   "GPRINT:mpl:MAX:maximalni teplota=%.1lf°C"\
   "GPRINT:mpl:MIN:minimalni teplota=%.1lf°C\\n"

$RRDTOOL graph $TEMP_GRAPH1W \

   --title 'Teplota na pude u routeru - posledni tyden' \
   --start 'end-1w' \
   --end   'now-1min' \
   --unit '°C' \
   --alt-autoscale \
   --vertical-label '°C' \
   --imgformat     'PNG' \
   --width=$WIDTH \
   --height=$HEIGHT \
   "DEF:pl=$TEMP_STATS:teplota:AVERAGE" \
   "CDEF:mpl=pl,UN,0,pl,IF" \
   "LINE2:mpl#ff0000:Teplota" \
   "GPRINT:mpl:AVERAGE:prumerna teplota=%.1lf°C" \
   "GPRINT:mpl:MAX:maximalni teplota=%.1lf°C"\
   "GPRINT:mpl:MIN:minimalni teplota=%.1lf°C\\n"

$RRDTOOL graph $TEMP_GRAPH1M \

   --title 'Teplota na pude u routeru - posledni mesic' \
   --start 'end-1m' \
   --end   'now-1min' \
   --unit '°C' \
   --alt-autoscale \
   --vertical-label '°C' \
   --imgformat     'PNG' \
   --width=$WIDTH \
   --height=$HEIGHT \
   "DEF:pl=$TEMP_STATS:teplota:AVERAGE" \
   "CDEF:mpl=pl,UN,0,pl,IF" \
   "LINE2:mpl#ff0000:Teplota" \
   "GPRINT:mpl:AVERAGE:prumerna teplota=%.1lf°C" \
   "GPRINT:mpl:MAX:maximalni teplota=%.1lf°C"\
   "GPRINT:mpl:MIN:minimalni teplota=%.1lf°C\\n"

$RRDTOOL graph $TEMP_GRAPH1Y \

   --title 'Teplota na pude u routeru - posledni rok' \
   --start 'end-1y' \
   --end   'now-1min' \
   --unit '°C' \
   --alt-autoscale \
   --vertical-label '°C' \
   --imgformat     'PNG' \
   --width=$WIDTH \
   --height=$HEIGHT \
   "DEF:pl=$TEMP_STATS:teplota:AVERAGE" \
   "CDEF:mpl=pl,UN,0,pl,IF" \
   "LINE2:mpl#ff0000:Teplota" \
   "GPRINT:mpl:AVERAGE:prumerna teplota=%.1lf°C" \
   "GPRINT:mpl:MAX:maximalni teplota=%.1lf°C"\
   "GPRINT:mpl:MIN:minimalni teplota=%.1lf°C\\n"

/usr/bin/convert -geometry 20% $STATS_DIR/temp1w.png $STATS_DIR/thumb-temp1w.png #zmenseni obrazku pro nahled cp $STATS_DIR/thumb-temp1w.png /var/www/hotsanic/teplota cp $STATS_DIR/temp1h.png /var/www/hotsanic/teplota cp $STATS_DIR/temp6h.png /var/www/hotsanic/teplota cp $STATS_DIR/temp1d.png /var/www/hotsanic/teplota cp $STATS_DIR/temp1w.png /var/www/hotsanic/teplota cp $STATS_DIR/temp1m.png /var/www/hotsanic/teplota cp $STATS_DIR/temp1y.png /var/www/hotsanic/teplota </bash>

Ted uz jen podle sveho gusta uvlozit do crontab patricne radky, restartovat cron a uz to meri...

*/1 * * * * root /root/temp/digitemp-3.3.2/pl.sh
*/10 * * * * root /root/temp/digitemp-3.3.2/rrd/diagrams.sh

Hodnoty jdou do minusu uplne v pohode. Uvitam dalsi vylepseni od ostatnich.