<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>https://www.raspibo.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Luca</id>
	<title>raspibo - Contributi utente [it]</title>
	<link rel="self" type="application/atom+xml" href="https://www.raspibo.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Luca"/>
	<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php/Speciale:Contributi/Luca"/>
	<updated>2026-05-07T12:46:28Z</updated>
	<subtitle>Contributi utente</subtitle>
	<generator>MediaWiki 1.35.5</generator>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Raspberry_Pi-Lettura_Temperatura&amp;diff=561</id>
		<title>Raspberry Pi-Lettura Temperatura</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Raspberry_Pi-Lettura_Temperatura&amp;diff=561"/>
		<updated>2013-03-19T23:52:20Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Raspberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel raspberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura di casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Raspberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
Consiglio la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
* N°01 Raspberry PI versione B &lt;br /&gt;
* N°01 Chip DS18B20&lt;br /&gt;
* N°01 Resistenza 4,7 Kohm&lt;br /&gt;
* N°01 Jack stereo 2,5mm da pannello&lt;br /&gt;
* N°01 Jack 2,5 maschio&lt;br /&gt;
* Cavo tripolare audio , lunghezza a piacere fino a 60 Metri  &lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Raspberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Raspberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Raspberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
Schema connessioni&lt;br /&gt;
&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il raspberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
#sudo apt-get install ftp &lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io solitamente uso il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use LWP::UserAgent;&lt;br /&gt;
 my $dir = '/opt/dallas';&lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
 my $is_celsius = 1; #set to 1 if using Celsius&lt;br /&gt;
 my $ua = new LWP::UserAgent;&lt;br /&gt;
 $ua-&amp;gt;timeout(120);&lt;br /&gt;
 my $request = new HTTP::Request('GET', $metar_url);&lt;br /&gt;
 my $response = $ua-&amp;gt;request($request);&lt;br /&gt;
 my $metar= $response-&amp;gt;content();&lt;br /&gt;
 $metar =~ /([\s|M])(\d{2})\//g;&lt;br /&gt;
 $outtemp = ($1 eq 'M') ? $2 * -1 : $2; #'M' in a METAR report signifies below 0 temps&lt;br /&gt;
 $outtemp = ($is_celsius) ? $outtemp + 0 : ($outtemp * 9/5) + 32;&lt;br /&gt;
 $modules = `cat /proc/modules`;&lt;br /&gt;
 if ($modules =~ /w1_therm/ &amp;amp;&amp;amp; $modules =~ /w1_gpio/)&lt;br /&gt;
 {&lt;br /&gt;
        #modules installed&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $gpio = `sudo modprobe w1-gpio`;&lt;br /&gt;
        $therm = `sudo modprobe w1-therm`;&lt;br /&gt;
 }&lt;br /&gt;
 $output = &amp;quot;&amp;quot;;&lt;br /&gt;
 $attempts = 0;&lt;br /&gt;
 while ($output !~ /YES/g &amp;amp;&amp;amp; $attempts &amp;lt; 5)&lt;br /&gt;
 {&lt;br /&gt;
        $output = `sudo cat /sys/bus/w1/devices/10-0008027d7cb0/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
        if($output =~ /No such file or directory/)&lt;br /&gt;
        {&lt;br /&gt;
                print &amp;quot;Could not find DS18B20\n&amp;quot;;&lt;br /&gt;
                last;&lt;br /&gt;
        }&lt;br /&gt;
        elsif($output !~ /NO/g)&lt;br /&gt;
        {&lt;br /&gt;
                $output =~ /t=(\d+)/i;&lt;br /&gt;
                $temp = ($is_celsius) ? ($1 / 1000) : ($1 / 1000) * 9/5 + 32;&lt;br /&gt;
                $rrd = `/usr/bin/rrdtool update /$dir/hometemp.rrd N:$temp:$outtemp`;&lt;br /&gt;
        }&lt;br /&gt;
        $attempts++;&lt;br /&gt;
 }&lt;br /&gt;
 $file = '/var/www/temperatura.txt';&lt;br /&gt;
 open(INFO, &amp;quot;&amp;gt;$file&amp;quot;);&lt;br /&gt;
 print INFO &amp;quot;$temp\n&amp;quot;;&lt;br /&gt;
 close(INFO)&lt;br /&gt;
 #print &amp;quot;Outside temp: $outtemp\n&amp;quot;;&lt;br /&gt;
 #print &amp;quot;Inside temp: $temp\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Rendiamo sempre eseguibile il file &lt;br /&gt;
&lt;br /&gt;
chmod +x /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
Andiamo a creare gli utimi 3 file, che però servono solo a traferire i dati su un server web esterno , utilizzando il protocollo ftp, questo script va utilizzato in abbinamento al file /root/.netrc . Nel file .netrc vengono memorizzati i dati di accesso all'aera ftp con la password in chiaro .&lt;br /&gt;
 vi /root/.netrc&lt;br /&gt;
&lt;br /&gt;
 machine NOME.SERVER.FTP&lt;br /&gt;
 login NOME_UTENTE&lt;br /&gt;
 password PASSWORD_FTP_UTENTE&lt;br /&gt;
&lt;br /&gt;
poi il comando chmod 0600 /root/.netrc&lt;br /&gt;
&lt;br /&gt;
File contenente la lista dei file da trasferire &lt;br /&gt;
 vi /opt/dallas/lista&lt;br /&gt;
&lt;br /&gt;
 prompt on&lt;br /&gt;
 binary&lt;br /&gt;
 mput *.png&lt;br /&gt;
&lt;br /&gt;
E infine lo script per iniziare l'upload verso il sito esterno &lt;br /&gt;
 vi /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 cd /opt/dallas&lt;br /&gt;
 ftp NOME.SERVER.FTP &amp;lt; lista&lt;br /&gt;
&lt;br /&gt;
Rendere eseguibile il file con chmod +x /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Ultimo file , va creato in /var/www è il file in php che genera la pagina web, da richiamare &lt;br /&gt;
&lt;br /&gt;
 vi /var/www/temperature.php &lt;br /&gt;
&lt;br /&gt;
Questo file, lo allego in formato pdf temperature.pdf, essendo in formato php/html va in &amp;quot;contrasto&amp;quot; con il sistema wiki &lt;br /&gt;
[[File:temperature.pdf]]&lt;br /&gt;
&lt;br /&gt;
== COLLAUDO ==&lt;br /&gt;
Ora eseguire nell'ordine i seguenti programmi &lt;br /&gt;
#/opt/dallas/create_db.sh&lt;br /&gt;
#/opt/dallas/get_temp.pl&lt;br /&gt;
#/opt/dallas/create_graphs.sh&lt;br /&gt;
#da un pc della rete htp://IP_RASPBERRY/temperature.php&lt;br /&gt;
&lt;br /&gt;
Se tutto OK , inserire nel crontab i 2 script , vedi questo come esempio &lt;br /&gt;
*/5 * * * * /opt/dallas/get_temp.pl&lt;br /&gt;
*/5 * * * * /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
e togliere il #dall'ultima riga di /opt/dallas/create_graphs.sh , per abilitare il trasferimento ftp verso il sito &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WORK IN PROGRESS ==&lt;br /&gt;
Tutto quello che ho scritto e realizzato  , è stato ispirato da varie letture e da questo progetto &lt;br /&gt;
 http://blog.turningdigital.com/2012/09/raspberry-pi-ds18b20-temperature-sensor-rrdtool/&lt;br /&gt;
Manca ancora di tradurre un paio di scritte in Inglese e implementare ulteriori funzioni , tipo:&lt;br /&gt;
#modulo per Nagios&lt;br /&gt;
#allarmi di sovra/sotto temperatura a mezzo email , oppure chiudendo un contatto di un relè &lt;br /&gt;
#Oppure mi viene in mente come modulo di un eventuale controllo temperatura di un appartamento , controllabile da remoto &lt;br /&gt;
&lt;br /&gt;
Qua link al &amp;quot;mio&amp;quot; http://www.ferrarini.info/temperature.php&lt;br /&gt;
&lt;br /&gt;
le temperature negative , anomale per il periodo, erano le lettura di una stazione meterologica USA&lt;br /&gt;
&lt;br /&gt;
ATTENZIONE a dove posizionare il jack per il sensore di temperatura.&lt;br /&gt;
se guardate la foto , il &amp;quot;mio&amp;quot; jack stereo da 2,5&amp;quot; è finito proprio sopra il regolatore di tensione ... Io ho costruito 2 sonde una &amp;quot;corta&amp;quot; e una con un cavetto di 2 metri ( vedi foto ) . La sonda &amp;quot;corta&amp;quot; non funziona perchè il regolatore interno di tensione scalda il connettore metallico... Falsando le misure :(&lt;br /&gt;
&lt;br /&gt;
[[File:sonde.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
--[[Utente:Luca|Luca]]  09:54, 19 mar 2013 (CET)&lt;br /&gt;
&lt;br /&gt;
[[Discussione:Raspberry Pi-Lettura Temperatura]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Raspberry_Pi-Lettura_Temperatura&amp;diff=560</id>
		<title>Raspberry Pi-Lettura Temperatura</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Raspberry_Pi-Lettura_Temperatura&amp;diff=560"/>
		<updated>2013-03-19T23:51:40Z</updated>

		<summary type="html">&lt;p&gt;Luca: /* HARDWARE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Raspberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel raspberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura di casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Raspberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
* N°01 Raspberry PI versione B &lt;br /&gt;
* N°01 Chip DS18B20&lt;br /&gt;
* N°01 Resistenza 4,7 Kohm&lt;br /&gt;
* N°01 Jack stereo 2,5mm da pannello&lt;br /&gt;
* N°01 Jack 2,5 maschio&lt;br /&gt;
* Cavo tripolare audio , lunghezza a piacere fino a 60 Metri  &lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Raspberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Raspberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Raspberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
Schema connessioni&lt;br /&gt;
&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il raspberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
#sudo apt-get install ftp &lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io solitamente uso il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use LWP::UserAgent;&lt;br /&gt;
 my $dir = '/opt/dallas';&lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
 my $is_celsius = 1; #set to 1 if using Celsius&lt;br /&gt;
 my $ua = new LWP::UserAgent;&lt;br /&gt;
 $ua-&amp;gt;timeout(120);&lt;br /&gt;
 my $request = new HTTP::Request('GET', $metar_url);&lt;br /&gt;
 my $response = $ua-&amp;gt;request($request);&lt;br /&gt;
 my $metar= $response-&amp;gt;content();&lt;br /&gt;
 $metar =~ /([\s|M])(\d{2})\//g;&lt;br /&gt;
 $outtemp = ($1 eq 'M') ? $2 * -1 : $2; #'M' in a METAR report signifies below 0 temps&lt;br /&gt;
 $outtemp = ($is_celsius) ? $outtemp + 0 : ($outtemp * 9/5) + 32;&lt;br /&gt;
 $modules = `cat /proc/modules`;&lt;br /&gt;
 if ($modules =~ /w1_therm/ &amp;amp;&amp;amp; $modules =~ /w1_gpio/)&lt;br /&gt;
 {&lt;br /&gt;
        #modules installed&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $gpio = `sudo modprobe w1-gpio`;&lt;br /&gt;
        $therm = `sudo modprobe w1-therm`;&lt;br /&gt;
 }&lt;br /&gt;
 $output = &amp;quot;&amp;quot;;&lt;br /&gt;
 $attempts = 0;&lt;br /&gt;
 while ($output !~ /YES/g &amp;amp;&amp;amp; $attempts &amp;lt; 5)&lt;br /&gt;
 {&lt;br /&gt;
        $output = `sudo cat /sys/bus/w1/devices/10-0008027d7cb0/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
        if($output =~ /No such file or directory/)&lt;br /&gt;
        {&lt;br /&gt;
                print &amp;quot;Could not find DS18B20\n&amp;quot;;&lt;br /&gt;
                last;&lt;br /&gt;
        }&lt;br /&gt;
        elsif($output !~ /NO/g)&lt;br /&gt;
        {&lt;br /&gt;
                $output =~ /t=(\d+)/i;&lt;br /&gt;
                $temp = ($is_celsius) ? ($1 / 1000) : ($1 / 1000) * 9/5 + 32;&lt;br /&gt;
                $rrd = `/usr/bin/rrdtool update /$dir/hometemp.rrd N:$temp:$outtemp`;&lt;br /&gt;
        }&lt;br /&gt;
        $attempts++;&lt;br /&gt;
 }&lt;br /&gt;
 $file = '/var/www/temperatura.txt';&lt;br /&gt;
 open(INFO, &amp;quot;&amp;gt;$file&amp;quot;);&lt;br /&gt;
 print INFO &amp;quot;$temp\n&amp;quot;;&lt;br /&gt;
 close(INFO)&lt;br /&gt;
 #print &amp;quot;Outside temp: $outtemp\n&amp;quot;;&lt;br /&gt;
 #print &amp;quot;Inside temp: $temp\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Rendiamo sempre eseguibile il file &lt;br /&gt;
&lt;br /&gt;
chmod +x /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
Andiamo a creare gli utimi 3 file, che però servono solo a traferire i dati su un server web esterno , utilizzando il protocollo ftp, questo script va utilizzato in abbinamento al file /root/.netrc . Nel file .netrc vengono memorizzati i dati di accesso all'aera ftp con la password in chiaro .&lt;br /&gt;
 vi /root/.netrc&lt;br /&gt;
&lt;br /&gt;
 machine NOME.SERVER.FTP&lt;br /&gt;
 login NOME_UTENTE&lt;br /&gt;
 password PASSWORD_FTP_UTENTE&lt;br /&gt;
&lt;br /&gt;
poi il comando chmod 0600 /root/.netrc&lt;br /&gt;
&lt;br /&gt;
File contenente la lista dei file da trasferire &lt;br /&gt;
 vi /opt/dallas/lista&lt;br /&gt;
&lt;br /&gt;
 prompt on&lt;br /&gt;
 binary&lt;br /&gt;
 mput *.png&lt;br /&gt;
&lt;br /&gt;
E infine lo script per iniziare l'upload verso il sito esterno &lt;br /&gt;
 vi /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 cd /opt/dallas&lt;br /&gt;
 ftp NOME.SERVER.FTP &amp;lt; lista&lt;br /&gt;
&lt;br /&gt;
Rendere eseguibile il file con chmod +x /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Ultimo file , va creato in /var/www è il file in php che genera la pagina web, da richiamare &lt;br /&gt;
&lt;br /&gt;
 vi /var/www/temperature.php &lt;br /&gt;
&lt;br /&gt;
Questo file, lo allego in formato pdf temperature.pdf, essendo in formato php/html va in &amp;quot;contrasto&amp;quot; con il sistema wiki &lt;br /&gt;
[[File:temperature.pdf]]&lt;br /&gt;
&lt;br /&gt;
== COLLAUDO ==&lt;br /&gt;
Ora eseguire nell'ordine i seguenti programmi &lt;br /&gt;
#/opt/dallas/create_db.sh&lt;br /&gt;
#/opt/dallas/get_temp.pl&lt;br /&gt;
#/opt/dallas/create_graphs.sh&lt;br /&gt;
#da un pc della rete htp://IP_RASPBERRY/temperature.php&lt;br /&gt;
&lt;br /&gt;
Se tutto OK , inserire nel crontab i 2 script , vedi questo come esempio &lt;br /&gt;
*/5 * * * * /opt/dallas/get_temp.pl&lt;br /&gt;
*/5 * * * * /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
e togliere il #dall'ultima riga di /opt/dallas/create_graphs.sh , per abilitare il trasferimento ftp verso il sito &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WORK IN PROGRESS ==&lt;br /&gt;
Tutto quello che ho scritto e realizzato  , è stato ispirato da varie letture e da questo progetto &lt;br /&gt;
 http://blog.turningdigital.com/2012/09/raspberry-pi-ds18b20-temperature-sensor-rrdtool/&lt;br /&gt;
Manca ancora di tradurre un paio di scritte in Inglese e implementare ulteriori funzioni , tipo:&lt;br /&gt;
#modulo per Nagios&lt;br /&gt;
#allarmi di sovra/sotto temperatura a mezzo email , oppure chiudendo un contatto di un relè &lt;br /&gt;
#Oppure mi viene in mente come modulo di un eventuale controllo temperatura di un appartamento , controllabile da remoto &lt;br /&gt;
&lt;br /&gt;
Qua link al &amp;quot;mio&amp;quot; http://www.ferrarini.info/temperature.php&lt;br /&gt;
&lt;br /&gt;
le temperature negative , anomale per il periodo, erano le lettura di una stazione meterologica USA&lt;br /&gt;
&lt;br /&gt;
ATTENZIONE a dove posizionare il jack per il sensore di temperatura.&lt;br /&gt;
se guardate la foto , il &amp;quot;mio&amp;quot; jack stereo da 2,5&amp;quot; è finito proprio sopra il regolatore di tensione ... Io ho costruito 2 sonde una &amp;quot;corta&amp;quot; e una con un cavetto di 2 metri ( vedi foto ) . La sonda &amp;quot;corta&amp;quot; non funziona perchè il regolatore interno di tensione scalda il connettore metallico... Falsando le misure :(&lt;br /&gt;
&lt;br /&gt;
[[File:sonde.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
--[[Utente:Luca|Luca]]  09:54, 19 mar 2013 (CET)&lt;br /&gt;
&lt;br /&gt;
[[Discussione:Raspberry Pi-Lettura Temperatura]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Discussione:Raspberry_Pi-Lettura_Temperatura&amp;diff=559</id>
		<title>Discussione:Raspberry Pi-Lettura Temperatura</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Discussione:Raspberry_Pi-Lettura_Temperatura&amp;diff=559"/>
		<updated>2013-03-19T23:45:46Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ho ritenuto opportuno aggiungere all'elenco esistente (ho spostato la pagina).&lt;br /&gt;
&lt;br /&gt;
Ho corretto Rasberry in Raspberry.&lt;br /&gt;
&lt;br /&gt;
Nient'altro (mi sembra).&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Raspberry_Pi-Lettura_Temperatura&amp;diff=558</id>
		<title>Raspberry Pi-Lettura Temperatura</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Raspberry_Pi-Lettura_Temperatura&amp;diff=558"/>
		<updated>2013-03-19T21:03:54Z</updated>

		<summary type="html">&lt;p&gt;Luca: /* HARDWARE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Raspberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel raspberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura di casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Raspberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Raspberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
*Jack stereo 2,5mm da pannello&lt;br /&gt;
*Jack 2,5 maschio &lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Raspberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Raspberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Raspberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
Schema connessioni&lt;br /&gt;
&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il raspberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
#sudo apt-get install ftp &lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io solitamente uso il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use LWP::UserAgent;&lt;br /&gt;
 my $dir = '/opt/dallas';&lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
 my $is_celsius = 1; #set to 1 if using Celsius&lt;br /&gt;
 my $ua = new LWP::UserAgent;&lt;br /&gt;
 $ua-&amp;gt;timeout(120);&lt;br /&gt;
 my $request = new HTTP::Request('GET', $metar_url);&lt;br /&gt;
 my $response = $ua-&amp;gt;request($request);&lt;br /&gt;
 my $metar= $response-&amp;gt;content();&lt;br /&gt;
 $metar =~ /([\s|M])(\d{2})\//g;&lt;br /&gt;
 $outtemp = ($1 eq 'M') ? $2 * -1 : $2; #'M' in a METAR report signifies below 0 temps&lt;br /&gt;
 $outtemp = ($is_celsius) ? $outtemp + 0 : ($outtemp * 9/5) + 32;&lt;br /&gt;
 $modules = `cat /proc/modules`;&lt;br /&gt;
 if ($modules =~ /w1_therm/ &amp;amp;&amp;amp; $modules =~ /w1_gpio/)&lt;br /&gt;
 {&lt;br /&gt;
        #modules installed&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $gpio = `sudo modprobe w1-gpio`;&lt;br /&gt;
        $therm = `sudo modprobe w1-therm`;&lt;br /&gt;
 }&lt;br /&gt;
 $output = &amp;quot;&amp;quot;;&lt;br /&gt;
 $attempts = 0;&lt;br /&gt;
 while ($output !~ /YES/g &amp;amp;&amp;amp; $attempts &amp;lt; 5)&lt;br /&gt;
 {&lt;br /&gt;
        $output = `sudo cat /sys/bus/w1/devices/10-0008027d7cb0/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
        if($output =~ /No such file or directory/)&lt;br /&gt;
        {&lt;br /&gt;
                print &amp;quot;Could not find DS18B20\n&amp;quot;;&lt;br /&gt;
                last;&lt;br /&gt;
        }&lt;br /&gt;
        elsif($output !~ /NO/g)&lt;br /&gt;
        {&lt;br /&gt;
                $output =~ /t=(\d+)/i;&lt;br /&gt;
                $temp = ($is_celsius) ? ($1 / 1000) : ($1 / 1000) * 9/5 + 32;&lt;br /&gt;
                $rrd = `/usr/bin/rrdtool update /$dir/hometemp.rrd N:$temp:$outtemp`;&lt;br /&gt;
        }&lt;br /&gt;
        $attempts++;&lt;br /&gt;
 }&lt;br /&gt;
 $file = '/var/www/temperatura.txt';&lt;br /&gt;
 open(INFO, &amp;quot;&amp;gt;$file&amp;quot;);&lt;br /&gt;
 print INFO &amp;quot;$temp\n&amp;quot;;&lt;br /&gt;
 close(INFO)&lt;br /&gt;
 #print &amp;quot;Outside temp: $outtemp\n&amp;quot;;&lt;br /&gt;
 #print &amp;quot;Inside temp: $temp\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Rendiamo sempre eseguibile il file &lt;br /&gt;
&lt;br /&gt;
chmod +x /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
Andiamo a creare gli utimi 3 file, che però servono solo a traferire i dati su un server web esterno , utilizzando il protocollo ftp, questo script va utilizzato in abbinamento al file /root/.netrc . Nel file .netrc vengono memorizzati i dati di accesso all'aera ftp con la password in chiaro .&lt;br /&gt;
 vi /root/.netrc&lt;br /&gt;
&lt;br /&gt;
 machine NOME.SERVER.FTP&lt;br /&gt;
 login NOME_UTENTE&lt;br /&gt;
 password PASSWORD_FTP_UTENTE&lt;br /&gt;
&lt;br /&gt;
poi il comando chmod 0600 /root/.netrc&lt;br /&gt;
&lt;br /&gt;
File contenente la lista dei file da trasferire &lt;br /&gt;
 vi /opt/dallas/lista&lt;br /&gt;
&lt;br /&gt;
 prompt on&lt;br /&gt;
 binary&lt;br /&gt;
 mput *.png&lt;br /&gt;
&lt;br /&gt;
E infine lo script per iniziare l'upload verso il sito esterno &lt;br /&gt;
 vi /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 cd /opt/dallas&lt;br /&gt;
 ftp NOME.SERVER.FTP &amp;lt; lista&lt;br /&gt;
&lt;br /&gt;
Rendere eseguibile il file con chmod +x /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Ultimo file , va creato in /var/www è il file in php che genera la pagina web, da richiamare &lt;br /&gt;
&lt;br /&gt;
 vi /var/www/temperature.php &lt;br /&gt;
&lt;br /&gt;
Questo file, lo allego in formato pdf temperature.pdf, essendo in formato php/html va in &amp;quot;contrasto&amp;quot; con il sistema wiki &lt;br /&gt;
[[File:temperature.pdf]]&lt;br /&gt;
&lt;br /&gt;
== COLLAUDO ==&lt;br /&gt;
Ora eseguire nell'ordine i seguenti programmi &lt;br /&gt;
#/opt/dallas/create_db.sh&lt;br /&gt;
#/opt/dallas/get_temp.pl&lt;br /&gt;
#/opt/dallas/create_graphs.sh&lt;br /&gt;
#da un pc della rete htp://IP_RASPBERRY/temperature.php&lt;br /&gt;
&lt;br /&gt;
Se tutto OK , inserire nel crontab i 2 script , vedi questo come esempio &lt;br /&gt;
*/5 * * * * /opt/dallas/get_temp.pl&lt;br /&gt;
*/5 * * * * /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
e togliere il #dall'ultima riga di /opt/dallas/create_graphs.sh , per abilitare il trasferimento ftp verso il sito &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WORK IN PROGRESS ==&lt;br /&gt;
Tutto quello che ho scritto e realizzato  , è stato ispirato da varie letture e da questo progetto &lt;br /&gt;
 http://blog.turningdigital.com/2012/09/raspberry-pi-ds18b20-temperature-sensor-rrdtool/&lt;br /&gt;
Manca ancora di tradurre un paio di scritte in Inglese e implementare ulteriori funzioni , tipo:&lt;br /&gt;
#modulo per Nagios&lt;br /&gt;
#allarmi di sovra/sotto temperatura a mezzo email , oppure chiudendo un contatto di un relè &lt;br /&gt;
#Oppure mi viene in mente come modulo di un eventuale controllo temperatura di un appartamento , controllabile da remoto &lt;br /&gt;
&lt;br /&gt;
Qua link al &amp;quot;mio&amp;quot; http://www.ferrarini.info/temperature.php&lt;br /&gt;
&lt;br /&gt;
le temperature negative , anomale per il periodo, erano le lettura di una stazione meterologica USA&lt;br /&gt;
&lt;br /&gt;
ATTENZIONE a dove posizionare il jack per il sensore di temperatura.&lt;br /&gt;
se guardate la foto , il &amp;quot;mio&amp;quot; jack stereo da 2,5&amp;quot; è finito proprio sopra il regolatore di tensione ... Io ho costruito 2 sonde una &amp;quot;corta&amp;quot; e una con un cavetto di 2 metri ( vedi foto ) . La sonda &amp;quot;corta&amp;quot; non funziona perchè il regolatore interno di tensione scalda il connettore metallico... Falsando le misure :(&lt;br /&gt;
&lt;br /&gt;
[[File:sonde.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
--[[Utente:Luca|Luca]]  09:54, 19 mar 2013 (CET)&lt;br /&gt;
&lt;br /&gt;
[[Discussione:Raspberry Pi-Lettura Temperatura]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Raspberry_Pi-Lettura_Temperatura&amp;diff=557</id>
		<title>Raspberry Pi-Lettura Temperatura</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Raspberry_Pi-Lettura_Temperatura&amp;diff=557"/>
		<updated>2013-03-19T19:37:41Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Raspberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel raspberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura di casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Raspberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Raspberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Raspberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Raspberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Raspberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
Schema connessioni&lt;br /&gt;
&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il raspberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
#sudo apt-get install ftp &lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io solitamente uso il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use LWP::UserAgent;&lt;br /&gt;
 my $dir = '/opt/dallas';&lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
 my $is_celsius = 1; #set to 1 if using Celsius&lt;br /&gt;
 my $ua = new LWP::UserAgent;&lt;br /&gt;
 $ua-&amp;gt;timeout(120);&lt;br /&gt;
 my $request = new HTTP::Request('GET', $metar_url);&lt;br /&gt;
 my $response = $ua-&amp;gt;request($request);&lt;br /&gt;
 my $metar= $response-&amp;gt;content();&lt;br /&gt;
 $metar =~ /([\s|M])(\d{2})\//g;&lt;br /&gt;
 $outtemp = ($1 eq 'M') ? $2 * -1 : $2; #'M' in a METAR report signifies below 0 temps&lt;br /&gt;
 $outtemp = ($is_celsius) ? $outtemp + 0 : ($outtemp * 9/5) + 32;&lt;br /&gt;
 $modules = `cat /proc/modules`;&lt;br /&gt;
 if ($modules =~ /w1_therm/ &amp;amp;&amp;amp; $modules =~ /w1_gpio/)&lt;br /&gt;
 {&lt;br /&gt;
        #modules installed&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $gpio = `sudo modprobe w1-gpio`;&lt;br /&gt;
        $therm = `sudo modprobe w1-therm`;&lt;br /&gt;
 }&lt;br /&gt;
 $output = &amp;quot;&amp;quot;;&lt;br /&gt;
 $attempts = 0;&lt;br /&gt;
 while ($output !~ /YES/g &amp;amp;&amp;amp; $attempts &amp;lt; 5)&lt;br /&gt;
 {&lt;br /&gt;
        $output = `sudo cat /sys/bus/w1/devices/10-0008027d7cb0/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
        if($output =~ /No such file or directory/)&lt;br /&gt;
        {&lt;br /&gt;
                print &amp;quot;Could not find DS18B20\n&amp;quot;;&lt;br /&gt;
                last;&lt;br /&gt;
        }&lt;br /&gt;
        elsif($output !~ /NO/g)&lt;br /&gt;
        {&lt;br /&gt;
                $output =~ /t=(\d+)/i;&lt;br /&gt;
                $temp = ($is_celsius) ? ($1 / 1000) : ($1 / 1000) * 9/5 + 32;&lt;br /&gt;
                $rrd = `/usr/bin/rrdtool update /$dir/hometemp.rrd N:$temp:$outtemp`;&lt;br /&gt;
        }&lt;br /&gt;
        $attempts++;&lt;br /&gt;
 }&lt;br /&gt;
 $file = '/var/www/temperatura.txt';&lt;br /&gt;
 open(INFO, &amp;quot;&amp;gt;$file&amp;quot;);&lt;br /&gt;
 print INFO &amp;quot;$temp\n&amp;quot;;&lt;br /&gt;
 close(INFO)&lt;br /&gt;
 #print &amp;quot;Outside temp: $outtemp\n&amp;quot;;&lt;br /&gt;
 #print &amp;quot;Inside temp: $temp\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Rendiamo sempre eseguibile il file &lt;br /&gt;
&lt;br /&gt;
chmod +x /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
Andiamo a creare gli utimi 3 file, che però servono solo a traferire i dati su un server web esterno , utilizzando il protocollo ftp, questo script va utilizzato in abbinamento al file /root/.netrc . Nel file .netrc vengono memorizzati i dati di accesso all'aera ftp con la password in chiaro .&lt;br /&gt;
 vi /root/.netrc&lt;br /&gt;
&lt;br /&gt;
 machine NOME.SERVER.FTP&lt;br /&gt;
 login NOME_UTENTE&lt;br /&gt;
 password PASSWORD_FTP_UTENTE&lt;br /&gt;
&lt;br /&gt;
poi il comando chmod 0600 /root/.netrc&lt;br /&gt;
&lt;br /&gt;
File contenente la lista dei file da trasferire &lt;br /&gt;
 vi /opt/dallas/lista&lt;br /&gt;
&lt;br /&gt;
 prompt on&lt;br /&gt;
 binary&lt;br /&gt;
 mput *.png&lt;br /&gt;
&lt;br /&gt;
E infine lo script per iniziare l'upload verso il sito esterno &lt;br /&gt;
 vi /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 cd /opt/dallas&lt;br /&gt;
 ftp NOME.SERVER.FTP &amp;lt; lista&lt;br /&gt;
&lt;br /&gt;
Rendere eseguibile il file con chmod +x /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Ultimo file , va creato in /var/www è il file in php che genera la pagina web, da richiamare &lt;br /&gt;
&lt;br /&gt;
 vi /var/www/temperature.php &lt;br /&gt;
&lt;br /&gt;
Questo file, lo allego in formato pdf temperature.pdf, essendo in formato php/html va in &amp;quot;contrasto&amp;quot; con il sistema wiki &lt;br /&gt;
[[File:temperature.pdf]]&lt;br /&gt;
&lt;br /&gt;
== COLLAUDO ==&lt;br /&gt;
Ora eseguire nell'ordine i seguenti programmi &lt;br /&gt;
#/opt/dallas/create_db.sh&lt;br /&gt;
#/opt/dallas/get_temp.pl&lt;br /&gt;
#/opt/dallas/create_graphs.sh&lt;br /&gt;
#da un pc della rete htp://IP_RASPBERRY/temperature.php&lt;br /&gt;
&lt;br /&gt;
Se tutto OK , inserire nel crontab i 2 script , vedi questo come esempio &lt;br /&gt;
*/5 * * * * /opt/dallas/get_temp.pl&lt;br /&gt;
*/5 * * * * /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
e togliere il #dall'ultima riga di /opt/dallas/create_graphs.sh , per abilitare il trasferimento ftp verso il sito &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WORK IN PROGRESS ==&lt;br /&gt;
Tutto quello che ho scritto e realizzato  , è stato ispirato da varie letture e da questo progetto &lt;br /&gt;
 http://blog.turningdigital.com/2012/09/raspberry-pi-ds18b20-temperature-sensor-rrdtool/&lt;br /&gt;
Manca ancora di tradurre un paio di scritte in Inglese e implementare ulteriori funzioni , tipo:&lt;br /&gt;
#modulo per Nagios&lt;br /&gt;
#allarmi di sovra/sotto temperatura a mezzo email , oppure chiudendo un contatto di un relè &lt;br /&gt;
#Oppure mi viene in mente come modulo di un eventuale controllo temperatura di un appartamento , controllabile da remoto &lt;br /&gt;
&lt;br /&gt;
Qua link al &amp;quot;mio&amp;quot; http://www.ferrarini.info/temperature.php&lt;br /&gt;
&lt;br /&gt;
le temperature negative , anomale per il periodo, erano le lettura di una stazione meterologica USA&lt;br /&gt;
&lt;br /&gt;
ATTENZIONE a dove posizionare il jack per il sensore di temperatura.&lt;br /&gt;
se guardate la foto , il &amp;quot;mio&amp;quot; jack stereo da 2,5&amp;quot; è finito proprio sopra il regolatore di tensione ... Io ho costruito 2 sonde una &amp;quot;corta&amp;quot; e una con un cavetto di 2 metri ( vedi foto ) . La sonda &amp;quot;corta&amp;quot; non funziona perchè il regolatore interno di tensione scalda il connettore metallico... Falsando le misure :(&lt;br /&gt;
&lt;br /&gt;
[[File:sonde.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
--[[Utente:Luca|Luca]]  09:54, 19 mar 2013 (CET)&lt;br /&gt;
&lt;br /&gt;
[[Discussione:Raspberry Pi-Lettura Temperatura]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Raspberry_Pi-Lettura_Temperatura&amp;diff=552</id>
		<title>Raspberry Pi-Lettura Temperatura</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Raspberry_Pi-Lettura_Temperatura&amp;diff=552"/>
		<updated>2013-03-19T08:56:15Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Raspberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel raspberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura di casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Raspberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Raspberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Raspberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Raspberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Raspberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
Schema connessioni&lt;br /&gt;
&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il raspberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
#sudo apt-get install ftp &lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io solitamente uso il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use LWP::UserAgent;&lt;br /&gt;
 my $dir = '/opt/dallas';&lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
 my $is_celsius = 1; #set to 1 if using Celsius&lt;br /&gt;
 my $ua = new LWP::UserAgent;&lt;br /&gt;
 $ua-&amp;gt;timeout(120);&lt;br /&gt;
 my $request = new HTTP::Request('GET', $metar_url);&lt;br /&gt;
 my $response = $ua-&amp;gt;request($request);&lt;br /&gt;
 my $metar= $response-&amp;gt;content();&lt;br /&gt;
 $metar =~ /([\s|M])(\d{2})\//g;&lt;br /&gt;
 $outtemp = ($1 eq 'M') ? $2 * -1 : $2; #'M' in a METAR report signifies below 0 temps&lt;br /&gt;
 $outtemp = ($is_celsius) ? $outtemp + 0 : ($outtemp * 9/5) + 32;&lt;br /&gt;
 $modules = `cat /proc/modules`;&lt;br /&gt;
 if ($modules =~ /w1_therm/ &amp;amp;&amp;amp; $modules =~ /w1_gpio/)&lt;br /&gt;
 {&lt;br /&gt;
        #modules installed&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $gpio = `sudo modprobe w1-gpio`;&lt;br /&gt;
        $therm = `sudo modprobe w1-therm`;&lt;br /&gt;
 }&lt;br /&gt;
 $output = &amp;quot;&amp;quot;;&lt;br /&gt;
 $attempts = 0;&lt;br /&gt;
 while ($output !~ /YES/g &amp;amp;&amp;amp; $attempts &amp;lt; 5)&lt;br /&gt;
 {&lt;br /&gt;
        $output = `sudo cat /sys/bus/w1/devices/10-0008027d7cb0/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
        if($output =~ /No such file or directory/)&lt;br /&gt;
        {&lt;br /&gt;
                print &amp;quot;Could not find DS18B20\n&amp;quot;;&lt;br /&gt;
                last;&lt;br /&gt;
        }&lt;br /&gt;
        elsif($output !~ /NO/g)&lt;br /&gt;
        {&lt;br /&gt;
                $output =~ /t=(\d+)/i;&lt;br /&gt;
                $temp = ($is_celsius) ? ($1 / 1000) : ($1 / 1000) * 9/5 + 32;&lt;br /&gt;
                $rrd = `/usr/bin/rrdtool update /$dir/hometemp.rrd N:$temp:$outtemp`;&lt;br /&gt;
        }&lt;br /&gt;
        $attempts++;&lt;br /&gt;
 }&lt;br /&gt;
 $file = '/var/www/temperatura.txt';&lt;br /&gt;
 open(INFO, &amp;quot;&amp;gt;$file&amp;quot;);&lt;br /&gt;
 print INFO &amp;quot;$temp\n&amp;quot;;&lt;br /&gt;
 close(INFO)&lt;br /&gt;
 #print &amp;quot;Outside temp: $outtemp\n&amp;quot;;&lt;br /&gt;
 #print &amp;quot;Inside temp: $temp\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Rendiamo sempre eseguibile il file &lt;br /&gt;
&lt;br /&gt;
chmod +x /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
Andiamo a creare gli utimi 3 file, che però servono solo a traferire i dati su un server web esterno , utilizzando il protocollo ftp, questo script va utilizzato in abbinamento al file /root/.netrc . Nel file .netrc vengono memorizzati i dati di accesso all'aera ftp con la password in chiaro .&lt;br /&gt;
 vi /root/.netrc&lt;br /&gt;
&lt;br /&gt;
 machine NOME.SERVER.FTP&lt;br /&gt;
 login NOME_UTENTE&lt;br /&gt;
 password PASSWORD_FTP_UTENTE&lt;br /&gt;
&lt;br /&gt;
poi il comando chmod 0600 /root/.netrc&lt;br /&gt;
&lt;br /&gt;
File contenente la lista dei file da trasferire &lt;br /&gt;
 vi /opt/dallas/lista&lt;br /&gt;
&lt;br /&gt;
 prompt on&lt;br /&gt;
 binary&lt;br /&gt;
 mput *.png&lt;br /&gt;
&lt;br /&gt;
E infine lo script per iniziare l'upload verso il sito esterno &lt;br /&gt;
 vi /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 cd /opt/dallas&lt;br /&gt;
 ftp NOME.SERVER.FTP &amp;lt; lista&lt;br /&gt;
&lt;br /&gt;
Rendere eseguibile il file con chmod +x /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Ultimo file , va creato in /var/www è il file in php che genera la pagina web, da richiamare &lt;br /&gt;
&lt;br /&gt;
 vi /var/www/temperature.php &lt;br /&gt;
&lt;br /&gt;
Questo file, lo allego in formato pdf temperature.pdf, essendo in formato php/html va in &amp;quot;contrasto&amp;quot; con il sistema wiki &lt;br /&gt;
[[File:temperature.pdf]]&lt;br /&gt;
&lt;br /&gt;
== COLLAUDO ==&lt;br /&gt;
Ora eseguire nell'ordine i seguenti programmi &lt;br /&gt;
#/opt/dallas/create_db.sh&lt;br /&gt;
#/opt/dallas/get_temp.pl&lt;br /&gt;
#/opt/dallas/create_graphs.sh&lt;br /&gt;
#da un pc della rete htp://IP_RASPBERRY/temperature.php&lt;br /&gt;
&lt;br /&gt;
Se tutto OK , inserire nel crontab i 2 script , vedi questo come esempio &lt;br /&gt;
*/5 * * * * /opt/dallas/get_temp.pl&lt;br /&gt;
*/5 * * * * /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
e togliere il #dall'ultima riga di /opt/dallas/create_graphs.sh , per abilitare il trasferimento ftp verso il sito &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WORK IN PROGRESS ==&lt;br /&gt;
Tutto quello che ho scritto e realizzato  , è stato ispirato da varie letture e da questo progetto &lt;br /&gt;
 http://blog.turningdigital.com/2012/09/raspberry-pi-ds18b20-temperature-sensor-rrdtool/&lt;br /&gt;
Manca ancora di tradurre un paio di scritte in Inglese e implementare ulteriori funzioni , tipo:&lt;br /&gt;
#modulo per Nagios&lt;br /&gt;
#allarmi di sovra/sotto temperatura a mezzo email , oppure chiudendo un contatto di un relè &lt;br /&gt;
#Oppure mi viene in mente come modulo di un eventuale controllo temperatura di un appartamento , controllabile da remoto &lt;br /&gt;
&lt;br /&gt;
Qua link al &amp;quot;mio&amp;quot; http://www.ferrarini.info/temperature.php&lt;br /&gt;
&lt;br /&gt;
le temperature negative , anomale per il periodo, erano le lettura di una stazione meterologica USA&lt;br /&gt;
&lt;br /&gt;
ATTENZIONE a dove inserire il jack per il sensore di temperatura.&lt;br /&gt;
se guardate la foto , il &amp;quot;miO&amp;quot; jack stereo da 2,5&amp;quot; è finito proprio sopra il regolatore di tensione ... Io ho costruito 2 sonde una &amp;quot;corta&amp;quot; e una con un cavetto di 2 metri ( vedi foto ) . La sonda &amp;quot;corta&amp;quot; non funziona perchè il regolatore interno di tensione scalda il connettore metallico... Falsando le misure :(&lt;br /&gt;
&lt;br /&gt;
[[File:sonde.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
--[[Utente:Luca|Luca]]  09:54, 19 mar 2013 (CET)&lt;br /&gt;
&lt;br /&gt;
[[Discussione:Raspberry Pi-Lettura Temperatura]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Raspberry_Pi-Lettura_Temperatura&amp;diff=551</id>
		<title>Raspberry Pi-Lettura Temperatura</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Raspberry_Pi-Lettura_Temperatura&amp;diff=551"/>
		<updated>2013-03-19T08:54:30Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Raspberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel raspberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura di casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Raspberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Raspberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Raspberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Raspberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Raspberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
Schema connessioni&lt;br /&gt;
&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il raspberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
#sudo apt-get install ftp &lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io solitamente uso il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use LWP::UserAgent;&lt;br /&gt;
 my $dir = '/opt/dallas';&lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
 my $is_celsius = 1; #set to 1 if using Celsius&lt;br /&gt;
 my $ua = new LWP::UserAgent;&lt;br /&gt;
 $ua-&amp;gt;timeout(120);&lt;br /&gt;
 my $request = new HTTP::Request('GET', $metar_url);&lt;br /&gt;
 my $response = $ua-&amp;gt;request($request);&lt;br /&gt;
 my $metar= $response-&amp;gt;content();&lt;br /&gt;
 $metar =~ /([\s|M])(\d{2})\//g;&lt;br /&gt;
 $outtemp = ($1 eq 'M') ? $2 * -1 : $2; #'M' in a METAR report signifies below 0 temps&lt;br /&gt;
 $outtemp = ($is_celsius) ? $outtemp + 0 : ($outtemp * 9/5) + 32;&lt;br /&gt;
 $modules = `cat /proc/modules`;&lt;br /&gt;
 if ($modules =~ /w1_therm/ &amp;amp;&amp;amp; $modules =~ /w1_gpio/)&lt;br /&gt;
 {&lt;br /&gt;
        #modules installed&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $gpio = `sudo modprobe w1-gpio`;&lt;br /&gt;
        $therm = `sudo modprobe w1-therm`;&lt;br /&gt;
 }&lt;br /&gt;
 $output = &amp;quot;&amp;quot;;&lt;br /&gt;
 $attempts = 0;&lt;br /&gt;
 while ($output !~ /YES/g &amp;amp;&amp;amp; $attempts &amp;lt; 5)&lt;br /&gt;
 {&lt;br /&gt;
        $output = `sudo cat /sys/bus/w1/devices/10-0008027d7cb0/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
        if($output =~ /No such file or directory/)&lt;br /&gt;
        {&lt;br /&gt;
                print &amp;quot;Could not find DS18B20\n&amp;quot;;&lt;br /&gt;
                last;&lt;br /&gt;
        }&lt;br /&gt;
        elsif($output !~ /NO/g)&lt;br /&gt;
        {&lt;br /&gt;
                $output =~ /t=(\d+)/i;&lt;br /&gt;
                $temp = ($is_celsius) ? ($1 / 1000) : ($1 / 1000) * 9/5 + 32;&lt;br /&gt;
                $rrd = `/usr/bin/rrdtool update /$dir/hometemp.rrd N:$temp:$outtemp`;&lt;br /&gt;
        }&lt;br /&gt;
        $attempts++;&lt;br /&gt;
 }&lt;br /&gt;
 $file = '/var/www/temperatura.txt';&lt;br /&gt;
 open(INFO, &amp;quot;&amp;gt;$file&amp;quot;);&lt;br /&gt;
 print INFO &amp;quot;$temp\n&amp;quot;;&lt;br /&gt;
 close(INFO)&lt;br /&gt;
 #print &amp;quot;Outside temp: $outtemp\n&amp;quot;;&lt;br /&gt;
 #print &amp;quot;Inside temp: $temp\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Rendiamo sempre eseguibile il file &lt;br /&gt;
&lt;br /&gt;
chmod +x /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
Andiamo a creare gli utimi 3 file, che però servono solo a traferire i dati su un server web esterno , utilizzando il protocollo ftp, questo script va utilizzato in abbinamento al file /root/.netrc . Nel file .netrc vengono memorizzati i dati di accesso all'aera ftp con la password in chiaro .&lt;br /&gt;
 vi /root/.netrc&lt;br /&gt;
&lt;br /&gt;
 machine NOME.SERVER.FTP&lt;br /&gt;
 login NOME_UTENTE&lt;br /&gt;
 password PASSWORD_FTP_UTENTE&lt;br /&gt;
&lt;br /&gt;
poi il comando chmod 0600 /root/.netrc&lt;br /&gt;
&lt;br /&gt;
File contenente la lista dei file da trasferire &lt;br /&gt;
 vi /opt/dallas/lista&lt;br /&gt;
&lt;br /&gt;
 prompt on&lt;br /&gt;
 binary&lt;br /&gt;
 mput *.png&lt;br /&gt;
&lt;br /&gt;
E infine lo script per iniziare l'upload verso il sito esterno &lt;br /&gt;
 vi /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 cd /opt/dallas&lt;br /&gt;
 ftp NOME.SERVER.FTP &amp;lt; lista&lt;br /&gt;
&lt;br /&gt;
Rendere eseguibile il file con chmod +x /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Ultimo file , va creato in /var/www è il file in php che genera la pagina web, da richiamare &lt;br /&gt;
&lt;br /&gt;
 vi /var/www/temperature.php &lt;br /&gt;
&lt;br /&gt;
Questo file, lo allego in formato pdf temperature.pdf, essendo in formato php/html va in &amp;quot;contrasto&amp;quot; con il sistema wiki &lt;br /&gt;
[[File:temperature.pdf]]&lt;br /&gt;
&lt;br /&gt;
== COLLAUDO ==&lt;br /&gt;
Ora eseguire nell'ordine i seguenti programmi &lt;br /&gt;
#/opt/dallas/create_db.sh&lt;br /&gt;
#/opt/dallas/get_temp.pl&lt;br /&gt;
#/opt/dallas/create_graphs.sh&lt;br /&gt;
#da un pc della rete htp://IP_RASPBERRY/temperature.php&lt;br /&gt;
&lt;br /&gt;
Se tutto OK , inserire nel crontab i 2 script , vedi questo come esempio &lt;br /&gt;
*/5 * * * * /opt/dallas/get_temp.pl&lt;br /&gt;
*/5 * * * * /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
e togliere il #dall'ultima riga di /opt/dallas/create_graphs.sh , per abilitare il trasferimento ftp verso il sito &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WORK IN PROGRESS ==&lt;br /&gt;
Tutto quello che ho scritto e realizzato  , è stato ispirato da varie letture e da questo progetto &lt;br /&gt;
 http://blog.turningdigital.com/2012/09/raspberry-pi-ds18b20-temperature-sensor-rrdtool/&lt;br /&gt;
Manca ancora di tradurre un paio di scritte in Inglese e implementare ulteriori funzioni , tipo:&lt;br /&gt;
#modulo per Nagios&lt;br /&gt;
#allarmi di sovra/sotto temperatura a mezzo email , oppure chiudendo un contatto di un relè &lt;br /&gt;
#Oppure mi viene in mente come modulo di un eventuale controllo temperatura di un appartamento , controllabile da remoto &lt;br /&gt;
&lt;br /&gt;
Qua link al &amp;quot;mio&amp;quot; http://www.ferrarini.info/temperature.php&lt;br /&gt;
&lt;br /&gt;
le temperature negative , anomale per il periodo, erano le lettura di una stazione meterologica USA&lt;br /&gt;
&lt;br /&gt;
ATTENZIONE a dove inserire il jack per il sensore di temperatura.&lt;br /&gt;
se guardate la foto , il &amp;quot;miO&amp;quot; jack stereo da 2,5&amp;quot; è finito proprio sopra il regolatore di tensione ... Io ho costruito 2 sonde una &amp;quot;corta&amp;quot; e una con un cavetto di 2 metri ( vedi foto ) . La sonda &amp;quot;corta&amp;quot; non funziona perchè il regolatore interno di tensione scalda il connettore metallico... Falsando le misure :(&lt;br /&gt;
&lt;br /&gt;
[[File:sonde.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
--[[Utente:Luca|Luca]] ([[Discussioni utente:Luca|discussioni]]) 09:54, 19 mar 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Discussioni_utente:Luca&amp;diff=544</id>
		<title>Discussioni utente:Luca</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Discussioni_utente:Luca&amp;diff=544"/>
		<updated>2013-03-18T23:43:42Z</updated>

		<summary type="html">&lt;p&gt;Luca: Creata pagina con ' == Luca =='&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Luca ==&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=543</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=543"/>
		<updated>2013-03-18T23:43:02Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura di casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
Schema connessioni&lt;br /&gt;
&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
#sudo apt-get install ftp &lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io solitamente uso il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use LWP::UserAgent;&lt;br /&gt;
 my $dir = '/opt/dallas';&lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
 my $is_celsius = 1; #set to 1 if using Celsius&lt;br /&gt;
 my $ua = new LWP::UserAgent;&lt;br /&gt;
 $ua-&amp;gt;timeout(120);&lt;br /&gt;
 my $request = new HTTP::Request('GET', $metar_url);&lt;br /&gt;
 my $response = $ua-&amp;gt;request($request);&lt;br /&gt;
 my $metar= $response-&amp;gt;content();&lt;br /&gt;
 $metar =~ /([\s|M])(\d{2})\//g;&lt;br /&gt;
 $outtemp = ($1 eq 'M') ? $2 * -1 : $2; #'M' in a METAR report signifies below 0 temps&lt;br /&gt;
 $outtemp = ($is_celsius) ? $outtemp + 0 : ($outtemp * 9/5) + 32;&lt;br /&gt;
 $modules = `cat /proc/modules`;&lt;br /&gt;
 if ($modules =~ /w1_therm/ &amp;amp;&amp;amp; $modules =~ /w1_gpio/)&lt;br /&gt;
 {&lt;br /&gt;
        #modules installed&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $gpio = `sudo modprobe w1-gpio`;&lt;br /&gt;
        $therm = `sudo modprobe w1-therm`;&lt;br /&gt;
 }&lt;br /&gt;
 $output = &amp;quot;&amp;quot;;&lt;br /&gt;
 $attempts = 0;&lt;br /&gt;
 while ($output !~ /YES/g &amp;amp;&amp;amp; $attempts &amp;lt; 5)&lt;br /&gt;
 {&lt;br /&gt;
        $output = `sudo cat /sys/bus/w1/devices/10-0008027d7cb0/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
        if($output =~ /No such file or directory/)&lt;br /&gt;
        {&lt;br /&gt;
                print &amp;quot;Could not find DS18B20\n&amp;quot;;&lt;br /&gt;
                last;&lt;br /&gt;
        }&lt;br /&gt;
        elsif($output !~ /NO/g)&lt;br /&gt;
        {&lt;br /&gt;
                $output =~ /t=(\d+)/i;&lt;br /&gt;
                $temp = ($is_celsius) ? ($1 / 1000) : ($1 / 1000) * 9/5 + 32;&lt;br /&gt;
                $rrd = `/usr/bin/rrdtool update /$dir/hometemp.rrd N:$temp:$outtemp`;&lt;br /&gt;
        }&lt;br /&gt;
        $attempts++;&lt;br /&gt;
 }&lt;br /&gt;
 $file = '/var/www/temperatura.txt';&lt;br /&gt;
 open(INFO, &amp;quot;&amp;gt;$file&amp;quot;);&lt;br /&gt;
 print INFO &amp;quot;$temp\n&amp;quot;;&lt;br /&gt;
 close(INFO)&lt;br /&gt;
 #print &amp;quot;Outside temp: $outtemp\n&amp;quot;;&lt;br /&gt;
 #print &amp;quot;Inside temp: $temp\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Rendiamo sempre eseguibile il file &lt;br /&gt;
&lt;br /&gt;
chmod +x /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
Andiamo a creare gli utimi 3 file, che però servono solo a traferire i dati su un server web esterno , utilizzando il protocollo ftp, questo script va utilizzato in abbinamento al file /root/.netrc . Nel file .netrc vengono memorizzati i dati di accesso all'aera ftp con la password in chiaro .&lt;br /&gt;
 vi /root/.netrc&lt;br /&gt;
&lt;br /&gt;
 machine NOME.SERVER.FTP&lt;br /&gt;
 login NOME_UTENTE&lt;br /&gt;
 password PASSWORD_FTP_UTENTE&lt;br /&gt;
&lt;br /&gt;
poi il comando chmod 0600 /root/.netrc&lt;br /&gt;
&lt;br /&gt;
File contenente la lista dei file da trasferire &lt;br /&gt;
 vi /opt/dallas/lista&lt;br /&gt;
&lt;br /&gt;
 prompt on&lt;br /&gt;
 binary&lt;br /&gt;
 mput *.png&lt;br /&gt;
&lt;br /&gt;
E infine lo script per iniziare l'upload verso il sito esterno &lt;br /&gt;
 vi /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 cd /opt/dallas&lt;br /&gt;
 ftp NOME.SERVER.FTP &amp;lt; lista&lt;br /&gt;
&lt;br /&gt;
Rendere eseguibile il file con chmod +x /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Ultimo file , va creato in /var/www è il file in php che genera la pagina web, da richiamare &lt;br /&gt;
&lt;br /&gt;
 vi /var/www/temperature.php &lt;br /&gt;
&lt;br /&gt;
Questo file, lo allego in formato pdf temperature.pdf, essendo in formato php/html va in &amp;quot;contrasto&amp;quot; con il sistema wiki &lt;br /&gt;
[[File:temperature.pdf]]&lt;br /&gt;
&lt;br /&gt;
== COLLAUDO ==&lt;br /&gt;
Ora eseguire nell'ordine i seguenti programmi &lt;br /&gt;
#/opt/dallas/create_db.sh&lt;br /&gt;
#/opt/dallas/get_temp.pl&lt;br /&gt;
#/opt/dallas/create_graphs.sh&lt;br /&gt;
#da un pc della rete htp://IP_RASBERRY/temperature.php&lt;br /&gt;
&lt;br /&gt;
Se tutto OK , inserire nel crontab i 2 script , vedi questo come esempio &lt;br /&gt;
*/5 * * * * /opt/dallas/get_temp.pl&lt;br /&gt;
*/5 * * * * /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
e togliere il #dall'ultima riga di /opt/dallas/create_graphs.sh , per abilitare il trasferimento ftp verso il sito &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WORK IN PROGRESS ==&lt;br /&gt;
Tutto quello che ho scritto e realizzato  , è stato ispirato da varie letture e da questo progetto &lt;br /&gt;
 http://blog.turningdigital.com/2012/09/raspberry-pi-ds18b20-temperature-sensor-rrdtool/&lt;br /&gt;
Manca ancora di tradurre un paio di scritte in Inglese e implementare ulteriori funzioni , tipo:&lt;br /&gt;
#modulo per Nagios&lt;br /&gt;
#allarmi di sovra/sotto temperatura a mezzo email , oppure chiudendo un contatto di un relè &lt;br /&gt;
#Oppure mi viene in mente come modulo di un eventuale controllo temperatura di un appartamento , controllabile da remoto &lt;br /&gt;
&lt;br /&gt;
Qua link al &amp;quot;mio&amp;quot; http://www.ferrarini.info/temperature.php&lt;br /&gt;
&lt;br /&gt;
le temperature negative , anomale per il periodo, erano le lettura di una stazione meterologica USA&lt;br /&gt;
&lt;br /&gt;
ATTENZIONE a dove inserire il jack per il sensore di temperatura.&lt;br /&gt;
se guardate la foto , il &amp;quot;miO&amp;quot; jack stereo da 2,5&amp;quot; è finito proprio sopra il regolatore di tensione ... Io ho costruito 2 sonde una &amp;quot;corta&amp;quot; e una con un cavetto di 2 metri ( vedi foto ) . La sonda &amp;quot;corta&amp;quot; non funziona perchè il regolatore interno di tensione scalda il connettore metallico... Falsando le misure :(&lt;br /&gt;
&lt;br /&gt;
[[File:sonde.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
--[[Utente:Luca|Luca]] ([[Discussioni utente:Luca|discussioni]]) 00:16, 19 mar 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=542</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=542"/>
		<updated>2013-03-18T23:38:05Z</updated>

		<summary type="html">&lt;p&gt;Luca: /* SOFTWARE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura di casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
Schema connessioni&lt;br /&gt;
&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
#sudo apt-get install ftp &lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io solitamente uso il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use LWP::UserAgent;&lt;br /&gt;
 my $dir = '/opt/dallas';&lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
 my $is_celsius = 1; #set to 1 if using Celsius&lt;br /&gt;
 my $ua = new LWP::UserAgent;&lt;br /&gt;
 $ua-&amp;gt;timeout(120);&lt;br /&gt;
 my $request = new HTTP::Request('GET', $metar_url);&lt;br /&gt;
 my $response = $ua-&amp;gt;request($request);&lt;br /&gt;
 my $metar= $response-&amp;gt;content();&lt;br /&gt;
 $metar =~ /([\s|M])(\d{2})\//g;&lt;br /&gt;
 $outtemp = ($1 eq 'M') ? $2 * -1 : $2; #'M' in a METAR report signifies below 0 temps&lt;br /&gt;
 $outtemp = ($is_celsius) ? $outtemp + 0 : ($outtemp * 9/5) + 32;&lt;br /&gt;
 $modules = `cat /proc/modules`;&lt;br /&gt;
 if ($modules =~ /w1_therm/ &amp;amp;&amp;amp; $modules =~ /w1_gpio/)&lt;br /&gt;
 {&lt;br /&gt;
        #modules installed&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $gpio = `sudo modprobe w1-gpio`;&lt;br /&gt;
        $therm = `sudo modprobe w1-therm`;&lt;br /&gt;
 }&lt;br /&gt;
 $output = &amp;quot;&amp;quot;;&lt;br /&gt;
 $attempts = 0;&lt;br /&gt;
 while ($output !~ /YES/g &amp;amp;&amp;amp; $attempts &amp;lt; 5)&lt;br /&gt;
 {&lt;br /&gt;
        $output = `sudo cat /sys/bus/w1/devices/10-0008027d7cb0/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
        if($output =~ /No such file or directory/)&lt;br /&gt;
        {&lt;br /&gt;
                print &amp;quot;Could not find DS18B20\n&amp;quot;;&lt;br /&gt;
                last;&lt;br /&gt;
        }&lt;br /&gt;
        elsif($output !~ /NO/g)&lt;br /&gt;
        {&lt;br /&gt;
                $output =~ /t=(\d+)/i;&lt;br /&gt;
                $temp = ($is_celsius) ? ($1 / 1000) : ($1 / 1000) * 9/5 + 32;&lt;br /&gt;
                $rrd = `/usr/bin/rrdtool update /$dir/hometemp.rrd N:$temp:$outtemp`;&lt;br /&gt;
        }&lt;br /&gt;
        $attempts++;&lt;br /&gt;
 }&lt;br /&gt;
 $file = '/var/www/temperatura.txt';&lt;br /&gt;
 open(INFO, &amp;quot;&amp;gt;$file&amp;quot;);&lt;br /&gt;
 print INFO &amp;quot;$temp\n&amp;quot;;&lt;br /&gt;
 close(INFO)&lt;br /&gt;
 #print &amp;quot;Outside temp: $outtemp\n&amp;quot;;&lt;br /&gt;
 #print &amp;quot;Inside temp: $temp\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Rendiamo sempre eseguibile il file &lt;br /&gt;
&lt;br /&gt;
chmod +x /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
Andiamo a creare gli utimi 3 file, che però servono solo a traferire i dati su un server web esterno , utilizzando il protocollo ftp, questo script va utilizzato in abbinamento al file /root/.netrc . Nel file .netrc vengono memorizzati i dati di accesso all'aera ftp con la password in chiaro .&lt;br /&gt;
 vi /root/.netrc&lt;br /&gt;
&lt;br /&gt;
 machine NOME.SERVER.FTP&lt;br /&gt;
 login NOME_UTENTE&lt;br /&gt;
 password PASSWORD_FTP_UTENTE&lt;br /&gt;
&lt;br /&gt;
poi il comando chmod 0600 /root/.netrc&lt;br /&gt;
&lt;br /&gt;
File contenente la lista dei file da trasferire &lt;br /&gt;
 vi /opt/dallas/lista&lt;br /&gt;
&lt;br /&gt;
 prompt on&lt;br /&gt;
 binary&lt;br /&gt;
 mput *.png&lt;br /&gt;
&lt;br /&gt;
E infine lo script per iniziare l'upload verso il sito esterno &lt;br /&gt;
 vi /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 cd /opt/dallas&lt;br /&gt;
 ftp NOME.SERVER.FTP &amp;lt; lista&lt;br /&gt;
&lt;br /&gt;
Rendere eseguibile il file con chmod +x /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Ultimo file , va creato in /var/www è il file in php che genera la pagina web, da richiamare &lt;br /&gt;
&lt;br /&gt;
 vi /var/www/temperature.php &lt;br /&gt;
&lt;br /&gt;
Questo file, lo allego in formato pdf temperature.pdf, essendo in formato php/html va in &amp;quot;contrasto&amp;quot; con il sistema wiki &lt;br /&gt;
[[File:temperature.pdf]]&lt;br /&gt;
&lt;br /&gt;
== COLLAUDO ==&lt;br /&gt;
Ora eseguire nell'ordine i seguenti programmi &lt;br /&gt;
#/opt/dallas/create_db.sh&lt;br /&gt;
#/opt/dallas/get_temp.pl&lt;br /&gt;
#/opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Se tutto OK , inserire nel crontab i 2 script , vedi questo come esempio &lt;br /&gt;
*/5 * * * * /opt/dallas/get_temp.pl&lt;br /&gt;
*/5 * * * * /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
e togliere il #dall'ultima riga di /opt/dallas/create_graphs.sh , per abilitare il trasferimento ftp verso il sito &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WORK IN PROGRESS ==&lt;br /&gt;
Tutto quello che ho scritto e realizzato  , è stato ispirato da varie letture e da questo progetto &lt;br /&gt;
 http://blog.turningdigital.com/2012/09/raspberry-pi-ds18b20-temperature-sensor-rrdtool/&lt;br /&gt;
Manca ancora di tradurre un paio di scritte in Inglese e implementare ulteriori funzioni , tipo:&lt;br /&gt;
#modulo per Nagios&lt;br /&gt;
#allarmi di sovra/sotto temperatura a mezzo email , oppure chiudendo un contatto di un relè &lt;br /&gt;
#Oppure mi viene in mente come modulo di un eventuale controllo temperatura di un appartamento , controllabile da remoto &lt;br /&gt;
&lt;br /&gt;
Qua link al &amp;quot;mio&amp;quot; http://www.ferrarini.info/temperature.php&lt;br /&gt;
&lt;br /&gt;
le temperature negative , anomale per il periodo, erano le lettura di una stazione meterologica USA&lt;br /&gt;
&lt;br /&gt;
ATTENZIONE a dove inserire il jack per il sensore di temperatura.&lt;br /&gt;
se guardate la foto , il &amp;quot;miO&amp;quot; jack stereo da 2,5&amp;quot; è finito proprio sopra il regolatore di tensione ... Io ho costruito 2 sonde una &amp;quot;corta&amp;quot; e una con un cavetto di 2 metri ( vedi foto ) . La sonda &amp;quot;corta&amp;quot; non funziona perchè il regolatore interno di tensione scalda il connettore metallico... Falsando le misure :(&lt;br /&gt;
&lt;br /&gt;
[[File:sonde.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
--[[Utente:Luca|Luca]] ([[Discussioni utente:Luca|discussioni]]) 00:16, 19 mar 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=541</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=541"/>
		<updated>2013-03-18T23:32:19Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura di casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
Schema connessioni&lt;br /&gt;
&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
#sudo apt-get install ftp &lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io utilizzoo il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use LWP::UserAgent;&lt;br /&gt;
 my $dir = '/opt/dallas';&lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
 my $is_celsius = 1; #set to 1 if using Celsius&lt;br /&gt;
 my $ua = new LWP::UserAgent;&lt;br /&gt;
 $ua-&amp;gt;timeout(120);&lt;br /&gt;
 my $request = new HTTP::Request('GET', $metar_url);&lt;br /&gt;
 my $response = $ua-&amp;gt;request($request);&lt;br /&gt;
 my $metar= $response-&amp;gt;content();&lt;br /&gt;
 $metar =~ /([\s|M])(\d{2})\//g;&lt;br /&gt;
 $outtemp = ($1 eq 'M') ? $2 * -1 : $2; #'M' in a METAR report signifies below 0 temps&lt;br /&gt;
 $outtemp = ($is_celsius) ? $outtemp + 0 : ($outtemp * 9/5) + 32;&lt;br /&gt;
 $modules = `cat /proc/modules`;&lt;br /&gt;
 if ($modules =~ /w1_therm/ &amp;amp;&amp;amp; $modules =~ /w1_gpio/)&lt;br /&gt;
 {&lt;br /&gt;
        #modules installed&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $gpio = `sudo modprobe w1-gpio`;&lt;br /&gt;
        $therm = `sudo modprobe w1-therm`;&lt;br /&gt;
 }&lt;br /&gt;
 $output = &amp;quot;&amp;quot;;&lt;br /&gt;
 $attempts = 0;&lt;br /&gt;
 while ($output !~ /YES/g &amp;amp;&amp;amp; $attempts &amp;lt; 5)&lt;br /&gt;
 {&lt;br /&gt;
        $output = `sudo cat /sys/bus/w1/devices/10-0008027d7cb0/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
        if($output =~ /No such file or directory/)&lt;br /&gt;
        {&lt;br /&gt;
                print &amp;quot;Could not find DS18B20\n&amp;quot;;&lt;br /&gt;
                last;&lt;br /&gt;
        }&lt;br /&gt;
        elsif($output !~ /NO/g)&lt;br /&gt;
        {&lt;br /&gt;
                $output =~ /t=(\d+)/i;&lt;br /&gt;
                $temp = ($is_celsius) ? ($1 / 1000) : ($1 / 1000) * 9/5 + 32;&lt;br /&gt;
                $rrd = `/usr/bin/rrdtool update /$dir/hometemp.rrd N:$temp:$outtemp`;&lt;br /&gt;
        }&lt;br /&gt;
        $attempts++;&lt;br /&gt;
 }&lt;br /&gt;
 $file = '/var/www/temperatura.txt';&lt;br /&gt;
 open(INFO, &amp;quot;&amp;gt;$file&amp;quot;);&lt;br /&gt;
 print INFO &amp;quot;$temp\n&amp;quot;;&lt;br /&gt;
 close(INFO)&lt;br /&gt;
 #print &amp;quot;Outside temp: $outtemp\n&amp;quot;;&lt;br /&gt;
 #print &amp;quot;Inside temp: $temp\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Rendiamo sempre eseguibile il file &lt;br /&gt;
&lt;br /&gt;
chmod +x /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
Andiamo a creare gli utimi 3 file, che però servono solo a traferire i dati su un server web esterno , utilizzando il protocollo ftp, questo script va utilizzato in abbinamento al file /root/.netrc . Nel file .netrc vengono memorizzati i dati di accesso all'aera ftp con la password in chiaro .&lt;br /&gt;
 vi /root/.netrc&lt;br /&gt;
&lt;br /&gt;
 machine NOME.SERVER.FTP&lt;br /&gt;
 login NOME_UTENTE&lt;br /&gt;
 password PASSWORD_FTP_UTENTE&lt;br /&gt;
&lt;br /&gt;
poi il comando chmod 0600 /root/.netrc&lt;br /&gt;
&lt;br /&gt;
File contenente la lista dei file da trasferire &lt;br /&gt;
 vi /opt/dallas/lista&lt;br /&gt;
&lt;br /&gt;
 prompt on&lt;br /&gt;
 binary&lt;br /&gt;
 mput *.png&lt;br /&gt;
&lt;br /&gt;
E infine lo script per iniziare l'upload verso il sito esterno &lt;br /&gt;
 vi /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 cd /opt/dallas&lt;br /&gt;
 ftp NOME.SERVER.FTP &amp;lt; lista&lt;br /&gt;
&lt;br /&gt;
Rendere eseguibile il file con chmod +x /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Ultimo file , va creato in /var/www è il file in php che genera la pagina web, da richiamare &lt;br /&gt;
&lt;br /&gt;
 vi /var/www/temperature.php &lt;br /&gt;
&lt;br /&gt;
Questo file, lo allego in formato pdf temperature.pdf, essendo in formato php/html va in &amp;quot;contrasto&amp;quot; con il sistema wiki &lt;br /&gt;
[[File:temperature.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== COLLAUDO ==&lt;br /&gt;
Ora eseguire nell'ordine i seguenti programmi &lt;br /&gt;
#/opt/dallas/create_db.sh&lt;br /&gt;
#/opt/dallas/get_temp.pl&lt;br /&gt;
#/opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Se tutto OK , inserire nel crontab i 2 script , vedi questo come esempio &lt;br /&gt;
*/5 * * * * /opt/dallas/get_temp.pl&lt;br /&gt;
*/5 * * * * /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
e togliere il #dall'ultima riga di /opt/dallas/create_graphs.sh , per abilitare il trasferimento ftp verso il sito &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WORK IN PROGRESS ==&lt;br /&gt;
Tutto quello che ho scritto e realizzato  , è stato ispirato da varie letture e da questo progetto &lt;br /&gt;
 http://blog.turningdigital.com/2012/09/raspberry-pi-ds18b20-temperature-sensor-rrdtool/&lt;br /&gt;
Manca ancora di tradurre un paio di scritte in Inglese e implementare ulteriori funzioni , tipo:&lt;br /&gt;
#modulo per Nagios&lt;br /&gt;
#allarmi di sovra/sotto temperatura a mezzo email , oppure chiudendo un contatto di un relè &lt;br /&gt;
#Oppure mi viene in mente come modulo di un eventuale controllo temperatura di un appartamento , controllabile da remoto &lt;br /&gt;
&lt;br /&gt;
Qua link al &amp;quot;mio&amp;quot; http://www.ferrarini.info/temperature.php&lt;br /&gt;
&lt;br /&gt;
le temperature negative , anomale per il periodo, erano le lettura di una stazione meterologica USA&lt;br /&gt;
&lt;br /&gt;
ATTENZIONE a dove inserire il jack per il sensore di temperatura.&lt;br /&gt;
se guardate la foto , il &amp;quot;miO&amp;quot; jack stereo da 2,5&amp;quot; è finito proprio sopra il regolatore di tensione ... Io ho costruito 2 sonde una &amp;quot;corta&amp;quot; e una con un cavetto di 2 metri ( vedi foto ) . La sonda &amp;quot;corta&amp;quot; non funziona perchè il regolatore interno di tensione scalda il connettore metallico... Falsando le misure :(&lt;br /&gt;
&lt;br /&gt;
[[File:sonde.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
--[[Utente:Luca|Luca]] ([[Discussioni utente:Luca|discussioni]]) 00:16, 19 mar 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=540</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=540"/>
		<updated>2013-03-18T23:29:49Z</updated>

		<summary type="html">&lt;p&gt;Luca: /* HARDWARE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
Schema connessioni&lt;br /&gt;
&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
#sudo apt-get install ftp &lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io utilizzoo il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use LWP::UserAgent;&lt;br /&gt;
 my $dir = '/opt/dallas';&lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
 my $is_celsius = 1; #set to 1 if using Celsius&lt;br /&gt;
 my $ua = new LWP::UserAgent;&lt;br /&gt;
 $ua-&amp;gt;timeout(120);&lt;br /&gt;
 my $request = new HTTP::Request('GET', $metar_url);&lt;br /&gt;
 my $response = $ua-&amp;gt;request($request);&lt;br /&gt;
 my $metar= $response-&amp;gt;content();&lt;br /&gt;
 $metar =~ /([\s|M])(\d{2})\//g;&lt;br /&gt;
 $outtemp = ($1 eq 'M') ? $2 * -1 : $2; #'M' in a METAR report signifies below 0 temps&lt;br /&gt;
 $outtemp = ($is_celsius) ? $outtemp + 0 : ($outtemp * 9/5) + 32;&lt;br /&gt;
 $modules = `cat /proc/modules`;&lt;br /&gt;
 if ($modules =~ /w1_therm/ &amp;amp;&amp;amp; $modules =~ /w1_gpio/)&lt;br /&gt;
 {&lt;br /&gt;
        #modules installed&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $gpio = `sudo modprobe w1-gpio`;&lt;br /&gt;
        $therm = `sudo modprobe w1-therm`;&lt;br /&gt;
 }&lt;br /&gt;
 $output = &amp;quot;&amp;quot;;&lt;br /&gt;
 $attempts = 0;&lt;br /&gt;
 while ($output !~ /YES/g &amp;amp;&amp;amp; $attempts &amp;lt; 5)&lt;br /&gt;
 {&lt;br /&gt;
        $output = `sudo cat /sys/bus/w1/devices/10-0008027d7cb0/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
        if($output =~ /No such file or directory/)&lt;br /&gt;
        {&lt;br /&gt;
                print &amp;quot;Could not find DS18B20\n&amp;quot;;&lt;br /&gt;
                last;&lt;br /&gt;
        }&lt;br /&gt;
        elsif($output !~ /NO/g)&lt;br /&gt;
        {&lt;br /&gt;
                $output =~ /t=(\d+)/i;&lt;br /&gt;
                $temp = ($is_celsius) ? ($1 / 1000) : ($1 / 1000) * 9/5 + 32;&lt;br /&gt;
                $rrd = `/usr/bin/rrdtool update /$dir/hometemp.rrd N:$temp:$outtemp`;&lt;br /&gt;
        }&lt;br /&gt;
        $attempts++;&lt;br /&gt;
 }&lt;br /&gt;
 $file = '/var/www/temperatura.txt';&lt;br /&gt;
 open(INFO, &amp;quot;&amp;gt;$file&amp;quot;);&lt;br /&gt;
 print INFO &amp;quot;$temp\n&amp;quot;;&lt;br /&gt;
 close(INFO)&lt;br /&gt;
 #print &amp;quot;Outside temp: $outtemp\n&amp;quot;;&lt;br /&gt;
 #print &amp;quot;Inside temp: $temp\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Rendiamo sempre eseguibile il file &lt;br /&gt;
&lt;br /&gt;
chmod +x /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
Andiamo a creare gli utimi 3 file, che però servono solo a traferire i dati su un server web esterno , utilizzando il protocollo ftp, questo script va utilizzato in abbinamento al file /root/.netrc . Nel file .netrc vengono memorizzati i dati di accesso all'aera ftp con la password in chiaro .&lt;br /&gt;
 vi /root/.netrc&lt;br /&gt;
&lt;br /&gt;
 machine NOME.SERVER.FTP&lt;br /&gt;
 login NOME_UTENTE&lt;br /&gt;
 password PASSWORD_FTP_UTENTE&lt;br /&gt;
&lt;br /&gt;
poi il comando chmod 0600 /root/.netrc&lt;br /&gt;
&lt;br /&gt;
File contenente la lista dei file da trasferire &lt;br /&gt;
 vi /opt/dallas/lista&lt;br /&gt;
&lt;br /&gt;
 prompt on&lt;br /&gt;
 binary&lt;br /&gt;
 mput *.png&lt;br /&gt;
&lt;br /&gt;
E infine lo script per iniziare l'upload verso il sito esterno &lt;br /&gt;
 vi /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 cd /opt/dallas&lt;br /&gt;
 ftp NOME.SERVER.FTP &amp;lt; lista&lt;br /&gt;
&lt;br /&gt;
Rendere eseguibile il file con chmod +x /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Ultimo file , va creato in /var/www è il file in php che genera la pagina web, da richiamare &lt;br /&gt;
&lt;br /&gt;
 vi /var/www/temperature.php &lt;br /&gt;
&lt;br /&gt;
Questo file, lo allego in formato pdf temperature.pdf, essendo in formato php/html va in &amp;quot;contrasto&amp;quot; con il sistema wiki &lt;br /&gt;
[[File:temperature.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== COLLAUDO ==&lt;br /&gt;
Ora eseguire nell'ordine i seguenti programmi &lt;br /&gt;
#/opt/dallas/create_db.sh&lt;br /&gt;
#/opt/dallas/get_temp.pl&lt;br /&gt;
#/opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Se tutto OK , inserire nel crontab i 2 script , vedi questo come esempio &lt;br /&gt;
*/5 * * * * /opt/dallas/get_temp.pl&lt;br /&gt;
*/5 * * * * /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
e togliere il #dall'ultima riga di /opt/dallas/create_graphs.sh , per abilitare il trasferimento ftp verso il sito &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WORK IN PROGRESS ==&lt;br /&gt;
Tutto quello che ho scritto e realizzato  , è stato ispirato da varie letture e da questo progetto &lt;br /&gt;
 http://blog.turningdigital.com/2012/09/raspberry-pi-ds18b20-temperature-sensor-rrdtool/&lt;br /&gt;
Manca ancora di tradurre un paio di scritte in Inglese e implementare ulteriori funzioni , tipo:&lt;br /&gt;
#modulo per Nagios&lt;br /&gt;
#allarmi di sovra/sotto temperatura a mezzo email , oppure chiudendo un contatto di un relè &lt;br /&gt;
#Oppure mi viene in mente come modulo di un eventuale controllo temperatura di un appartamento , controllabile da remoto &lt;br /&gt;
&lt;br /&gt;
Qua link al &amp;quot;mio&amp;quot; http://www.ferrarini.info/temperature.php&lt;br /&gt;
&lt;br /&gt;
le temperature negative , anomale per il periodo, erano le lettura di una stazione meterologica USA&lt;br /&gt;
&lt;br /&gt;
ATTENZIONE a dove inserire il jack per il sensore di temperatura.&lt;br /&gt;
se guardate la foto , il &amp;quot;miO&amp;quot; jack stereo da 2,5&amp;quot; è finito proprio sopra il regolatore di tensione ... Io ho costruito 2 sonde una &amp;quot;corta&amp;quot; e una con un cavetto di 2 metri ( vedi foto ) . La sonda &amp;quot;corta&amp;quot; non funziona perchè il regolatore interno di tensione scalda il connettore metallico... Falsando le misure :(&lt;br /&gt;
&lt;br /&gt;
[[File:sonde.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
--[[Utente:Luca|Luca]] ([[Discussioni utente:Luca|discussioni]]) 00:16, 19 mar 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Utente:Luca&amp;diff=539</id>
		<title>Utente:Luca</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Utente:Luca&amp;diff=539"/>
		<updated>2013-03-18T23:26:54Z</updated>

		<summary type="html">&lt;p&gt;Luca: Creata pagina con ' == Luca =='&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Luca ==&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=538</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=538"/>
		<updated>2013-03-18T23:16:57Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
#sudo apt-get install ftp &lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io utilizzoo il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use LWP::UserAgent;&lt;br /&gt;
 my $dir = '/opt/dallas';&lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
 my $is_celsius = 1; #set to 1 if using Celsius&lt;br /&gt;
 my $ua = new LWP::UserAgent;&lt;br /&gt;
 $ua-&amp;gt;timeout(120);&lt;br /&gt;
 my $request = new HTTP::Request('GET', $metar_url);&lt;br /&gt;
 my $response = $ua-&amp;gt;request($request);&lt;br /&gt;
 my $metar= $response-&amp;gt;content();&lt;br /&gt;
 $metar =~ /([\s|M])(\d{2})\//g;&lt;br /&gt;
 $outtemp = ($1 eq 'M') ? $2 * -1 : $2; #'M' in a METAR report signifies below 0 temps&lt;br /&gt;
 $outtemp = ($is_celsius) ? $outtemp + 0 : ($outtemp * 9/5) + 32;&lt;br /&gt;
 $modules = `cat /proc/modules`;&lt;br /&gt;
 if ($modules =~ /w1_therm/ &amp;amp;&amp;amp; $modules =~ /w1_gpio/)&lt;br /&gt;
 {&lt;br /&gt;
        #modules installed&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $gpio = `sudo modprobe w1-gpio`;&lt;br /&gt;
        $therm = `sudo modprobe w1-therm`;&lt;br /&gt;
 }&lt;br /&gt;
 $output = &amp;quot;&amp;quot;;&lt;br /&gt;
 $attempts = 0;&lt;br /&gt;
 while ($output !~ /YES/g &amp;amp;&amp;amp; $attempts &amp;lt; 5)&lt;br /&gt;
 {&lt;br /&gt;
        $output = `sudo cat /sys/bus/w1/devices/10-0008027d7cb0/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
        if($output =~ /No such file or directory/)&lt;br /&gt;
        {&lt;br /&gt;
                print &amp;quot;Could not find DS18B20\n&amp;quot;;&lt;br /&gt;
                last;&lt;br /&gt;
        }&lt;br /&gt;
        elsif($output !~ /NO/g)&lt;br /&gt;
        {&lt;br /&gt;
                $output =~ /t=(\d+)/i;&lt;br /&gt;
                $temp = ($is_celsius) ? ($1 / 1000) : ($1 / 1000) * 9/5 + 32;&lt;br /&gt;
                $rrd = `/usr/bin/rrdtool update /$dir/hometemp.rrd N:$temp:$outtemp`;&lt;br /&gt;
        }&lt;br /&gt;
        $attempts++;&lt;br /&gt;
 }&lt;br /&gt;
 $file = '/var/www/temperatura.txt';&lt;br /&gt;
 open(INFO, &amp;quot;&amp;gt;$file&amp;quot;);&lt;br /&gt;
 print INFO &amp;quot;$temp\n&amp;quot;;&lt;br /&gt;
 close(INFO)&lt;br /&gt;
 #print &amp;quot;Outside temp: $outtemp\n&amp;quot;;&lt;br /&gt;
 #print &amp;quot;Inside temp: $temp\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Rendiamo sempre eseguibile il file &lt;br /&gt;
&lt;br /&gt;
chmod +x /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
Andiamo a creare gli utimi 3 file, che però servono solo a traferire i dati su un server web esterno , utilizzando il protocollo ftp, questo script va utilizzato in abbinamento al file /root/.netrc . Nel file .netrc vengono memorizzati i dati di accesso all'aera ftp con la password in chiaro .&lt;br /&gt;
 vi /root/.netrc&lt;br /&gt;
&lt;br /&gt;
 machine NOME.SERVER.FTP&lt;br /&gt;
 login NOME_UTENTE&lt;br /&gt;
 password PASSWORD_FTP_UTENTE&lt;br /&gt;
&lt;br /&gt;
poi il comando chmod 0600 /root/.netrc&lt;br /&gt;
&lt;br /&gt;
File contenente la lista dei file da trasferire &lt;br /&gt;
 vi /opt/dallas/lista&lt;br /&gt;
&lt;br /&gt;
 prompt on&lt;br /&gt;
 binary&lt;br /&gt;
 mput *.png&lt;br /&gt;
&lt;br /&gt;
E infine lo script per iniziare l'upload verso il sito esterno &lt;br /&gt;
 vi /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 cd /opt/dallas&lt;br /&gt;
 ftp NOME.SERVER.FTP &amp;lt; lista&lt;br /&gt;
&lt;br /&gt;
Rendere eseguibile il file con chmod +x /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Ultimo file , va creato in /var/www è il file in php che genera la pagina web, da richiamare &lt;br /&gt;
&lt;br /&gt;
 vi /var/www/temperature.php &lt;br /&gt;
&lt;br /&gt;
Questo file, lo allego in formato pdf temperature.pdf, essendo in formato php/html va in &amp;quot;contrasto&amp;quot; con il sistema wiki &lt;br /&gt;
[[File:temperature.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== COLLAUDO ==&lt;br /&gt;
Ora eseguire nell'ordine i seguenti programmi &lt;br /&gt;
#/opt/dallas/create_db.sh&lt;br /&gt;
#/opt/dallas/get_temp.pl&lt;br /&gt;
#/opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Se tutto OK , inserire nel crontab i 2 script , vedi questo come esempio &lt;br /&gt;
*/5 * * * * /opt/dallas/get_temp.pl&lt;br /&gt;
*/5 * * * * /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
e togliere il #dall'ultima riga di /opt/dallas/create_graphs.sh , per abilitare il trasferimento ftp verso il sito &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WORK IN PROGRESS ==&lt;br /&gt;
Tutto quello che ho scritto e realizzato  , è stato ispirato da varie letture e da questo progetto &lt;br /&gt;
 http://blog.turningdigital.com/2012/09/raspberry-pi-ds18b20-temperature-sensor-rrdtool/&lt;br /&gt;
Manca ancora di tradurre un paio di scritte in Inglese e implementare ulteriori funzioni , tipo:&lt;br /&gt;
#modulo per Nagios&lt;br /&gt;
#allarmi di sovra/sotto temperatura a mezzo email , oppure chiudendo un contatto di un relè &lt;br /&gt;
#Oppure mi viene in mente come modulo di un eventuale controllo temperatura di un appartamento , controllabile da remoto &lt;br /&gt;
&lt;br /&gt;
Qua link al &amp;quot;mio&amp;quot; http://www.ferrarini.info/temperature.php&lt;br /&gt;
&lt;br /&gt;
le temperature negative , anomale per il periodo, erano le lettura di una stazione meterologica USA&lt;br /&gt;
&lt;br /&gt;
ATTENZIONE a dove inserire il jack per il sensore di temperatura.&lt;br /&gt;
se guardate la foto , il &amp;quot;miO&amp;quot; jack stereo da 2,5&amp;quot; è finito proprio sopra il regolatore di tensione ... Io ho costruito 2 sonde una &amp;quot;corta&amp;quot; e una con un cavetto di 2 metri ( vedi foto ) . La sonda &amp;quot;corta&amp;quot; non funziona perchè il regolatore interno di tensione scalda il connettore metallico... Falsando le misure :(&lt;br /&gt;
&lt;br /&gt;
[[File:sonde.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
--[[Utente:Luca|Luca]] ([[Discussioni utente:Luca|discussioni]]) 00:16, 19 mar 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=537</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=537"/>
		<updated>2013-03-18T23:13:58Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
#sudo apt-get install ftp &lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io utilizzoo il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use LWP::UserAgent;&lt;br /&gt;
 my $dir = '/opt/dallas';&lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
 my $is_celsius = 1; #set to 1 if using Celsius&lt;br /&gt;
 my $ua = new LWP::UserAgent;&lt;br /&gt;
 $ua-&amp;gt;timeout(120);&lt;br /&gt;
 my $request = new HTTP::Request('GET', $metar_url);&lt;br /&gt;
 my $response = $ua-&amp;gt;request($request);&lt;br /&gt;
 my $metar= $response-&amp;gt;content();&lt;br /&gt;
 $metar =~ /([\s|M])(\d{2})\//g;&lt;br /&gt;
 $outtemp = ($1 eq 'M') ? $2 * -1 : $2; #'M' in a METAR report signifies below 0 temps&lt;br /&gt;
 $outtemp = ($is_celsius) ? $outtemp + 0 : ($outtemp * 9/5) + 32;&lt;br /&gt;
 $modules = `cat /proc/modules`;&lt;br /&gt;
 if ($modules =~ /w1_therm/ &amp;amp;&amp;amp; $modules =~ /w1_gpio/)&lt;br /&gt;
 {&lt;br /&gt;
        #modules installed&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $gpio = `sudo modprobe w1-gpio`;&lt;br /&gt;
        $therm = `sudo modprobe w1-therm`;&lt;br /&gt;
 }&lt;br /&gt;
 $output = &amp;quot;&amp;quot;;&lt;br /&gt;
 $attempts = 0;&lt;br /&gt;
 while ($output !~ /YES/g &amp;amp;&amp;amp; $attempts &amp;lt; 5)&lt;br /&gt;
 {&lt;br /&gt;
        $output = `sudo cat /sys/bus/w1/devices/10-0008027d7cb0/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
        if($output =~ /No such file or directory/)&lt;br /&gt;
        {&lt;br /&gt;
                print &amp;quot;Could not find DS18B20\n&amp;quot;;&lt;br /&gt;
                last;&lt;br /&gt;
        }&lt;br /&gt;
        elsif($output !~ /NO/g)&lt;br /&gt;
        {&lt;br /&gt;
                $output =~ /t=(\d+)/i;&lt;br /&gt;
                $temp = ($is_celsius) ? ($1 / 1000) : ($1 / 1000) * 9/5 + 32;&lt;br /&gt;
                $rrd = `/usr/bin/rrdtool update /$dir/hometemp.rrd N:$temp:$outtemp`;&lt;br /&gt;
        }&lt;br /&gt;
        $attempts++;&lt;br /&gt;
 }&lt;br /&gt;
 $file = '/var/www/temperatura.txt';&lt;br /&gt;
 open(INFO, &amp;quot;&amp;gt;$file&amp;quot;);&lt;br /&gt;
 print INFO &amp;quot;$temp\n&amp;quot;;&lt;br /&gt;
 close(INFO)&lt;br /&gt;
 #print &amp;quot;Outside temp: $outtemp\n&amp;quot;;&lt;br /&gt;
 #print &amp;quot;Inside temp: $temp\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Rendiamo sempre eseguibile il file &lt;br /&gt;
&lt;br /&gt;
chmod +x /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
Andiamo a creare gli utimi 3 file, che però servono solo a traferire i dati su un server web esterno , utilizzando il protocollo ftp, questo script va utilizzato in abbinamento al file /root/.netrc . Nel file .netrc vengono memorizzati i dati di accesso all'aera ftp con la password in chiaro .&lt;br /&gt;
 vi /root/.netrc&lt;br /&gt;
&lt;br /&gt;
 machine NOME.SERVER.FTP&lt;br /&gt;
 login NOME_UTENTE&lt;br /&gt;
 password PASSWORD_FTP_UTENTE&lt;br /&gt;
&lt;br /&gt;
poi il comando chmod 0600 /root/.netrc&lt;br /&gt;
&lt;br /&gt;
File contenente la lista dei file da trasferire &lt;br /&gt;
 vi /opt/dallas/lista&lt;br /&gt;
&lt;br /&gt;
 prompt on&lt;br /&gt;
 binary&lt;br /&gt;
 mput *.png&lt;br /&gt;
&lt;br /&gt;
E infine lo script per iniziare l'upload verso il sito esterno &lt;br /&gt;
 vi /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 cd /opt/dallas&lt;br /&gt;
 ftp NOME.SERVER.FTP &amp;lt; lista&lt;br /&gt;
&lt;br /&gt;
Rendere eseguibile il file con chmod +x /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Ultimo file , va creato in /var/www è il file in php che genera la pagina web, da richiamare &lt;br /&gt;
&lt;br /&gt;
 vi /var/www/temperature.php &lt;br /&gt;
&lt;br /&gt;
Questo file, lo allego in formato pdf temperature.pdf, essendo in formato php/html va in &amp;quot;contrasto&amp;quot; con il sistema wiki &lt;br /&gt;
[[File:temperature.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== COLLAUDO ==&lt;br /&gt;
Ora eseguire nell'ordine i seguenti programmi &lt;br /&gt;
#/opt/dallas/create_db.sh&lt;br /&gt;
#/opt/dallas/get_temp.pl&lt;br /&gt;
#/opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Se tutto OK , inserire nel crontab i 2 script , vedi questo come esempio &lt;br /&gt;
*/5 * * * * /opt/dallas/get_temp.pl&lt;br /&gt;
*/5 * * * * /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
e togliere il #dall'ultima riga di /opt/dallas/create_graphs.sh , per abilitare il trasferimento ftp verso il sito &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WORK IN PROGRESS ==&lt;br /&gt;
Tutto quello che ho scritto e realizzato  , è stato ispirato da varie letture e da questo progetto &lt;br /&gt;
 http://blog.turningdigital.com/2012/09/raspberry-pi-ds18b20-temperature-sensor-rrdtool/&lt;br /&gt;
Manca ancora di tradurre un paio di scritte in Inglese e implementare ulteriori funzioni , tipo:&lt;br /&gt;
#modulo per Nagios&lt;br /&gt;
#allarmi di sovra/sotto temperatura a mezzo email , oppure chiudendo un contatto di un relè &lt;br /&gt;
#Oppure mi viene in mente come modulo di un eventuale controllo temperatura di un appartamento , controllabile da remoto &lt;br /&gt;
&lt;br /&gt;
Qua link al &amp;quot;mio&amp;quot; http://www.ferrarini.info/temperature.php&lt;br /&gt;
&lt;br /&gt;
le temperature negative , anomale per il periodo, erano le lettura di una stazione meterologica USA&lt;br /&gt;
&lt;br /&gt;
ATTENZIONE a dove inserire il jack per il sensore di temperatura.&lt;br /&gt;
se guardate la foto , il &amp;quot;miO&amp;quot; jack stereo da 2,5&amp;quot; è finito proprio sopra il regolatore di tensione ... Io ho costruito 2 sonde una &amp;quot;corta&amp;quot; e una con un cavetto di 2 metri ( vedi foto ) . La sonda &amp;quot;corta&amp;quot; non funziona perchè il regolatore interno di tensione scalda il connettore metallico...&lt;br /&gt;
&lt;br /&gt;
[[File:sonde.jpg|300px]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=536</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=536"/>
		<updated>2013-03-18T23:11:41Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
#sudo apt-get install ftp &lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io utilizzoo il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use LWP::UserAgent;&lt;br /&gt;
 my $dir = '/opt/dallas';&lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
 my $is_celsius = 1; #set to 1 if using Celsius&lt;br /&gt;
 my $ua = new LWP::UserAgent;&lt;br /&gt;
 $ua-&amp;gt;timeout(120);&lt;br /&gt;
 my $request = new HTTP::Request('GET', $metar_url);&lt;br /&gt;
 my $response = $ua-&amp;gt;request($request);&lt;br /&gt;
 my $metar= $response-&amp;gt;content();&lt;br /&gt;
 $metar =~ /([\s|M])(\d{2})\//g;&lt;br /&gt;
 $outtemp = ($1 eq 'M') ? $2 * -1 : $2; #'M' in a METAR report signifies below 0 temps&lt;br /&gt;
 $outtemp = ($is_celsius) ? $outtemp + 0 : ($outtemp * 9/5) + 32;&lt;br /&gt;
 $modules = `cat /proc/modules`;&lt;br /&gt;
 if ($modules =~ /w1_therm/ &amp;amp;&amp;amp; $modules =~ /w1_gpio/)&lt;br /&gt;
 {&lt;br /&gt;
        #modules installed&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $gpio = `sudo modprobe w1-gpio`;&lt;br /&gt;
        $therm = `sudo modprobe w1-therm`;&lt;br /&gt;
 }&lt;br /&gt;
 $output = &amp;quot;&amp;quot;;&lt;br /&gt;
 $attempts = 0;&lt;br /&gt;
 while ($output !~ /YES/g &amp;amp;&amp;amp; $attempts &amp;lt; 5)&lt;br /&gt;
 {&lt;br /&gt;
        $output = `sudo cat /sys/bus/w1/devices/10-0008027d7cb0/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
        if($output =~ /No such file or directory/)&lt;br /&gt;
        {&lt;br /&gt;
                print &amp;quot;Could not find DS18B20\n&amp;quot;;&lt;br /&gt;
                last;&lt;br /&gt;
        }&lt;br /&gt;
        elsif($output !~ /NO/g)&lt;br /&gt;
        {&lt;br /&gt;
                $output =~ /t=(\d+)/i;&lt;br /&gt;
                $temp = ($is_celsius) ? ($1 / 1000) : ($1 / 1000) * 9/5 + 32;&lt;br /&gt;
                $rrd = `/usr/bin/rrdtool update /$dir/hometemp.rrd N:$temp:$outtemp`;&lt;br /&gt;
        }&lt;br /&gt;
        $attempts++;&lt;br /&gt;
 }&lt;br /&gt;
 $file = '/var/www/temperatura.txt';&lt;br /&gt;
 open(INFO, &amp;quot;&amp;gt;$file&amp;quot;);&lt;br /&gt;
 print INFO &amp;quot;$temp\n&amp;quot;;&lt;br /&gt;
 close(INFO)&lt;br /&gt;
 #print &amp;quot;Outside temp: $outtemp\n&amp;quot;;&lt;br /&gt;
 #print &amp;quot;Inside temp: $temp\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Rendiamo sempre eseguibile il file &lt;br /&gt;
&lt;br /&gt;
chmod +x /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
Andiamo a creare gli utimi 3 file, che però servono solo a traferire i dati su un server web esterno , utilizzando il protocollo ftp, questo script va utilizzato in abbinamento al file /root/.netrc . Nel file .netrc vengono memorizzati i dati di accesso all'aera ftp con la password in chiaro .&lt;br /&gt;
 vi /root/.netrc&lt;br /&gt;
&lt;br /&gt;
 machine NOME.SERVER.FTP&lt;br /&gt;
 login NOME_UTENTE&lt;br /&gt;
 password PASSWORD_FTP_UTENTE&lt;br /&gt;
&lt;br /&gt;
poi il comando chmod 0600 /root/.netrc&lt;br /&gt;
&lt;br /&gt;
File contenente la lista dei file da trasferire &lt;br /&gt;
 vi /opt/dallas/lista&lt;br /&gt;
&lt;br /&gt;
 prompt on&lt;br /&gt;
 binary&lt;br /&gt;
 mput *.png&lt;br /&gt;
&lt;br /&gt;
E infine lo script per iniziare l'upload verso il sito esterno &lt;br /&gt;
 vi /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 cd /opt/dallas&lt;br /&gt;
 ftp NOME.SERVER.FTP &amp;lt; lista&lt;br /&gt;
&lt;br /&gt;
Rendere eseguibile il file con chmod +x /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Ultimo file , va creato in /var/www è il file in php che genera la pagina web, da richiamare &lt;br /&gt;
&lt;br /&gt;
 vi /var/www/temperature.php &lt;br /&gt;
&lt;br /&gt;
Questo file, lo allego in formato pdf temperature.pdf, essendo in formato php/html va in &amp;quot;contrasto&amp;quot; con il sistema wiki &lt;br /&gt;
[[File:temperature.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== COLLAUDO ==&lt;br /&gt;
Ora eseguire nell'ordine i seguenti programmi &lt;br /&gt;
#/opt/dallas/create_db.sh&lt;br /&gt;
#/opt/dallas/get_temp.pl&lt;br /&gt;
#/opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Se tutto OK , inserire nel crontab i 2 script , vedi questo come esempio &lt;br /&gt;
*/5 * * * * /opt/dallas/get_temp.pl&lt;br /&gt;
*/5 * * * * /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
e togliere il #dall'ultima riga di /opt/dallas/create_graphs.sh , per abilitare il trasferimento ftp verso il sito &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WORK IN PROGRESS ==&lt;br /&gt;
Tutto questo progetto , è stato ispirato da varie letture e da questo progetto &lt;br /&gt;
 http://blog.turningdigital.com/2012/09/raspberry-pi-ds18b20-temperature-sensor-rrdtool/&lt;br /&gt;
Manca ancora di tradurre un paio di scritte in Inglese e implementare ulteriori funzioni , tipo:&lt;br /&gt;
#modulo per Nagios&lt;br /&gt;
#allarmi di sovra/sotto temperatura a mezzo email , oppure chiudendo un contatto di un relè &lt;br /&gt;
#Oppure mi viene in mente come modulo di un eventuale controllo temperatura di un appartamento , controllabile da remoto &lt;br /&gt;
&lt;br /&gt;
Qua link al &amp;quot;mio&amp;quot; http://www.ferrarini.info/temperature.php&lt;br /&gt;
&lt;br /&gt;
le temperature negative , anomale per il periodo, erano le lettura di una stazione meterologica USA&lt;br /&gt;
&lt;br /&gt;
ATTENZIONE a dove inserire il jack per il sensore di temperatura.&lt;br /&gt;
se guardate la foto , il &amp;quot;miO&amp;quot; jack stereo da 2,5&amp;quot; è finito proprio sopra il regolatore di tensione ... Io ho costruito 2 sonde una &amp;quot;corta&amp;quot; e una con un cavetto di 2 metri ( vedi foto ) . La sonda &amp;quot;corta&amp;quot; non funziona perchè il regolatore interno di tensione scalda il connettore metallico...&lt;br /&gt;
&lt;br /&gt;
[[File:sonde.jpg|300px]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=535</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=535"/>
		<updated>2013-03-18T23:11:02Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
#sudo apt-get install ftp &lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io utilizzoo il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use LWP::UserAgent;&lt;br /&gt;
 my $dir = '/opt/dallas';&lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
 my $is_celsius = 1; #set to 1 if using Celsius&lt;br /&gt;
 my $ua = new LWP::UserAgent;&lt;br /&gt;
 $ua-&amp;gt;timeout(120);&lt;br /&gt;
 my $request = new HTTP::Request('GET', $metar_url);&lt;br /&gt;
 my $response = $ua-&amp;gt;request($request);&lt;br /&gt;
 my $metar= $response-&amp;gt;content();&lt;br /&gt;
 $metar =~ /([\s|M])(\d{2})\//g;&lt;br /&gt;
 $outtemp = ($1 eq 'M') ? $2 * -1 : $2; #'M' in a METAR report signifies below 0 temps&lt;br /&gt;
 $outtemp = ($is_celsius) ? $outtemp + 0 : ($outtemp * 9/5) + 32;&lt;br /&gt;
 $modules = `cat /proc/modules`;&lt;br /&gt;
 if ($modules =~ /w1_therm/ &amp;amp;&amp;amp; $modules =~ /w1_gpio/)&lt;br /&gt;
 {&lt;br /&gt;
        #modules installed&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $gpio = `sudo modprobe w1-gpio`;&lt;br /&gt;
        $therm = `sudo modprobe w1-therm`;&lt;br /&gt;
 }&lt;br /&gt;
 $output = &amp;quot;&amp;quot;;&lt;br /&gt;
 $attempts = 0;&lt;br /&gt;
 while ($output !~ /YES/g &amp;amp;&amp;amp; $attempts &amp;lt; 5)&lt;br /&gt;
 {&lt;br /&gt;
        $output = `sudo cat /sys/bus/w1/devices/10-0008027d7cb0/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
        if($output =~ /No such file or directory/)&lt;br /&gt;
        {&lt;br /&gt;
                print &amp;quot;Could not find DS18B20\n&amp;quot;;&lt;br /&gt;
                last;&lt;br /&gt;
        }&lt;br /&gt;
        elsif($output !~ /NO/g)&lt;br /&gt;
        {&lt;br /&gt;
                $output =~ /t=(\d+)/i;&lt;br /&gt;
                $temp = ($is_celsius) ? ($1 / 1000) : ($1 / 1000) * 9/5 + 32;&lt;br /&gt;
                $rrd = `/usr/bin/rrdtool update /$dir/hometemp.rrd N:$temp:$outtemp`;&lt;br /&gt;
        }&lt;br /&gt;
        $attempts++;&lt;br /&gt;
 }&lt;br /&gt;
 $file = '/var/www/temperatura.txt';&lt;br /&gt;
 open(INFO, &amp;quot;&amp;gt;$file&amp;quot;);&lt;br /&gt;
 print INFO &amp;quot;$temp\n&amp;quot;;&lt;br /&gt;
 close(INFO)&lt;br /&gt;
 #print &amp;quot;Outside temp: $outtemp\n&amp;quot;;&lt;br /&gt;
 #print &amp;quot;Inside temp: $temp\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Rendiamo sempre eseguibile il file &lt;br /&gt;
&lt;br /&gt;
chmod +x /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
Andiamo a creare gli utimi 3 file, che però servono solo a traferire i dati su un server web esterno , utilizzando il protocollo ftp, questo script va utilizzato in abbinamento al file /root/.netrc . Nel file .netrc vengono memorizzati i dati di accesso all'aera ftp con la password in chiaro .&lt;br /&gt;
 vi /root/.netrc&lt;br /&gt;
&lt;br /&gt;
 machine NOME.SERVER.FTP&lt;br /&gt;
 login NOME_UTENTE&lt;br /&gt;
 password PASSWORD_FTP_UTENTE&lt;br /&gt;
&lt;br /&gt;
poi il comando chmod 0600 /root/.netrc&lt;br /&gt;
&lt;br /&gt;
File contenente la lista dei file da trasferire &lt;br /&gt;
 vi /opt/dallas/lista&lt;br /&gt;
&lt;br /&gt;
 prompt on&lt;br /&gt;
 binary&lt;br /&gt;
 mput *.png&lt;br /&gt;
&lt;br /&gt;
E infine lo script per iniziare l'upload verso il sito esterno &lt;br /&gt;
 vi /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 cd /opt/dallas&lt;br /&gt;
 ftp NOME.SERVER.FTP &amp;lt; lista&lt;br /&gt;
&lt;br /&gt;
Rendere eseguibile il file con chmod +x /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Ultimo file , va creato in /var/www è il file in php che genera la pagina web, da richiamare &lt;br /&gt;
&lt;br /&gt;
 vi /var/www/temperature.php &lt;br /&gt;
&lt;br /&gt;
Questo file, lo allego in formato pdf temperature.pdf, essendo in formato php/html va in &amp;quot;contrasto&amp;quot; con il sistema wiki &lt;br /&gt;
[[File:temperature.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== COLLAUDO ==&lt;br /&gt;
Ora eseguire nell'ordine i seguenti programmi &lt;br /&gt;
#/opt/dallas/create_db.sh&lt;br /&gt;
#/opt/dallas/get_temp.pl&lt;br /&gt;
#/opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Se tutto OK , inserire nel crontab i 2 script , vedi questo come esempio &lt;br /&gt;
*/5 * * * * /opt/dallas/get_temp.pl&lt;br /&gt;
*/5 * * * * /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
e togliere il #dall'ultima riga di /opt/dallas/create_graphs.sh , per abilitare il trasferimento ftp verso il sito &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WORK IN PROGRESS ==&lt;br /&gt;
Tutto questo progetto , è stato ispirato da varie letture e da questo progetto &lt;br /&gt;
 http://blog.turningdigital.com/2012/09/raspberry-pi-ds18b20-temperature-sensor-rrdtool/&lt;br /&gt;
Manca ancora di tradurre un paio di scritte in Inglese e implementare ulteriori funzioni , tipo:&lt;br /&gt;
#modulo per Nagios&lt;br /&gt;
#allarmi di sovra/sotto temperatura a mezzo email , oppure chiudendo un contatto di un relè &lt;br /&gt;
#Oppure mi viene in mente come modulo di un eventuale controllo temperatura di un appartamento , controllabile da remoto &lt;br /&gt;
&lt;br /&gt;
Qua link al &amp;quot;mio&amp;quot; http://www.ferrarini.info/temperature.php&lt;br /&gt;
&lt;br /&gt;
le temperature negative , anomale per il periodo, erano le lettura di una stazione meterologica USA&lt;br /&gt;
&lt;br /&gt;
ATTENZIONE a dove inserire il jack per il sensore di temperatura.&lt;br /&gt;
se guardate la foto , il &amp;quot;miO&amp;quot; jack stereo da 2,5&amp;quot; è finito proprio sopra il regolatore di tensione ... Io ho costruito 2 sonde una &amp;quot;corta&amp;quot; e una con un cavetto di 2 metri ( vedi foto ) . La sonda &amp;quot;corta&amp;quot; non funziona perchè il regolatore interno di tensione scalda il connettore metallico...&lt;br /&gt;
[[File:sonde.jpg|300px]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=534</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=534"/>
		<updated>2013-03-18T22:54:16Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io utilizzoo il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use LWP::UserAgent;&lt;br /&gt;
 my $dir = '/opt/dallas';&lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
 my $is_celsius = 1; #set to 1 if using Celsius&lt;br /&gt;
 my $ua = new LWP::UserAgent;&lt;br /&gt;
 $ua-&amp;gt;timeout(120);&lt;br /&gt;
 my $request = new HTTP::Request('GET', $metar_url);&lt;br /&gt;
 my $response = $ua-&amp;gt;request($request);&lt;br /&gt;
 my $metar= $response-&amp;gt;content();&lt;br /&gt;
 $metar =~ /([\s|M])(\d{2})\//g;&lt;br /&gt;
 $outtemp = ($1 eq 'M') ? $2 * -1 : $2; #'M' in a METAR report signifies below 0 temps&lt;br /&gt;
 $outtemp = ($is_celsius) ? $outtemp + 0 : ($outtemp * 9/5) + 32;&lt;br /&gt;
 $modules = `cat /proc/modules`;&lt;br /&gt;
 if ($modules =~ /w1_therm/ &amp;amp;&amp;amp; $modules =~ /w1_gpio/)&lt;br /&gt;
 {&lt;br /&gt;
        #modules installed&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $gpio = `sudo modprobe w1-gpio`;&lt;br /&gt;
        $therm = `sudo modprobe w1-therm`;&lt;br /&gt;
 }&lt;br /&gt;
 $output = &amp;quot;&amp;quot;;&lt;br /&gt;
 $attempts = 0;&lt;br /&gt;
 while ($output !~ /YES/g &amp;amp;&amp;amp; $attempts &amp;lt; 5)&lt;br /&gt;
 {&lt;br /&gt;
        $output = `sudo cat /sys/bus/w1/devices/10-0008027d7cb0/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
        if($output =~ /No such file or directory/)&lt;br /&gt;
        {&lt;br /&gt;
                print &amp;quot;Could not find DS18B20\n&amp;quot;;&lt;br /&gt;
                last;&lt;br /&gt;
        }&lt;br /&gt;
        elsif($output !~ /NO/g)&lt;br /&gt;
        {&lt;br /&gt;
                $output =~ /t=(\d+)/i;&lt;br /&gt;
                $temp = ($is_celsius) ? ($1 / 1000) : ($1 / 1000) * 9/5 + 32;&lt;br /&gt;
                $rrd = `/usr/bin/rrdtool update /$dir/hometemp.rrd N:$temp:$outtemp`;&lt;br /&gt;
        }&lt;br /&gt;
        $attempts++;&lt;br /&gt;
 }&lt;br /&gt;
 $file = '/var/www/temperatura.txt';&lt;br /&gt;
 open(INFO, &amp;quot;&amp;gt;$file&amp;quot;);&lt;br /&gt;
 print INFO &amp;quot;$temp\n&amp;quot;;&lt;br /&gt;
 close(INFO)&lt;br /&gt;
 #print &amp;quot;Outside temp: $outtemp\n&amp;quot;;&lt;br /&gt;
 #print &amp;quot;Inside temp: $temp\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Rendiamo sempre eseguibile il file &lt;br /&gt;
&lt;br /&gt;
chmod +x /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
Andiamo a creare gli utimi 3 file, che però servono solo a traferire i dati su un server web esterno , utilizzando il protocollo ftp, questo script va utilizzato in abbinamento al file /root/.netrc . Nel file .netrc vengono memorizzati i dati di accesso all'aera ftp con la password in chiaro .&lt;br /&gt;
 vi /root/.netrc&lt;br /&gt;
&lt;br /&gt;
 machine NOME.SERVER.FTP&lt;br /&gt;
 login NOME_UTENTE&lt;br /&gt;
 password PASSWORD_FTP_UTENTE&lt;br /&gt;
&lt;br /&gt;
poi il comando chmod 0600 /root/.netrc&lt;br /&gt;
&lt;br /&gt;
File contenente la lista dei file da trasferire &lt;br /&gt;
 vi /opt/dallas/lista&lt;br /&gt;
&lt;br /&gt;
 prompt on&lt;br /&gt;
 binary&lt;br /&gt;
 mput *.png&lt;br /&gt;
&lt;br /&gt;
E infine lo script per iniziare l'upload verso il sito esterno &lt;br /&gt;
 vi /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 cd /opt/dallas&lt;br /&gt;
 ftp NOME.SERVER.FTP &amp;lt; lista&lt;br /&gt;
&lt;br /&gt;
Rendere eseguibile il file con chmod +x /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Ultimo file , va creato in /var/www è il file in php che genera la pagina web, da richiamare &lt;br /&gt;
&lt;br /&gt;
 vi /var/www/temperature.php &lt;br /&gt;
&lt;br /&gt;
Questo file, lo allego in formato pdf temperature.pdf, essendo in formato php/html va in &amp;quot;contrasto&amp;quot; con il sistema wiki &lt;br /&gt;
[[File:temperature.pdf]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=File:Temperature.pdf&amp;diff=533</id>
		<title>File:Temperature.pdf</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=File:Temperature.pdf&amp;diff=533"/>
		<updated>2013-03-18T22:52:08Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=532</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=532"/>
		<updated>2013-03-18T22:47:16Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io utilizzoo il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use LWP::UserAgent;&lt;br /&gt;
 my $dir = '/opt/dallas';&lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
 my $is_celsius = 1; #set to 1 if using Celsius&lt;br /&gt;
 my $ua = new LWP::UserAgent;&lt;br /&gt;
 $ua-&amp;gt;timeout(120);&lt;br /&gt;
 my $request = new HTTP::Request('GET', $metar_url);&lt;br /&gt;
 my $response = $ua-&amp;gt;request($request);&lt;br /&gt;
 my $metar= $response-&amp;gt;content();&lt;br /&gt;
 $metar =~ /([\s|M])(\d{2})\//g;&lt;br /&gt;
 $outtemp = ($1 eq 'M') ? $2 * -1 : $2; #'M' in a METAR report signifies below 0 temps&lt;br /&gt;
 $outtemp = ($is_celsius) ? $outtemp + 0 : ($outtemp * 9/5) + 32;&lt;br /&gt;
 $modules = `cat /proc/modules`;&lt;br /&gt;
 if ($modules =~ /w1_therm/ &amp;amp;&amp;amp; $modules =~ /w1_gpio/)&lt;br /&gt;
 {&lt;br /&gt;
        #modules installed&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $gpio = `sudo modprobe w1-gpio`;&lt;br /&gt;
        $therm = `sudo modprobe w1-therm`;&lt;br /&gt;
 }&lt;br /&gt;
 $output = &amp;quot;&amp;quot;;&lt;br /&gt;
 $attempts = 0;&lt;br /&gt;
 while ($output !~ /YES/g &amp;amp;&amp;amp; $attempts &amp;lt; 5)&lt;br /&gt;
 {&lt;br /&gt;
        $output = `sudo cat /sys/bus/w1/devices/10-0008027d7cb0/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
        if($output =~ /No such file or directory/)&lt;br /&gt;
        {&lt;br /&gt;
                print &amp;quot;Could not find DS18B20\n&amp;quot;;&lt;br /&gt;
                last;&lt;br /&gt;
        }&lt;br /&gt;
        elsif($output !~ /NO/g)&lt;br /&gt;
        {&lt;br /&gt;
                $output =~ /t=(\d+)/i;&lt;br /&gt;
                $temp = ($is_celsius) ? ($1 / 1000) : ($1 / 1000) * 9/5 + 32;&lt;br /&gt;
                $rrd = `/usr/bin/rrdtool update /$dir/hometemp.rrd N:$temp:$outtemp`;&lt;br /&gt;
        }&lt;br /&gt;
        $attempts++;&lt;br /&gt;
 }&lt;br /&gt;
 $file = '/var/www/temperatura.txt';&lt;br /&gt;
 open(INFO, &amp;quot;&amp;gt;$file&amp;quot;);&lt;br /&gt;
 print INFO &amp;quot;$temp\n&amp;quot;;&lt;br /&gt;
 close(INFO)&lt;br /&gt;
 #print &amp;quot;Outside temp: $outtemp\n&amp;quot;;&lt;br /&gt;
 #print &amp;quot;Inside temp: $temp\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Rendiamo sempre eseguibile il file &lt;br /&gt;
&lt;br /&gt;
chmod +x /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
Andiamo a creare gli utimi 3 file, che però servono solo a traferire i dati su un server web esterno , utilizzando il protocollo ftp, questo script va utilizzato in abbinamento al file /root/.netrc . Nel file .netrc vengono memorizzati i dati di accesso all'aera ftp con la password in chiaro .&lt;br /&gt;
 vi /root/.netrc&lt;br /&gt;
&lt;br /&gt;
 machine NOME.SERVER.FTP&lt;br /&gt;
 login NOME_UTENTE&lt;br /&gt;
 password PASSWORD_FTP_UTENTE&lt;br /&gt;
&lt;br /&gt;
poi il comando chmod 0600 /root/.netrc&lt;br /&gt;
&lt;br /&gt;
File contenente la lista dei file da trasferire &lt;br /&gt;
 vi /opt/dallas/lista&lt;br /&gt;
&lt;br /&gt;
 prompt on&lt;br /&gt;
 binary&lt;br /&gt;
 mput *.png&lt;br /&gt;
&lt;br /&gt;
E infine lo script per iniziare l'upload verso il sito esterno &lt;br /&gt;
 vi /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 cd /opt/dallas&lt;br /&gt;
 ftp NOME.SERVER.FTP &amp;lt; lista&lt;br /&gt;
&lt;br /&gt;
Rendere eseguibile il file con chmod +x /opt/dallas/ftp_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Ultimo file , va creato in /var/www è il file in php che genera la pagina web, da richiamare &lt;br /&gt;
&lt;br /&gt;
 vi /var/www/temperature.php &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;? $lastmod = date(&amp;quot;F d, Y g:i A&amp;quot;, filemtime(&amp;quot;temp_daily.png&amp;quot;)); ?&amp;gt;&lt;br /&gt;
 &amp;lt;html&amp;gt;&lt;br /&gt;
 &amp;lt;head&amp;gt;&lt;br /&gt;
  &amp;lt;meta http-equiv=&amp;quot;cache-control&amp;quot; content=&amp;quot;no-cache&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;meta http-equiv=&amp;quot;refresh&amp;quot; content=&amp;quot;120&amp;quot; &amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Rasberry Temperatura&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;style&amp;gt;&lt;br /&gt;
      BODY&lt;br /&gt;
      {&lt;br /&gt;
        font-family: arial;&lt;br /&gt;
        font-size: 10pt;&lt;br /&gt;
        background-repeat: no-repeat; background-position: center center;&lt;br /&gt;
      }&lt;br /&gt;
      H2, H3 { margin-bottom: 0; }&lt;br /&gt;
  &amp;lt;/style&amp;gt;&lt;br /&gt;
 &amp;lt;/head&amp;gt;&lt;br /&gt;
 &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;width: 800px; margin-left: 100px;&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;h2&amp;gt;Rasberry Temperatura&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;i&amp;gt;Ultimo Aggiornamento: &amp;lt;?=$lastmod?&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;Temperatura attuale&lt;br /&gt;
 &amp;lt;?php include &amp;quot;/var/www/temperatura.txt&amp;quot;; ?&amp;gt; C &amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;h3&amp;gt;Ore&amp;lt;/h3&amp;gt;&lt;br /&gt;
    &amp;lt;img src=&amp;quot;temp_hourly.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;h3&amp;gt;Giorno&amp;lt;/h3&amp;gt;&lt;br /&gt;
    &amp;lt;img src=&amp;quot;temp_daily.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;h3&amp;gt;Settimana&amp;lt;/h3&amp;gt;&lt;br /&gt;
    &amp;lt;img src=&amp;quot;temp_weekly.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;h3&amp;gt;Mese&amp;lt;/h3&amp;gt;&lt;br /&gt;
    &amp;lt;img src=&amp;quot;temp_monthly.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;h3&amp;gt;Anno&amp;lt;/h3&amp;gt;&lt;br /&gt;
    &amp;lt;img src=&amp;quot;temp_yearly.png&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=531</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=531"/>
		<updated>2013-03-18T22:28:16Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io utilizzoo il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use LWP::UserAgent;&lt;br /&gt;
 my $dir = '/opt/dallas';&lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
 my $is_celsius = 1; #set to 1 if using Celsius&lt;br /&gt;
 my $ua = new LWP::UserAgent;&lt;br /&gt;
 $ua-&amp;gt;timeout(120);&lt;br /&gt;
 my $request = new HTTP::Request('GET', $metar_url);&lt;br /&gt;
 my $response = $ua-&amp;gt;request($request);&lt;br /&gt;
 my $metar= $response-&amp;gt;content();&lt;br /&gt;
 $metar =~ /([\s|M])(\d{2})\//g;&lt;br /&gt;
 $outtemp = ($1 eq 'M') ? $2 * -1 : $2; #'M' in a METAR report signifies below 0 temps&lt;br /&gt;
 $outtemp = ($is_celsius) ? $outtemp + 0 : ($outtemp * 9/5) + 32;&lt;br /&gt;
 $modules = `cat /proc/modules`;&lt;br /&gt;
 if ($modules =~ /w1_therm/ &amp;amp;&amp;amp; $modules =~ /w1_gpio/)&lt;br /&gt;
 {&lt;br /&gt;
        #modules installed&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $gpio = `sudo modprobe w1-gpio`;&lt;br /&gt;
        $therm = `sudo modprobe w1-therm`;&lt;br /&gt;
 }&lt;br /&gt;
 $output = &amp;quot;&amp;quot;;&lt;br /&gt;
 $attempts = 0;&lt;br /&gt;
 while ($output !~ /YES/g &amp;amp;&amp;amp; $attempts &amp;lt; 5)&lt;br /&gt;
 {&lt;br /&gt;
        $output = `sudo cat /sys/bus/w1/devices/10-0008027d7cb0/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
        if($output =~ /No such file or directory/)&lt;br /&gt;
        {&lt;br /&gt;
                print &amp;quot;Could not find DS18B20\n&amp;quot;;&lt;br /&gt;
                last;&lt;br /&gt;
        }&lt;br /&gt;
        elsif($output !~ /NO/g)&lt;br /&gt;
        {&lt;br /&gt;
                $output =~ /t=(\d+)/i;&lt;br /&gt;
                $temp = ($is_celsius) ? ($1 / 1000) : ($1 / 1000) * 9/5 + 32;&lt;br /&gt;
                $rrd = `/usr/bin/rrdtool update /$dir/hometemp.rrd N:$temp:$outtemp`;&lt;br /&gt;
        }&lt;br /&gt;
        $attempts++;&lt;br /&gt;
 }&lt;br /&gt;
 $file = '/var/www/temperatura.txt';&lt;br /&gt;
 open(INFO, &amp;quot;&amp;gt;$file&amp;quot;);&lt;br /&gt;
 print INFO &amp;quot;$temp\n&amp;quot;;&lt;br /&gt;
 close(INFO)&lt;br /&gt;
 #print &amp;quot;Outside temp: $outtemp\n&amp;quot;;&lt;br /&gt;
 #print &amp;quot;Inside temp: $temp\n&amp;quot;;&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=530</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=530"/>
		<updated>2013-03-18T22:27:46Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io utilizzoo il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/get_temp.pl&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use LWP::UserAgent;&lt;br /&gt;
 my $dir = '/opt/dallas';&lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
 my $is_celsius = 1; #set to 1 if using Celsius&lt;br /&gt;
 my $ua = new LWP::UserAgent;&lt;br /&gt;
 $ua-&amp;gt;timeout(120);&lt;br /&gt;
 my $request = new HTTP::Request('GET', $metar_url);&lt;br /&gt;
 my $response = $ua-&amp;gt;request($request);&lt;br /&gt;
 my $metar= $response-&amp;gt;content();&lt;br /&gt;
 $metar =~ /([\s|M])(\d{2})\//g;&lt;br /&gt;
 $outtemp = ($1 eq 'M') ? $2 * -1 : $2; #'M' in a METAR report signifies below 0 temps&lt;br /&gt;
 $outtemp = ($is_celsius) ? $outtemp + 0 : ($outtemp * 9/5) + 32;&lt;br /&gt;
 $modules = `cat /proc/modules`;&lt;br /&gt;
 if ($modules =~ /w1_therm/ &amp;amp;&amp;amp; $modules =~ /w1_gpio/)&lt;br /&gt;
 {&lt;br /&gt;
        #modules installed&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $gpio = `sudo modprobe w1-gpio`;&lt;br /&gt;
        $therm = `sudo modprobe w1-therm`;&lt;br /&gt;
 }&lt;br /&gt;
 $output = &amp;quot;&amp;quot;;&lt;br /&gt;
 $attempts = 0;&lt;br /&gt;
 while ($output !~ /YES/g &amp;amp;&amp;amp; $attempts &amp;lt; 5)&lt;br /&gt;
 {&lt;br /&gt;
        $output = `sudo cat /sys/bus/w1/devices/10-0008027d7cb0/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
        if($output =~ /No such file or directory/)&lt;br /&gt;
        {&lt;br /&gt;
                print &amp;quot;Could not find DS18B20\n&amp;quot;;&lt;br /&gt;
                last;&lt;br /&gt;
        }&lt;br /&gt;
        elsif($output !~ /NO/g)&lt;br /&gt;
        {&lt;br /&gt;
                $output =~ /t=(\d+)/i;&lt;br /&gt;
                $temp = ($is_celsius) ? ($1 / 1000) : ($1 / 1000) * 9/5 + 32;&lt;br /&gt;
                $rrd = `/usr/bin/rrdtool update /$dir/hometemp.rrd N:$temp:$outtemp`;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $attempts++;&lt;br /&gt;
 }&lt;br /&gt;
 $file = '/var/www/temperatura.txt';&lt;br /&gt;
 open(INFO, &amp;quot;&amp;gt;$file&amp;quot;);&lt;br /&gt;
 print INFO &amp;quot;$temp\n&amp;quot;;&lt;br /&gt;
 close(INFO)&lt;br /&gt;
 #print &amp;quot;Outside temp: $outtemp\n&amp;quot;;&lt;br /&gt;
 #print &amp;quot;Inside temp: $temp\n&amp;quot;;&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=529</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=529"/>
		<updated>2013-03-18T22:24:24Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io utilizzoo il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
Creiamo il file get_temp.pl questo è il fle che va a leggere i dati dal sensore , perciò nella riga &lt;br /&gt;
 $output = `sudo cat /sys/bus/w1/devices/'''10-0008027acdab'''/w1_slave 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
Occorre mettere il codice del vostro sensore DS , ricordo che i sensori sono serializzati, ogni sensore ha un codice diverso, e nella riga &lt;br /&gt;
 my $metar_url = 'http://weather.noaa.gov/pub/data/observations/metar/stations/LIMP.TXT';&lt;br /&gt;
La sigla LIMP.TXT sta per Parma , ognuno poi metterà il codice della sua zona secondo la tabella di weather.noaa.gov, io ho messo PR , purtroppo Reggio non avendo aereoporto non è contemplata&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=528</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=528"/>
		<updated>2013-03-18T22:17:52Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io utilizzoo il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=527</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=527"/>
		<updated>2013-03-18T22:17:23Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io utilizzoo il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 #/opt/dallas/ftp_graphs.sh&lt;br /&gt;
rendiamo sempre il file eseguibile&lt;br /&gt;
&lt;br /&gt;
 chmod +x /opt/dallas/create_graphs.sh&lt;br /&gt;
Le ultime 4 righe del file , servono per copiare i dati nella cartella /var/www per la visualizzazione &amp;quot;locale&amp;quot; cp $DIR/*.png /var/www/.&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=526</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=526"/>
		<updated>2013-03-18T22:13:00Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io utilizzoo il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
*Creiamo il file create_graphs.sh questo script crea l'andamento giornaliero, settimanale, mensile e annuale sulla base dei dati memorizzati nel database rrdtool&lt;br /&gt;
&lt;br /&gt;
 vi /opt/dallas/create_graphs.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 DIR=&amp;quot;/opt/dallas&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 #set to C if using Celsius&lt;br /&gt;
 TEMP_SCALE=&amp;quot;C&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 #define the desired colors for the graphs&lt;br /&gt;
 INTEMP_COLOR=&amp;quot;#CC0000&amp;quot;&lt;br /&gt;
 OUTTEMP_COLOR=&amp;quot;#0000FF&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 #hourly&lt;br /&gt;
 rrdtool graph $DIR/temp_hourly.png --start -4h \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 #daily&lt;br /&gt;
 rrdtool graph $DIR/temp_daily.png --start -1d \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 #weekly&lt;br /&gt;
 rrdtool graph $DIR/temp_weekly.png --start -1w \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 #monthly&lt;br /&gt;
 rrdtool graph $DIR/temp_monthly.png --start -1m \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg F]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg F]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 #yearly&lt;br /&gt;
 rrdtool graph $DIR/temp_yearly.png --start -1y \&lt;br /&gt;
 DEF:temp=$DIR/hometemp.rrd:temp:AVERAGE \&lt;br /&gt;
 DEF:outtemp=$DIR/hometemp.rrd:outtemp:AVERAGE \&lt;br /&gt;
 AREA:temp$INTEMP_COLOR:&amp;quot;Inside Temperature [deg $TEMP_SCALE]&amp;quot; \&lt;br /&gt;
 LINE1:outtemp$OUTTEMP_COLOR:&amp;quot;Outside Temperature [deg $TEMP_SCALE]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 #aggiorna server web locale&lt;br /&gt;
 cp $DIR/*.png /var/www/.&lt;br /&gt;
 #aggiorna server web esterno &lt;br /&gt;
 /opt/dallas/ftp_graphs.sh&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=525</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=525"/>
		<updated>2013-03-18T22:06:26Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;br /&gt;
*creiamo il primo file chiamato create_db.sh , questo serve per creare e inizializzare il database &amp;quot;round robin&amp;quot; utilizzato da rrdtools&lt;br /&gt;
Io utilizzoo il &amp;quot;vi&amp;quot; ma ognuno utilizzi il suo &amp;quot;editor&amp;quot; preferito&lt;br /&gt;
* vi /opt/dallas/create_db.sh&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rrdtool create hometemp.rrd --start N --step 300 \&lt;br /&gt;
 DS:temp:GAUGE:600:U:U \&lt;br /&gt;
 DS:outtemp:GAUGE:600:U:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:12 \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:288 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:168 \&lt;br /&gt;
 RRA:AVERAGE:0.5:12:720 \&lt;br /&gt;
 RRA:AVERAGE:0.5:288:365&lt;br /&gt;
&lt;br /&gt;
Ricordiamoci di renderlo eseguibile con:&lt;br /&gt;
 chmod +x /opt/dallas/create_db.sh&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=524</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=524"/>
		<updated>2013-03-18T21:59:11Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*installiamo i moduli mancanti del sistema operativo&lt;br /&gt;
#sudo apt-get install libwww-perl&lt;br /&gt;
#sudo apt-get install python-paramiko&lt;br /&gt;
#sudo apt-get install rrdtool&lt;br /&gt;
#sudo apt-get install apache2 php5 libapache2-mod-php5&lt;br /&gt;
*Creiamo una cartella dove andare a memorizzare i file degli script , i miei esempi fanno riferimento ad una cartella creata in /opt/dallas, ma non è vincolante ( DALLAS è l'iniziale della sigla DS18B20 la società che costruisce il componente NDR )&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=523</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=523"/>
		<updated>2013-03-18T21:52:02Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
E' obbligatoria la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;br /&gt;
*occorre che il rasberry abbia il &amp;quot;suo&amp;quot;sistema operativo già installato , la Raspbian Wheezy è perfetta.&lt;br /&gt;
*ricordo i test di funzionamento ( [[1Wire e il sensore di temperatura ds18s10]] )&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=522</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=522"/>
		<updated>2013-03-18T21:44:06Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
Consiglio la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Che poi si è evoluto in &lt;br /&gt;
[[File:jack.jpg| 400px]][[File:finale.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== SOFTWARE ==&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=521</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=521"/>
		<updated>2013-03-18T21:38:37Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto su un server web esterno , per poter visualizzare il tutto anche da fuori casa , in più è stato aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov. &lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
Consiglio la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del mio primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|600px]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=520</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=520"/>
		<updated>2013-03-18T21:36:34Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, un grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto si un server web esterno , per poter visualizzare il tutto anche fuori casa , in più abbiamo aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov&lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
Consiglio la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del mio primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|600px]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=519</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=519"/>
		<updated>2013-03-18T21:36:10Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, in grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto si un server web esterno , per poter visualizzare il tutto anche fuori casa , in più abbiamo aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov&lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
&lt;br /&gt;
Consiglio la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
&lt;br /&gt;
Questa è l'immagine del mio primo prototipo&lt;br /&gt;
[[File:prototipo.jpg|600px]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=518</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=518"/>
		<updated>2013-03-18T21:33:54Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, in grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto si un server web esterno , per poter visualizzare il tutto anche fuori casa , in più abbiamo aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov&lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono già stati illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
Consiglio la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;br /&gt;
[[File:ds18s10.png]]&lt;br /&gt;
Questa è l'immagine del mio primo prototipo&lt;br /&gt;
[[File:prototipo.jpg]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=517</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=517"/>
		<updated>2013-03-18T21:30:19Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, in grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto si un server web esterno , per poter visualizzare il tutto anche fuori casa , in più abbiamo aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov&lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono già stati illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;br /&gt;
Consiglio la lettura che comprende anche i test per verificare che il sensore sia installato in modo corretto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HARDWARE ==&lt;br /&gt;
Lista componenti&lt;br /&gt;
*Rasberry PI versione B &lt;br /&gt;
*Chip DS18B20&lt;br /&gt;
*Resistenza 4,7 Kohm&lt;br /&gt;
#Collegare il pin1 (GND) del DS18B20 al pin 6 del GPIO Rasberry&lt;br /&gt;
#Collegare il pin2 (DQ) del DS18B20 al pin 7 GPIO4 del Rasberry&lt;br /&gt;
#Collegare il pin3 (VDD) del DS18B20 al pin 1 3,3V del GPIO Rasberry&lt;br /&gt;
#Collegare la resistenza 4,7 Kohm tra il piedino 2 e 3 del DS18B20&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=516</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=516"/>
		<updated>2013-03-18T21:11:16Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, in grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto si un server web esterno , per poter visualizzare il tutto anche fuori casa , in più abbiamo aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov&lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento e lo schema sono già stati illustrati nella sezione [[1Wire e il sensore di temperatura ds18s10]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=515</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=515"/>
		<updated>2013-03-18T21:08:49Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, in grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA PROGETTO Rasberry Temperatura&lt;br /&gt;
----&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto si un server web esterno , per poter visualizzare il tutto anche fuori casa , in più abbiamo aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov&lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento&lt;br /&gt;
&lt;br /&gt;
Ora metto a letto i bimbi , proseguo dopo 18/03/2013 ore 22:00&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=514</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=514"/>
		<updated>2013-03-18T21:00:48Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, in grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto si un server web esterno , per poter visualizzare il tutto anche fuori casa , in più abbiamo aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov&lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento&lt;br /&gt;
&lt;br /&gt;
Ora metto a letto i bimbi , proseguo dopo 18/03/2013 ore 22:00&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=513</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=513"/>
		<updated>2013-03-18T21:00:12Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, in grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto si un server web esterno , per poter visualizzare il tutto anche fuori casa , in più abbiamo aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov&lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]] Il principio di funzionamento&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=512</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=512"/>
		<updated>2013-03-18T20:52:25Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, in grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto si un server web esterno , per poter visualizzare il tutto anche fuori casa , in più abbiamo aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov&lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=511</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=511"/>
		<updated>2013-03-18T20:51:56Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, in grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;br /&gt;
Lo scopo è visualizzare l'andamento della temperatura nel tempo , e creare un grafico con gli RRDTOOL, poi esportare il tutto si un server web esterno , per poter visualizzare il tutto anche fuori casa , in più abbiamo aggiunto un modulo per leggere la temperatura esterna dal servizio weather.noaa.gov&lt;br /&gt;
&lt;br /&gt;
Il &amp;quot;cuore&amp;quot; del sistema è l'integrato DS18B20&lt;br /&gt;
&lt;br /&gt;
[[File:ds18b20.png]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=File:Ds18b20.png&amp;diff=510</id>
		<title>File:Ds18b20.png</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=File:Ds18b20.png&amp;diff=510"/>
		<updated>2013-03-18T20:40:35Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=509</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=509"/>
		<updated>2013-03-18T20:20:13Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, in grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png|800px]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=508</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=508"/>
		<updated>2013-03-18T20:19:12Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, in grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png]400px]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=507</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=507"/>
		<updated>2013-03-18T20:17:42Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, in grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA'''&lt;br /&gt;
&lt;br /&gt;
[[File:progetto.png]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=506</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=506"/>
		<updated>2013-03-18T20:17:23Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, in grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA'''&lt;br /&gt;
[[File:progetto.png]]&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=505</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=505"/>
		<updated>2013-03-18T20:16:38Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, in grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SCHEMA'''&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=504</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=504"/>
		<updated>2013-03-18T20:15:34Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, in grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SCHEMA ==&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=503</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=503"/>
		<updated>2013-03-18T20:14:40Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, in grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il è mio primo Rasberry. E' uno dei tanti progetti per leggere la temperatura , però volevo propinarlo lo stesso.. Intanto presentato in italiano, poi a parte la gestione elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry; un server web , un gestore di grafici rrdtools , vari script in php + bash + python, perciò anche come &amp;quot;palestra&amp;quot; per imparare una qualche funzione mi sembra utile , personalmente mi sta dando parecchi spunti. Poi funziona e ottengo il grafico della temperatura in casa .&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=502</id>
		<title>Rasberry PI Progetto &quot;Rasberry Temperatura&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Rasberry_PI_Progetto_%22Rasberry_Temperatura%22&amp;diff=502"/>
		<updated>2013-03-18T20:06:08Z</updated>

		<summary type="html">&lt;p&gt;Luca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ciao a tutti , scrivo il primo WIKI della mia vita , spero di non fare troppi errori, in ogni caso, in grazie a Davide per le info iniziali&lt;br /&gt;
&lt;br /&gt;
Volevo presentare il progetto a cui sto lavorando in questi ultimi giorni , anche lui il mio primo Rasberry. :E' uno dei tanti progetti per leggere la temperatura , però volevo proporlo, intanto scritto in italiano, poi a parte la parte elettronica, che è molto semplice. Il tutto prevede di integrare nel rasberry :&lt;/div&gt;</summary>
		<author><name>Luca</name></author>
	</entry>
</feed>