HTML

smarthome

1.0 Első körben a hőmérsékletet mérem a lakásban, hogy kiderüljön mitől olyan magas a gáz számla. Aztán 3.0 számítógéppel vezérlem a kazánt, 5.0 szabályozom a villamos áram fogyasztást, 10.0 távolról működtetem a berendezéseket. 20.0 reggelente csak szóban engedélyt adok a kifogyott kaják pótlására, és estére tele is lesz a hűtő. Elolvashatod meddig jutok.

Friss topikok

Linkblog

Linux install

2008.07.23. 14:48 negyvenkettod

Újrainstalláltam a gépem, ezért újratelepítek mindent, ami kell a hőmérséklet méréshez és a grafikon rajzoláshoz. Az almúlt hónapok tapasztalataival együtt leírom részletesen hogyan érdemes ubuntu linuxra felrakni, a howto alapján.

A hőmérők leolvasását a digitemp csomag elvégzi.

# root jogok kellenek a parancsokhoz
sudo su -
apt-get install digitemp
# a csomagban 3 bináris van különböző kommunikációhoz
# a howtoban szereplő felállásban a DS9097-es kell:
ln -s /usr/bin/digitemp_DS9097 /usr/local/bin/digitemp
# a hőmérsékletek eltárolására, és a grafikon rajzolására az rrdtoolt használom
apt-get install rrdtool
# php installálása, ami lehúzza az apache2-t is.
apt-get install php5 php5-cli
cd /var/www/
# ha ez a cím megváltozik, akkor a howto 6. lépésénél keresd a forrást.
wget http://www.instructables.com/files/orig/FO7/E845/F9053Y6O/FO7E845F9053Y6O.null -O php.tgz
tar -xzvf php.tgz
mv tempsensor temperature
rm php.tgz
 

Eddit felinstalláltuk az összes szükséges programot. Nekem úgy tetszik, ha minden összetartozó adat egy helyen van, ezért a konfiguráció és a mért hőmérsékletek tárolása is a /var/www/temperature könyvtár alatt lesznek. A hőmérséklet olvasáshoz root jogok kellenek, azt a root crontabjába rakom.

# elmentjük a kommunikációhoz a szenzorok adatait:
digitemp -s /dev/ttyS0 -i -c /var/www/temperature/digitemp.conf
# root crontabjába felveszem ezt:
* * * * * /usr/local/bin/digitemp -aq -c /var/www/temperature/digitemp.conf > /tmp/digitemp; mv /tmp/digitemp /var/www/temperature/curr.txt
# odaadom magamnak a fájlokat, és többet nem kell root jog
chown -R myuser /var/www/temperature

/var/www/temperature/config.php módosítása:
Az $inData értéke ez lesz: /var/www/temperature/curr.txt (8. sor)
$rrdDir: /var/www/temperature/digitemp_rrd/ ezt a könyvtárat létre is kell hozni
$rrdImgDir: /var/www/temperature/ ide megy a kimenet
$sensors tömb kitöltése a saját hőmérők neveivel.
43. sorban én nem kérem, hogy külön logoljon hőmérsékleteket:
$outFile = array();
// $outFile[0] = "/var/www/temperature.txt";
// $outFile[1] = "/var/www/temperature_garage.txt";
 

Az eredeti forrásban csak 2 napig tartja meg az 5 perces felbontást, ezt én nem szerettem. Nem foglal olyan sok helyet, legyen csak meg az összes. Ehhez a logdata.php fájlban az 51-dik sortól lecseréltem erre:

//'RRA:AVERAGE:0.5:1:576 '.     // two days at 5 min intervals
//'RRA:AVERAGE:0.5:6:672 '.     // two weeks at 30min(5*6) intervals
//'RRA:AVERAGE:0.5:24:732 '.    // two weeks at 2h intervals (120min/5min=24)
//'RRA:AVERAGE:0.5:144:1460';   // two years at 12h intervals (12*60/5=144)
'RRA:AVERAGE:0.5:1:518400';     // five years at 5 min intervals
 

/var/www/temperature/graphdata.php módosítása
Jobban tetszik, ha az összes hőmérő eredménye legfelül van, ezért a 63. sort erre cseréltem:
//$sensors['all'] = "All sensors";
$n="all";
$str="Osszes homero";
$index .= '<tr><td>';
$index .= '<a href="index_'.$n.'.html">';
$index .= '<img src="'.$n.'_day.png" border="0">';
$index .= '</a><br>'.$str.'<br><br></td></tr>';

Ha fut a root crontabjából a hőmérséklet mérés, akkor máris lehet logolni a logdata.php-val:
# hőmérséklet kiiratás:
cat /var/www/tempreature/curr.txt
# logolás:
php /var/www/tempreature/logdata.php
# grafikonok rajzoltatása:
php /var/www/tempreature/graphdata.php

Cron jobok, amik eltárolják az adatokat, és megrajzolják az aktuális grafikont:
*/5 * * * * php /var/www/temperature/logdata.php
*/5 * * * * php /var/www/temperature/graphdata.php
 

Az első néhány mérés eredménye:

Szólj hozzá!

A bejegyzés trackback címe:

https://smarthome.blog.hu/api/trackback/id/tr14581822

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása