Temat: Odczyt OWFS na html
Jak wyświetlić na stronie w html aktualną temperaturę (ostatni pomiar) z któregoś czujnika.
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Termometr → Odczyt OWFS na html
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
Jak wyświetlić na stronie w html aktualną temperaturę (ostatni pomiar) z któregoś czujnika.
Pytasz jak robić stronę czy jak odczytać wyniki?
Mam zrobione wykresy według http://openrouter.info/index.php?option … ;Itemid=61
Wykresy mam na stronie,
Ale jeszcze osobno chciałem na innej stronie przedstawić spis aktualnych odczytów z czujników.
Generujesz sobie stronę w html, to po prostu odczytaj ostatnią wartość z czujników i umieść je na stronie. Lub napisz na rysunku, jak wolisz.
Na rysunku mam ostatni odczyt wskazany ale robi mi się to w skrypcie, a ja nie wiem jak odczytać ostatni pomiar z czujnika na html.
Pokaż ten skrypt.
skrypt robi odczyt i generuje .png a ja tylko w html napisałem, żeby mi się ten obrazek wyświetlił ale chcę jeszcze na stronie (nie na obrazku) napis temperatura w pomieszczeniu .......
No to gdzie problem widzisz? Odczytaj sobie bieżącą temperaturę, wygeneruj html jeszcze raz i umieść ją tam. Z czym właściwie masz problem?
Skrypt jest taki jak na stronie co wyżej podałem tylko lekko zmodyfikowany. Nie mam teraz go przy sobie, ale wstawię ten z linku:
#!/bin/bash
RRD=/mnt/meteo/www/pomiary.rrd
TOOL='/usr/bin/rrdtool'
NOW=`date -u +%s`
TEMPOUT=`sed 's/^[ ]*//' /mnt/ram/owfs/28.92FCFA010000/temperature`
TEMPIN=`sed 's/^[ ]*//' /mnt/ram/owfs/28.5DF4FA010000/temperature`
VOLTA=`sed 's/^[ ]*//' /mnt/ram/owfs/20.CC350A000000/volt.A`
VOLTB=`sed 's/^[ ]*//' /mnt/ram/owfs/20.CC350A000000/volt.B`
#A=4.935
#A=4.825
####### obliczenie cisnienia
A=4.959
B=0.095
C=0.009
E=`echo $VOLTA/$A+$B | bc -l`
PRESURE=`echo $E/$C*10 | bc -l`
########
####### obiczenie wilgotnosci
G=4.935
H=`echo $VOLTB/$G-0.16 | bc -l`
HIGRO=`echo $H/0.0062 | bc -l`
#######
#petla
if [ -n "$TEMPOUT" ];
then
################ LCD ##########
echo "$TEMPOUT" > /mnt/ram/temp_out.txt
echo "$TEMPIN" > /mnt/ram/temp_in.txt
pres=`echo $PRESURE*100 | bc -l`
pres2=`echo $pres | cut -d"." -f1`
pres3=`echo $pres2/100 | bc -l`
pres4=`echo $pres3 | cut -d"." -f1`
#echo "$pres4" > /mnt/ram/presure.txt
echo "$PRESURE" > /mnt/ram/presure.txt
echo "$HIGRO" > /mnt/ram/higro.txt
##################
$TOOL update $RRD $NOW:$TEMPOUT:$TEMPIN:$PRESURE:$HIGRO;
rrdtool graph /mnt/ram/temp13.png --lazy -a PNG -n TITLE:12 -t 'Temperatura w pomieszczeniu' \
-A -l 18 -u 24 -r -W 'Testowy pomiar w domu' -w 600 -h 200 --vertical-label 'Stopnie Celsjusza' --end now -s end-24h --slope-mode \
DEF:t=$RRD:temp_in:AVERAGE LINE1:t#00bf00:Temperatura \
DEF:tmax=$RRD:temp_in:MAX DEF:tmin=$RRD:temp_in:MIN \
'GPRINT:t:LAST:Ostatni pomiar\: %2.1lf C\j' \
'GPRINT:tmin:MIN:Minimum \: %2.1lf C' \
'GPRINT:tmax:MAX:Maximum \: %2.1lf C\j';
rrdtool graph /mnt/ram/temp12.gif -t 'Temperatura na dworze - 24 godziny' \
-A -w 600 -h 200 --vertical-label 'Temperatura [C]' -Y -s end-24h -E \
DEF:t=$RRD:temp_out:AVERAGE LINE1:t#00af00:Temperatura \
DEF:tmax=$RRD:temp_out:MAX DEF:tmin=$RRD:temp_out:MIN \
'GPRINT:t:LAST:Ostatni pomiar\: %2.1lf C\j' \
'GPRINT:tmin:MIN:Minimum \: %2.1lf C' \
'GPRINT:tmax:MAX:Maximum \: %2.1lf C\j';
rrdtool graph /mnt/ram/temp12t.gif -t 'Temperatura na dworze - 7 dni' \
-A -w 600 -h 200 --vertical-label 'Temperatura [C]' -Y -s end-168h -E \
DEF:t=$RRD:temp_out:AVERAGE LINE1:t#00af00:Temperatura \
DEF:tmax=$RRD:temp_out:MAX DEF:tmin=$RRD:temp_out:MIN \
'GPRINT:t:LAST:Ostatni pomiar\: %2.1lf C\j' \
'GPRINT:tmin:MIN:Minimum \: %2.1lf C' \
'GPRINT:tmax:MAX:Maximum \: %2.1lf C\j';
rrdtool graph /mnt/ram/temp12a.gif -t 'Ciśnienie atmosferyczne na wysokości poziomu morza' \
-A -l 980 -u 1040 -L 8 -W 'POMIAR W LUBLINIE h=195m n.p.m.' -w 600 -h 250 --vertical-label 'Cisnienie [hPa]' -Y --end now -s end-168h -E \
DEF:t=$RRD:presure:AVERAGE LINE1:t#00af00:hPa \
DEF:tmax=$RRD:presure:MAX DEF:tmin=$RRD:presure:MIN \
'GPRINT:t:LAST:Ostatni pomiar\: %2.1lf hPa\j' \
'GPRINT:tmin:MIN:Minimum \: %2.1lf hPa' \
'GPRINT:tmax:MAX:Maximum \: %2.1lf hPa\j';
rrdtool graph /mnt/ram/temp12b.gif -t 'Wilgotność w pomieszczeniu test bez kalibracji' \
-A -l 25 -u 60 -W 'POMIAR HIGRO' -w 600 -h 250 --vertical-label 'Higrometr [%]' -Y --end now -s end-48h -E \
DEF:t=$RRD:higrometr:AVERAGE LINE1:t#00af00:% \
DEF:tmax=$RRD:higrometr:MAX DEF:tmin=$RRD:higrometr:MIN \
'GPRINT:t:LAST:Ostatni pomiar\: %2.1lf procent\j' \
'GPRINT:tmin:MIN:Minimum \: %2.1lf procent' \
'GPRINT:tmax:MAX:Maximum \: %2.1lf procent\j';
mv -f /mnt/ram/temp12.gif /mnt/ram/atemp12.gif
mv -f /mnt/ram/temp12a.gif /mnt/ram/atemp12a.gif
mv -f /mnt/ram/temp12b.gif /mnt/ram/atemp12b.gif
mv -f /mnt/ram/temp12t.gif /mnt/ram/atemp12t.gif
mv -f /mnt/ram/temp13.png /mnt/ram/atemp13.png
else
echo "koniec bez roboty";
Ponawiam pytanie - z czym właściwie masz problem? To generuje obrazki. Dorobiłeś sobie html żeby te obrazki włożyć na stronę, więc w tym html umieść sobie też odczyt danych. Więc - z czym masz problem/czego nie wiesz jak zrobić?
Szczerze to mam problemy z html a właściwie z brakiem wiedzy.
Ostatni pomiar temperatury [sed 's/^[ ]*//' /mnt/ram/owfs/28.92FCFA010000/temperature]
Pokaż zawartość html który masz teraz.
No np w najprostszym wydaniu:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Refresh" content="600" />
</head>
<center><img src="temp.png"/></center>
</body>
</html>#!/bin/sh
echo "<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Refresh" content="600" />
</head>
<center><img src="temp.png"/></center>
Temperatura:
" > /www/index.html
sed 's/^[ ]*//' /mnt/ram/owfs/28.92FCFA010000/temperature >> /www/index.html
echo "</body>
</html>" >> /www/index.htmlDzięki Cezary za pomoc ale i tak tego nie wykorzystam bo to nie html tylko bash.
Nie znam za bardzo języków pisania stron więc wykorzystuję gotowy program weebsiteX5 tam zrobiłem sobie stronę z wykresami (plik png)wszystko ok ale na pierwszej stronie chciałem dodać te nieszczęsne temperatury ale tam mogę dodać tylko czysty html (przynajmniej tak widzę).
Nie dało by się tego jakoś obejść?
Skrypt do wykonania, tak. Przeciez wywołujesz wyżej już skrypt, to dodaj sobie na końcu to moje i już.
Sorry Cezary, że zawracam głowę, ale kombinuję i kombinuję i dalej nie wiem. Mam takie coś jak poniżej

chcę mieć na pierwszej stronie te temperatury w trybie tekstowym poniżej plik index.html (w menu 1 strona smart home)
<!DOCTYPE html><!-- HTML5 -->
<html lang="pl" dir="ltr">
<head>
<meta charset="utf-8" />
<!--[if IE]><meta http-equiv="ImageToolbar" content="False" /><![endif]-->
<meta name="author" content="Adrian" />
<meta name="generator" content="Incomedia WebSite X5 Evolution 9.0.10.1842 - www.websitex5.com" />
<link rel="stylesheet" type="text/css" href="style/reset.css" media="screen,print" />
<link rel="stylesheet" type="text/css" href="style/print.css" media="print" />
<link rel="stylesheet" type="text/css" href="style/style.css" media="screen,print" />
<link rel="stylesheet" type="text/css" href="style/template.css" media="screen" />
<link rel="stylesheet" type="text/css" href="style/menu.css" media="screen" />
<!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="style/ie.css" media="screen" /><![endif]-->
<script type="text/javascript" src="res/swfobject.js"></script>
<script type="text/javascript" src="res/jquery.js"></script>
<script type="text/javascript" src="res/x5engine.js"></script>
<script type="text/javascript" src="res/x5cartengine.js"></script>
<script type="text/javascript" src="res/l10n.js"></script>
<script type="text/javascript" src="res/x5settings.js"></script>
<link rel="icon" href="favicon.png" type="image/png" />
<title>smart home</title>
<link rel="stylesheet" type="text/css" href="pcss/index.css" media="screen" />
</head>
<body>
<div id="imPage">
<div id="imHeader">
<h1 class="imHidden">smart home</h1>
</div>
<a class="imHidden" href="#imGoToCont" title="Skocz do menu głównego">Idź do spisu treści</a>
<a id="imGoToMenu"></a><p class="imHidden">Menu główne</p>
<div id="imMnMn" class="auto">
<ul class="auto">
<li id="imMnMnNode0" class="imMnMnCurrent">
<a href="index.html">
<span class="imMnMnFirstBg">
<span class="imMnMnTxt"><span class="imMnMnImg"></span>smart home</span>
</span>
</a>
</li>
<li id="imMnMnNode7">
<a href="out-24h.html">
<span class="imMnMnFirstBg">
<span class="imMnMnTxt"><span class="imMnMnImg"></span>OUT 24h</span>
</span>
</a>
</li>
<li id="imMnMnNode8">
<a href="out-7-dni.html">
<span class="imMnMnFirstBg">
<span class="imMnMnTxt"><span class="imMnMnImg"></span>OUT 7-dni</span>
</span>
</a>
</li>
<li id="imMnMnNode9">
<a href="h2o.html">
<span class="imMnMnFirstBg">
<span class="imMnMnTxt"><span class="imMnMnImg"></span>H2O</span>
</span>
</a>
</li>
<li id="imMnMnNode10">
<a href="c.o..html">
<span class="imMnMnFirstBg">
<span class="imMnMnTxt"><span class="imMnMnImg"></span>C.O.</span>
</span>
</a>
</li>
<li id="imMnMnNode11">
<a href="garage.html">
<span class="imMnMnFirstBg">
<span class="imMnMnTxt"><span class="imMnMnImg"></span>GARAGE</span>
</span>
</a>
</li>
<li id="imMnMnNode12">
<a href="kot-ownia.html">
<span class="imMnMnFirstBg">
<span class="imMnMnTxt"><span class="imMnMnImg"></span>Kotłownia</span>
</span>
</a>
</li>
</ul><script type="text/javascript">x5engine.imQueue.push_init("x5engine.utils.imPreloadImages(['menu/index_h.png','menu/out-24h_h.png','menu/out-7-dni_h.png','menu/h2o_h.png','menu/c.o._h.png','menu/garage_h.png','menu/kot-ownia_h.png','menu/sub.png','menu/sub_h.png','menu/sub_f.png','menu/sub_f_h.png','menu/sub_l.png','menu/sub_l_h.png','menu/sub_m.png','menu/sub_m_h.png','res/imLoad.gif','res/imClose.png'])",false);</script>
</div>
<div id="imContentGraphics"></div>
<div id="imContent">
<a id="imGoToCont"></a>
<div style="width: 930px; float: left;">
<div id="imCell_4" class="imGrid[0, 0]"><div id="imCellStyleGraphics_4"></div><div id="imCellStyle_4"><div class="imHTMLObject" style="height: 350px; overflow: hidden; text-align: center;"><p style="text-align: left;"><span style="font-family: "Arial", "Helvetica", sans-serif;"><span style="font-size: 14pt;">Temperatura na dworze [20 °C]</span><br /><span style="font-size: 14pt;">Temperatura w garażu [15 °C]</span><br /><span style="font-size: 14pt;">Temperatura C.O. [55 °C]</span><br /><span style="font-size: 14pt;">Temperatura H2O [50 °C]</span><br /></span></p></div></div></div>
</div>
<div style="width: 930px; float: left;">
<div style="height: 15px;"> </div>
</div>
<div id="imFooPad" style="height: 3px; float: left;"> </div><div id="imBtMn"><a href="index.html">smart home</a> | <a href="out-24h.html">OUT 24h</a> | <a href="out-7-dni.html">OUT 7-dni</a> | <a href="h2o.html">H2O</a> | <a href="c.o..html">C.O.</a> | <a href="garage.html">GARAGE</a> | <a href="kot-ownia.html">Kotłownia</a> | <a href="imsitemap.html">Ogólna mapa witryny</a></div>
<div class="imClear"></div>
</div>
</div>
<div id="imFooterBg">
<div id="imFooter">
</div>
</div>
<span class="imHidden"><a href="#imGoToCont" title="Przeczytaj stronę ponownie">Wróć do spisu treści</a> | <a href="#imGoToMenu" title="Wczytaj witryne ponownie">Wróć do menu głównego</a></span>
</body>
</html>Więc wygeneruj sobie z jakiego skryptu ten html ponownie i wstaw wartość tak gdzie chcesz.
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
eko.one.pl → Termometr → Odczyt OWFS na html
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc