Differenze tra le versioni di "Gruppo Meteo/HowToOld"
(Creata pagina con ' ''' Analisi per l'implementazione: ''' Ipotizziamo di utilizzare un sensore I2C dato che su Raspberry la gestione di questo tipo di bus e' fatta a livello hardware e non com...') |
(ristrutturato il tutto) |
||
Riga 1: | Riga 1: | ||
+ | ''' Analisi per l'implementazione: ''' | ||
+ | |||
+ | Proveremo a misurare la temperatura. | ||
+ | |||
+ | Per questo esempio utilizzeremo un raspberry e un arduino Uno | ||
+ | La sensoristica prevede sue sensori di temperatura i2c della serie tmp della texax instrumets nello specifico o tmp102 o tmp275. | ||
− | ''' | + | ''' Sensoristica ''' |
+ | Utilizzeremo sensori I2C. | ||
+ | Oltre alla versatitilità e ampia diffusione di questo bus su Raspberry la gestione di i2c e' fatta a livello hardware e non comporta carichi rilevanti per la cpu. | ||
+ | |||
+ | * Dato che il sensore tmp102 e' di tipo smd si puo' acqusitare anche gia' saldato su basetta lo vende ad esempio [https://www.sparkfun.com/products/9418 sparkfun] | ||
+ | |||
+ | * questi i dati del tmp27 http://www.ti.com/lit/ds/symlink/tmp275.pdf | ||
+ | |||
+ | Procederemo a sperimentare anche: | ||
+ | * [http://www.analog.com/static/imported-files/data_sheets/ADT7420.pdf ADT7420] un sensore di precisione anche questo smd e prodotto da Analog; anche questo disponibile su basetta, ma un po' costosa: http://au.element14.com/digilent/pmodtmp2/adt7420-temp-sensor-16bit-pmod/dp/2290114 | ||
− | |||
− | + | Esistono anche: | |
− | |||
− | |||
* [http://ww1.microchip.com/downloads/en/DeviceDoc/25095A.pdf MCP9808] prodotto da Microchip (l'accuratezza di questo sensore è al limite della accettabilità) | * [http://ww1.microchip.com/downloads/en/DeviceDoc/25095A.pdf MCP9808] prodotto da Microchip (l'accuratezza di questo sensore è al limite della accettabilità) | ||
* [http://www.nxp.com/documents/data_sheet/LM75A.pdf LM75A] by NXP (questo sensore è inaccurato e dovrebbe essere evitato in condizioni operative) | * [http://www.nxp.com/documents/data_sheet/LM75A.pdf LM75A] by NXP (questo sensore è inaccurato e dovrebbe essere evitato in condizioni operative) | ||
− | ''' Predisposizione software | + | ''' il broker mqtt e il data base con web service a applicazione javascript ''' |
+ | |||
+ | Il tutto è implementato su raspberry con pidora 18. | ||
+ | Per il momento basta sapere che è disponibile su http:pat1.bisognodipace.org | ||
+ | |||
+ | ''' Predisposizione software ''' | ||
+ | |||
+ | Il software in fase di sviluppo è disponibile qui: | ||
+ | http://sourceforge.net/projects/r-map/ | ||
Su Raspberry Pi: | Su Raspberry Pi: | ||
− | + | Ci sono una serie di dipendenze tra cui il software arduino e una serie di moduli python tra cui pyserial ... | |
+ | Bisogna anche installare Mosquitto tramite pacchetto e ancor meglio aggiungendo un repository facendo riferimento alla pagina: http://mosquitto.org/download/ | ||
In alternativa si può usare: | In alternativa si può usare: | ||
Riga 21: | Riga 42: | ||
sudo pip install mosquitto | sudo pip install mosquitto | ||
− | + | per scaricare il software r.map: | |
+ | |||
+ | mkdir ~/svn | ||
+ | cd ~/svn | ||
+ | svn checkout svn://svn.code.sf.net/p/r-map/code/ r-map-code | ||
+ | |||
+ | ''' Installare su arduino ''' | ||
+ | Aprire l'ambiente di sviluppo arduino | ||
+ | * modificare la posizione della cartella degli sketch da File-> preferenze e impostarlo a {tua home dir}/svn/r-map-code/trunk/sketchbook | ||
+ | |||
+ | compilare e caricare su arduino | ||
+ | |||
+ | |||
+ | ''' eseguire su raspberry ''' | ||
+ | |||
+ | cd ~/svn/r-map-code/trunk/python | ||
+ | |||
+ | Modificare latitudine e longitude nello script station.py inserendo quelle della propria stazione : | ||
+ | |||
+ | lon=11.86992 | ||
+ | lat=44.98906 | ||
+ | |||
+ | Modificare anche gli indirizzi i2c dei vostri sensori | ||
+ | rpcaddress=0x4f | ||
+ | i2caddress=0x4c | ||
+ | |||
+ | il primo è quello collegato ad arduino | ||
+ | il secondo è quello collegato a raspberry | ||
+ | |||
+ | ''' installazione hardware ''' | ||
+ | |||
+ | ''' installazione su raspberry ''' | ||
+ | * Un esempio di misura della temperatura con sensore TMP102 sul sito [http://www.element14.com/community/groups/raspberry-pi/blog/2012/07/26/is-it-done-yet-temperature-sensing-with-the-raspberry-pi element14], in questo esempio viene anche interfacciato un chip DS1307 real time clock utile se c'e' la possibilita' perdita di connettvita' verso un server ntp. | ||
+ | * questo un altro how to http://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/configuring-i2c | ||
+ | * questo un esempio di collegamento http://learn.adafruit.com/adding-a-real-time-clock-to-raspberry-pi/wiring-the-rtc | ||
+ | |||
+ | ''' installazione su arduino ''' | ||
− | + | se avete la breakout board per tmp102 seguite le conessioni mostrate in: | |
− | + | http://bildr.org/2011/01/tmp102-arduino/ | |
− | + | (l'esempio software è pero' un po' approssimativo) | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Al termite collegate raspberry a arduino tramite il cavo USB | |
− | + | ''' semplice esempio di software di campionamento ''' | |
− | |||
− | + | su raspberry: | |
− | + | cd ~/svn/r-map-code/trunk/python | |
+ | python station.py | ||
− | + | si puo' interrompere con ctrl-c | |
− | + | troverete i file logrpc.txt logmqtt.txt che riportano il trace delle relative comunicazioni. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Versione delle 13:57, 18 ott 2013
Analisi per l'implementazione:
Proveremo a misurare la temperatura.
Per questo esempio utilizzeremo un raspberry e un arduino Uno La sensoristica prevede sue sensori di temperatura i2c della serie tmp della texax instrumets nello specifico o tmp102 o tmp275.
Sensoristica Utilizzeremo sensori I2C. Oltre alla versatitilità e ampia diffusione di questo bus su Raspberry la gestione di i2c e' fatta a livello hardware e non comporta carichi rilevanti per la cpu.
- Dato che il sensore tmp102 e' di tipo smd si puo' acqusitare anche gia' saldato su basetta lo vende ad esempio sparkfun
- questi i dati del tmp27 http://www.ti.com/lit/ds/symlink/tmp275.pdf
Procederemo a sperimentare anche:
- ADT7420 un sensore di precisione anche questo smd e prodotto da Analog; anche questo disponibile su basetta, ma un po' costosa: http://au.element14.com/digilent/pmodtmp2/adt7420-temp-sensor-16bit-pmod/dp/2290114
Esistono anche:
- MCP9808 prodotto da Microchip (l'accuratezza di questo sensore è al limite della accettabilità)
- LM75A by NXP (questo sensore è inaccurato e dovrebbe essere evitato in condizioni operative)
il broker mqtt e il data base con web service a applicazione javascript
Il tutto è implementato su raspberry con pidora 18. Per il momento basta sapere che è disponibile su http:pat1.bisognodipace.org
Predisposizione software
Il software in fase di sviluppo è disponibile qui: http://sourceforge.net/projects/r-map/
Su Raspberry Pi:
Ci sono una serie di dipendenze tra cui il software arduino e una serie di moduli python tra cui pyserial ... Bisogna anche installare Mosquitto tramite pacchetto e ancor meglio aggiungendo un repository facendo riferimento alla pagina: http://mosquitto.org/download/
In alternativa si può usare:
sudo apt-get install python-pip sudo pip install mosquitto
per scaricare il software r.map:
mkdir ~/svn cd ~/svn svn checkout svn://svn.code.sf.net/p/r-map/code/ r-map-code
Installare su arduino Aprire l'ambiente di sviluppo arduino
* modificare la posizione della cartella degli sketch da File-> preferenze e impostarlo a {tua home dir}/svn/r-map-code/trunk/sketchbook
compilare e caricare su arduino
eseguire su raspberry
cd ~/svn/r-map-code/trunk/python
Modificare latitudine e longitude nello script station.py inserendo quelle della propria stazione :
lon=11.86992 lat=44.98906
Modificare anche gli indirizzi i2c dei vostri sensori
rpcaddress=0x4f i2caddress=0x4c
il primo è quello collegato ad arduino il secondo è quello collegato a raspberry
installazione hardware
installazione su raspberry
- Un esempio di misura della temperatura con sensore TMP102 sul sito element14, in questo esempio viene anche interfacciato un chip DS1307 real time clock utile se c'e' la possibilita' perdita di connettvita' verso un server ntp.
- questo un altro how to http://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/configuring-i2c
- questo un esempio di collegamento http://learn.adafruit.com/adding-a-real-time-clock-to-raspberry-pi/wiring-the-rtc
installazione su arduino
se avete la breakout board per tmp102 seguite le conessioni mostrate in: http://bildr.org/2011/01/tmp102-arduino/ (l'esempio software è pero' un po' approssimativo)
Al termite collegate raspberry a arduino tramite il cavo USB
semplice esempio di software di campionamento
su raspberry:
cd ~/svn/r-map-code/trunk/python python station.py
si puo' interrompere con ctrl-c
troverete i file logrpc.txt logmqtt.txt che riportano il trace delle relative comunicazioni.