<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="lt">
	<id>https://wiki.eofnet.lt/w//index.php?action=history&amp;feed=atom&amp;title=Raspberry_temp_rrd</id>
	<title>Raspberry temp rrd - Versijų istorija</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.eofnet.lt/w//index.php?action=history&amp;feed=atom&amp;title=Raspberry_temp_rrd"/>
	<link rel="alternate" type="text/html" href="https://wiki.eofnet.lt/w//index.php?title=Raspberry_temp_rrd&amp;action=history"/>
	<updated>2026-04-23T15:00:49Z</updated>
	<subtitle>Šio puslapio versijų istorija projekte</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.eofnet.lt/w//index.php?title=Raspberry_temp_rrd&amp;diff=8911&amp;oldid=prev</id>
		<title>\dev\null: some updates, i've got cpu monitoring support in the graph</title>
		<link rel="alternate" type="text/html" href="https://wiki.eofnet.lt/w//index.php?title=Raspberry_temp_rrd&amp;diff=8911&amp;oldid=prev"/>
		<updated>2019-06-13T08:51:58Z</updated>

		<summary type="html">&lt;p&gt;some updates, i&amp;#039;ve got cpu monitoring support in the graph&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Naujas puslapis&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Vaizdas:Screenshot 2019-06-13 at 11.50.11.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Šiame straipsnyje jau naudojamas paruoštas [[dht22]] sensorius.&lt;br /&gt;
&lt;br /&gt;
== Pasidarome RRD ==&lt;br /&gt;
&lt;br /&gt;
 rrdtool create /etc/mods/temp.rrd --step 60 \&lt;br /&gt;
 DS:temperature:GAUGE:120:-50:100 \&lt;br /&gt;
 DS:humidity:GAUGE:120:0:100 \&lt;br /&gt;
 DS:rasptemp:GAUGE:120:0:100 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:1440 \&lt;br /&gt;
 RRA:MIN:0.5:1:1440 \&lt;br /&gt;
 RRA:MAX:0.5:1:1440 \&lt;br /&gt;
 RRA:AVERAGE:0.5:30:17520 \&lt;br /&gt;
 RRA:MIN:0.5:30:17520 \&lt;br /&gt;
 RRA:MAX:0.5:30:17520 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:1440 \&lt;br /&gt;
 RRA:MIN:0.5:1:1440 \&lt;br /&gt;
 RRA:MAX:0.5:1:1440&lt;br /&gt;
&lt;br /&gt;
== RRD Atnaujinimas (RaspberryPI) ==&lt;br /&gt;
&lt;br /&gt;
Sujungimas:&lt;br /&gt;
 PIN1 = +&lt;br /&gt;
 PIN6 = -&lt;br /&gt;
 PIN7 = DATA&lt;br /&gt;
Sudiegiame reikalingas bibliotekas:&lt;br /&gt;
 apt-get install build-essential python-dev python-openssl git&lt;br /&gt;
 git clone https://github.com/adafruit/Adafruit_Python_DHT.git &amp;amp;&amp;amp; cd Adafruit_Python_DHT&lt;br /&gt;
 python setup.py install&lt;br /&gt;
Sudedame si scripta i '''/usr/local/bin/readtemp.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;gt;&lt;br /&gt;
#!/usr/bin/env python2.7&lt;br /&gt;
# apt install python-rrdtool python-dill&lt;br /&gt;
import Adafruit_DHT&lt;br /&gt;
import time&lt;br /&gt;
import argparse as ap&lt;br /&gt;
from rrdtool import update as rrd_update&lt;br /&gt;
import rrdtool&lt;br /&gt;
import dill&lt;br /&gt;
&lt;br /&gt;
sensor = Adafruit_DHT.DHT22&lt;br /&gt;
pin = 4&lt;br /&gt;
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)&lt;br /&gt;
if humidity is None and temperature is None:&lt;br /&gt;
 dill.load_session(&amp;quot;/tmp/tempout&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def DHT22_print_data():&lt;br /&gt;
    if humidity is not None and temperature is not None:&lt;br /&gt;
       if args.update is not None:&lt;br /&gt;
          rrd_update('/etc/mods/temp.rrd', 'N:%s:%s:%s' %(temperature, humidity, rasp_temp()))&lt;br /&gt;
       else:&lt;br /&gt;
        print 'Temp: {0:0.1f}C, Dregme: {1:0.1f}%'.format(temperature, humidity)&lt;br /&gt;
    else:&lt;br /&gt;
        print('Failed to get reading. Try again!')&lt;br /&gt;
        sys.exit(1)&lt;br /&gt;
&lt;br /&gt;
def rasp_temp():&lt;br /&gt;
        tFile = open('/sys/class/thermal/thermal_zone0/temp')&lt;br /&gt;
        temp = round((float(tFile.read())/1000),2)&lt;br /&gt;
        return temp&lt;br /&gt;
&lt;br /&gt;
def MakeNiceGraph():&lt;br /&gt;
   for sched in ['daily' , 'weekly', 'monthly', 'yearly']:&lt;br /&gt;
    if sched == 'weekly':&lt;br /&gt;
        period = 'w'&lt;br /&gt;
    elif sched == 'daily':&lt;br /&gt;
        period = 'd'&lt;br /&gt;
    elif sched == 'monthly':&lt;br /&gt;
        period = 'm'&lt;br /&gt;
    elif  sched == 'yearly':&lt;br /&gt;
        period = 'y'&lt;br /&gt;
    ret = rrdtool.graph( &amp;quot;/var/www/html/temp-%s.png&amp;quot; %(sched), &amp;quot;--start&amp;quot;, &amp;quot;-1%s&amp;quot; %(period), &amp;quot;--vertical-label=Temperatura&amp;quot;,&lt;br /&gt;
         '--watermark=Vidaus temperatura - Veranda',&lt;br /&gt;
         &amp;quot;-w 800 -h 400&amp;quot;,&lt;br /&gt;
         &amp;quot;DEF:temperature=/etc/mods/temp.rrd:temperature:AVERAGE&amp;quot;,&lt;br /&gt;
         &amp;quot;DEF:humidity=/etc/mods/temp.rrd:humidity:AVERAGE&amp;quot;,&lt;br /&gt;
         &amp;quot;DEF:rasptemp=/etc/mods/temp.rrd:rasptemp:AVERAGE&amp;quot;,&lt;br /&gt;
         &amp;quot;AREA:temperature#EA450C:Temperatura&amp;quot;,&lt;br /&gt;
         &amp;quot;GPRINT:temperature:LAST:Dabar\:%8.2lf %s&amp;quot;,&lt;br /&gt;
         &amp;quot;GPRINT:temperature:MIN:Min\:%8.2lf %s&amp;quot;,&lt;br /&gt;
         &amp;quot;GPRINT:temperature:AVERAGE:Vidurkis\:%8.2lf %s&amp;quot;,&lt;br /&gt;
         &amp;quot;GPRINT:temperature:MAX:Max\:%8.2lf %s\\n&amp;quot;,&lt;br /&gt;
         &amp;quot;LINE1:humidity#19803C:Dregme&amp;quot;,&lt;br /&gt;
         &amp;quot;GPRINT:humidity:LAST:     Dabar\:%8.2lf %s&amp;quot;,&lt;br /&gt;
         &amp;quot;GPRINT:humidity:MIN:Min\:%8.2lf %s&amp;quot;,&lt;br /&gt;
         &amp;quot;GPRINT:humidity:AVERAGE:Vidurkis\:%8.2lf %s&amp;quot;,&lt;br /&gt;
         &amp;quot;GPRINT:humidity:MAX:Max\:%8.2lf %s\\n&amp;quot;,&lt;br /&gt;
         &amp;quot;LINE2:rasptemp#FA4BBD:CPU&amp;quot;,&lt;br /&gt;
         &amp;quot;GPRINT:rasptemp:LAST:        Dabar\:%8.2lf %s&amp;quot;,&lt;br /&gt;
         &amp;quot;GPRINT:rasptemp:MIN:Min\:%8.2lf %s&amp;quot;,&lt;br /&gt;
         &amp;quot;GPRINT:rasptemp:AVERAGE:Vidurkis\:%8.2lf %s&amp;quot;,&lt;br /&gt;
         &amp;quot;GPRINT:rasptemp:MAX:Max\:%8.2lf %s\\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
parser = ap.ArgumentParser(description=&amp;quot;Just another script&amp;quot;)&lt;br /&gt;
parser.add_argument(&amp;quot;--graph&amp;quot;)&lt;br /&gt;
parser.add_argument(&amp;quot;--update&amp;quot;)&lt;br /&gt;
args, leftovers = parser.parse_known_args()&lt;br /&gt;
if args.graph is not None:&lt;br /&gt;
 MakeNiceGraph()&lt;br /&gt;
else:&lt;br /&gt;
 DHT22_print_data()&lt;br /&gt;
 dill.dump_session(&amp;quot;/tmp/tempout&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== RRD Atnaujinimas (OrangePI) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;gt;&lt;br /&gt;
#!/usr/bin/env python2.7&lt;br /&gt;
# apt install python-rrdtool&lt;br /&gt;
&lt;br /&gt;
from pyA20.gpio import gpio&lt;br /&gt;
from pyA20.gpio import port&lt;br /&gt;
&lt;br /&gt;
import dht22 as dht&lt;br /&gt;
import time&lt;br /&gt;
import argparse as ap&lt;br /&gt;
from rrdtool import update as rrd_update&lt;br /&gt;
import rrdtool&lt;br /&gt;
&lt;br /&gt;
# initialize GPIO&lt;br /&gt;
DHT22_PIN = port.PA6&lt;br /&gt;
gpio.init()&lt;br /&gt;
#gpio.cleanup()&lt;br /&gt;
&lt;br /&gt;
DHT22_instance = dht.DHT22(pin=DHT22_PIN)&lt;br /&gt;
&lt;br /&gt;
def DHT22_print_data(DHT22_result):&lt;br /&gt;
    if DHT22_result.is_valid():&lt;br /&gt;
       if args.update is not None:&lt;br /&gt;
          rrd_update('/etc/mods/temp.rrd', 'N:%s:%s' %(DHT22_result.temperature, DHT22_result.humidity))&lt;br /&gt;
       else:&lt;br /&gt;
        print 'Temp: {}C, Dregme: {}%'.format(DHT22_result.temperature, DHT22_result.humidity)&lt;br /&gt;
    else:&lt;br /&gt;
        DHT22_read_sensor()&lt;br /&gt;
&lt;br /&gt;
def DHT22_read_sensor():&lt;br /&gt;
    DHT22_result = DHT22_instance.read()&lt;br /&gt;
    DHT22_print_data(DHT22_result)&lt;br /&gt;
&lt;br /&gt;
def MakeNiceGraph():&lt;br /&gt;
   for sched in ['daily' , 'weekly', 'monthly', 'yearly']:&lt;br /&gt;
    if sched == 'weekly':&lt;br /&gt;
        period = 'w'&lt;br /&gt;
    elif sched == 'daily':&lt;br /&gt;
        period = 'd'&lt;br /&gt;
    elif sched == 'monthly':&lt;br /&gt;
        period = 'm'&lt;br /&gt;
    elif  sched == 'yearly':&lt;br /&gt;
        period = 'y'&lt;br /&gt;
    ret = rrdtool.graph( &amp;quot;/var/www/html/temp-%s.png&amp;quot; %(sched), &amp;quot;--start&amp;quot;, &amp;quot;-1%s&amp;quot; %(period), &amp;quot;--vertical-label=Temperatura&amp;quot;,&lt;br /&gt;
         '--watermark=Vidaus temperatura - Svetaine',&lt;br /&gt;
         &amp;quot;-w 800 -h 400&amp;quot;,&lt;br /&gt;
         &amp;quot;DEF:temperature=/etc/mods/temp.rrd:temperature:AVERAGE&amp;quot;,&lt;br /&gt;
         &amp;quot;DEF:humidity=/etc/mods/temp.rrd:humidity:AVERAGE&amp;quot;,&lt;br /&gt;
         &amp;quot;AREA:temperature#EA450C:Temperatura&amp;quot;,&lt;br /&gt;
         &amp;quot;GPRINT:temperature:LAST:Dabar\:%8.2lf %s&amp;quot;,&lt;br /&gt;
         &amp;quot;GPRINT:temperature:AVERAGE:Vidurkis\:%8.2lf %s&amp;quot;,&lt;br /&gt;
         &amp;quot;GPRINT:temperature:MAX:Max\:%8.2lf %s\\n&amp;quot;,&lt;br /&gt;
         &amp;quot;LINE1:humidity#19803C:Dregme&amp;quot;,&lt;br /&gt;
         &amp;quot;GPRINT:humidity:LAST:     Dabar\:%8.2lf %s&amp;quot;,&lt;br /&gt;
         &amp;quot;GPRINT:humidity:AVERAGE:Vidurkis\:%8.2lf %s&amp;quot;,&lt;br /&gt;
         &amp;quot;GPRINT:humidity:MAX:Max\:%8.2lf %s\\n&amp;quot;) &lt;br /&gt;
       &lt;br /&gt;
&lt;br /&gt;
parser = ap.ArgumentParser(description=&amp;quot;Just another script&amp;quot;)&lt;br /&gt;
parser.add_argument(&amp;quot;--graph&amp;quot;)&lt;br /&gt;
parser.add_argument(&amp;quot;--update&amp;quot;)&lt;br /&gt;
args, leftovers = parser.parse_known_args()&lt;br /&gt;
if args.graph is not None:&lt;br /&gt;
 MakeNiceGraph()&lt;br /&gt;
else:&lt;br /&gt;
 DHT22_read_sensor()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Crontab:&lt;br /&gt;
 * * * * * root /usr/local/bin/readtemp.py --update RRD &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RRD paveikslėlio atvaizdavimas ==&lt;br /&gt;
&lt;br /&gt;
Crontab: &lt;br /&gt;
 */5  * * * * root /usr/local/bin/readtemp.py --graph RRD &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
[[Category:RaspberryPI]]&lt;/div&gt;</summary>
		<author><name>\dev\null</name></author>
	</entry>
</feed>