Gruppo Meteo/HowToOld

Da raspibo.
Versione del 18 ott 2013 alle 13:57 di PaoloPatruno (discussione | contributi) (ristrutturato il tutto)
Jump to navigation Jump to search

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

Procederemo a sperimentare anche:


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

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.