Differenze tra le versioni di "Thermo"

Da raspibo.
Jump to navigation Jump to search
Riga 126: Riga 126:
 
;Doppi apici "
 
;Doppi apici "
 
:I doppi apici ", che racchiudono NAME e PASSWORD '''vanno messi'''.
 
:I doppi apici ", che racchiudono NAME e PASSWORD '''vanno messi'''.
 +
 +
== Primo avvio ==
 +
 +
Dopo aver effettuato tutte le installazioni di software necessario (e facoltativo), le configurazioni e le eventuali personalizzazioni, al primo avvio del [[Raspberry Pi]] ci sara` un'errore sul programma "thermo.py", questo perche` non abbiamo ancora configurato "il programma", cioe` non ci sono dati nel database "redis" (e` completamente vuoto).
 +
 +
Recandosi alla pagina web del nostro "thermo" (io l'ho chiamato cosi`) con un qualsiasi browser, possiamo cominciare a configurare ed impostare alcuni parametri.
 +
 +
Al momento il software non gestisce tutti gli errori, vedi per esempio l'errore di avvio di "thermo.py" avuto in precedenza, e per la prima configurazione e` bene seguire una "procedura".
 +
 +
;Nota
 +
:Uno dei problemi lo si riscontra nel riconoscimento dei sensori di temperatura, sono automaticamente rilevati e proposti dalla relativa pagina web, ma se non ce ne sono di collegati, la pagina web va` in errore e cosi` pure il programma "thermo.py" (e` una delle prime cose che svolge, leggere la temperatura)
 +
 +
== Prima configurazione ==
 +
 +
La pagina web e` un semplice menu a sisnistra ed un frame a destra, normalmente la visione e` sul grafico temperature, che si auto-aggiorna ogni 5 minuti.
 +
 +
Questa e` una visione (somigliante) del menu` (che potrebbe cambiare nelle versioni future):
 +
 +
{|
 +
| align="center" style="background:#f0f0f0;"|'''Thermo'''
 +
|-
 +
| Grafico temperature
 +
|-
 +
| -------------------
 +
|-
 +
| align="center"|'''Setup'''
 +
|-
 +
| Selezione funzionamento
 +
|-
 +
| Programmazione settimanale
 +
|-
 +
| Temperature set point
 +
|-
 +
| Impostazioni PID
 +
|-
 +
| Impostazioni grafico
 +
|-
 +
| align="center"|'''Configurazioni'''
 +
|-
 +
|
 +
|-
 +
| 1. Configura NoSQL DB
 +
|-
 +
| 2. Configura sonde temperatura
 +
|-
 +
| 3. Configura NoSQL DB Messaggi
 +
|-
 +
|
 +
|-
 +
| align="center"|'''Servizio'''
 +
|-
 +
| Visualizza archivio
 +
|-
 +
| Sposta in archivio temperature.csv
 +
|}
 +
 +
 +
 +
'''Ora, procediamo "con il giusto ordine" alla prima configurazione ...'''
 +
;Nota
 +
:Non l'ho segnalato, ma in ogni pagina, la prima volta: DOVETE CONFERMARE COL PULSANTE '''SUBMIT''', altrimenti i dati non saranno inseriti.
 +
:''La prima volta i dati visualizzati sono solo delle impostazioni di default proposte dalla maschera d'inserimento se non ne trova.
 +
''
 +
=== Configura NoSQL DB ===
 +
 +
Questa voce configura il database da utilizzare per inserire e leggere i dati, per default e` configurato sul "redis" che abbiamo installato in locale.
 +
 +
;Nota
 +
:Il database non e` accessibile dall'esterno, a meno che abbiate cambiato la sua configurazione di default.
 +
:Se intendete utilizzare una password, oltre a indicarla in questa pagina, dovere utilizzare il client redis ("redis-cli") per andarla ad impostare.
 +
 +
=== Configura sonde temperatura ===
 +
 +
In questa pagina dovete solamente mettere una descrizione alle vostre sonde, se ne avete piu` di una, la descrizione e` quella che vi aiutera` a scegliere quella del PID e sara` il testo visualizzato nel grafico delle temperature.
 +
 +
La pagina e` un po` particolare, si auto aggiorna, quindi se aggiungete e/o eliminate sensori, procede in modo automatico ad eliminarli dal database "redis".
 +
 +
;Nota
 +
:Ogni volta che utilizzate la pagina di configurazione delle sonde, e` consigliato verificare poi il pid, correggendo la sonda, ed il grafico, archiviando.
 +
 +
=== Impostazioni grafico ===
 +
 +
=== Impostazioni PID ===
 +
 +
  
 
== Note ==
 
== Note ==

Versione delle 16:39, 1 mar 2015


Premessa

Progetto in corso ..

Sono ripartito con una nuova SDCard e sto` cercando di descrivere passo-passo l'installazione completa, software e hardware.

Descrizione

Trattasi di un cronotermostato realizzato con Raspberry Pi e Sensori di temperatura 1wire (qua un DS18S10, praticamente uguale).

Raspberry Pi
Versione B (quello a 26 pin)
Sensori (almeno uno) di temperatura funzionanti con protocollo/connessione 1wire
Dallas DS18B20

Raspbian

Il primo passo e` preparare il sistema, dopo aver installato raspbian, si procede alla normale configurazione.

sudo raspi-config
sudo apt-get update
sudo apt-get upgrade

Installazione programmi

sudo apt-get install nginx fcgiwrap checkinstall redis-server

checkinstall e` facoltativo, lo utilizzo per comodita` quando installo programmi da sorgente, per tenerne traccia nel sistema generando un pacchetto d'installazione e rimuoverli quando non piu` necessari.

redis-server e` necessario se intendete averlo sul Raspberry Pi che state utilizzando per Thermo, potrete benissimo averlo installato in un'altro pc, dovrete impostarlo nel file di configurazione base.

Git clone

Per continuare, ci serve il nostro repository git di Thermo e delle librerie python per redis.

mkdir git
cd git
git clone https://github.com/raspibo/Thermo.git
git clone https://github.com/andymccurdy/redis-py.git

Installazione da sorgenti

cd redis-py/
sudo checkinstall python3 setup.py install

Ho chiamato il pacchetto "python3-redis-py", versione "20150228", revisione "1".

Copia Thermo

cd git/Thermo
sudo cp -varp --parents var/ /
sudo cp -varp --parents etc/ /

Configura Thermo

Sistemazione dei permessi:

sudo chown root:root -R /etc/rc.local /etc/nginx/
sudo chown root:www-data -R /var/www/
sudo chown www-data /var/www/ /var/www/archive/

Aggiungo il javascript per la visualizzazione grafica delle temperature (non l'ho incluso nel repository git), e` sufficiente scaricarlo e metterlo in "/var/www" (non e` necessario cambiare il gruppo):

cd /var/www
sudo wget http://dygraphs.com/1.1.0/dygraph-combined.js
sudo chown :www-data dygraph-combined.js

Nel file di configurazione di nginx (il web server) e` previsto un file di autenticazione (non vorrete che chiuque abbia accesso riprogrammi il cronotermostato, generiamolo cosi`:

cd /var/www
sudo su
echo -n "thermo" >> /var/www/.htpasswd
echo -n ":" >> /var/www/.htpasswd
openssl passwd >> /var/www/.htpasswd

Modifichiamo anche "/boot/config.txt" perche` carichi il modulo "1wire" all'avvio, aggiungendo queste righe:

# 1wire
dtoverlay=1w-gpio,gpiopin=4

Adesso siamo costretti a riavviare, perche il "config.txt" viene letto solo all'avvio (per il web server 'nginx' e altri servizi, dopo le modifiche ai files di configurazione, avremmo potuto anche solo riavviarli).

Configurazioni personalizzate

WiFi

Per attivare la connessione di rete wireless, oltre ad utilizzare una chiavetta usb, mi basta modificare il file "/etc/wpa_supplicant/wpa_supplicant.conf", cosi`:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
 
network={
        ssid="<NAME>"
        psk="<PASSWORD>"
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        auth_alg=OPEN
}
<NAME>
Identificatore della rete wireless
<PASSWORD>
La password della rete wireless
Doppi apici "
I doppi apici ", che racchiudono NAME e PASSWORD vanno messi.

Primo avvio

Dopo aver effettuato tutte le installazioni di software necessario (e facoltativo), le configurazioni e le eventuali personalizzazioni, al primo avvio del Raspberry Pi ci sara` un'errore sul programma "thermo.py", questo perche` non abbiamo ancora configurato "il programma", cioe` non ci sono dati nel database "redis" (e` completamente vuoto).

Recandosi alla pagina web del nostro "thermo" (io l'ho chiamato cosi`) con un qualsiasi browser, possiamo cominciare a configurare ed impostare alcuni parametri.

Al momento il software non gestisce tutti gli errori, vedi per esempio l'errore di avvio di "thermo.py" avuto in precedenza, e per la prima configurazione e` bene seguire una "procedura".

Nota
Uno dei problemi lo si riscontra nel riconoscimento dei sensori di temperatura, sono automaticamente rilevati e proposti dalla relativa pagina web, ma se non ce ne sono di collegati, la pagina web va` in errore e cosi` pure il programma "thermo.py" (e` una delle prime cose che svolge, leggere la temperatura)

Prima configurazione

La pagina web e` un semplice menu a sisnistra ed un frame a destra, normalmente la visione e` sul grafico temperature, che si auto-aggiorna ogni 5 minuti.

Questa e` una visione (somigliante) del menu` (che potrebbe cambiare nelle versioni future):

Thermo
Grafico temperature
-------------------
Setup
Selezione funzionamento
Programmazione settimanale
Temperature set point
Impostazioni PID
Impostazioni grafico
Configurazioni
1. Configura NoSQL DB
2. Configura sonde temperatura
3. Configura NoSQL DB Messaggi
Servizio
Visualizza archivio
Sposta in archivio temperature.csv


Ora, procediamo "con il giusto ordine" alla prima configurazione ...

Nota
Non l'ho segnalato, ma in ogni pagina, la prima volta: DOVETE CONFERMARE COL PULSANTE SUBMIT, altrimenti i dati non saranno inseriti.
La prima volta i dati visualizzati sono solo delle impostazioni di default proposte dalla maschera d'inserimento se non ne trova.

Configura NoSQL DB

Questa voce configura il database da utilizzare per inserire e leggere i dati, per default e` configurato sul "redis" che abbiamo installato in locale.

Nota
Il database non e` accessibile dall'esterno, a meno che abbiate cambiato la sua configurazione di default.
Se intendete utilizzare una password, oltre a indicarla in questa pagina, dovere utilizzare il client redis ("redis-cli") per andarla ad impostare.

Configura sonde temperatura

In questa pagina dovete solamente mettere una descrizione alle vostre sonde, se ne avete piu` di una, la descrizione e` quella che vi aiutera` a scegliere quella del PID e sara` il testo visualizzato nel grafico delle temperature.

La pagina e` un po` particolare, si auto aggiorna, quindi se aggiungete e/o eliminate sensori, procede in modo automatico ad eliminarli dal database "redis".

Nota
Ogni volta che utilizzate la pagina di configurazione delle sonde, e` consigliato verificare poi il pid, correggendo la sonda, ed il grafico, archiviando.

Impostazioni grafico

Impostazioni PID

Note

Riferimenti

https://github.com/raspibo/Thermo

https://github.com/raspibo/Thermo/wiki

http://raspbian.org/

http://redis.io

http://dygraphs.com/