Gruppo Meteo
Gruppo |
}}Rete di Monitoraggio Ambientale Partecipativo (R-MAP) |
---|
fa bello? fa brutto? cosa respiriamo? |
social network |
Vuoi partecipare o solamente essere informato? Iscriviti alla mailing list mailing list |
[ code repository] |
Iscritti |
Vedi la mailinglist |
Progetti in corso
Rete di Monitoraggio Ambientale Partecipativo (R-MAP)
Progetto per costruire un prototipo di stazione per il monitoraggio ambientale. Partiremo con la sensoristica per parametri meteorologici con la collaborazione di ARPA emilia Emilia Romagna e il Dipartimento di Informatica dell'Università di bologna.
Una bozza del progetto ... File:Presentazione bozza progetto.pdf
Obiettivi:
- to collect weather data contributed by citizens
- to make these data available for weather services and homeland security
- to provide feedback to the data contributors so that they have the tools to check and improve their data quality
Cosa fa raspibo:
- Realizzano un prototipo hardware e software
- Sperimentano il prototipo
- Documentano la realizzazione del prototipo come openhardware e distribuiscono il software con licenza libera
Tecnologie:
- Utilizzo delle tecnologie già a a nostra disposizione (pacchetti ARPA SIMC): DB-all.e, arkimet ...
- Utilizzo di protocolli di comunicazione stabili e collaudati:
- MQTT/MQTTS per microcontroller e misurazione non elaborate: MQTT is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium. For example, it has been used in sensors communicating to a broker via satellite link, over occasional dial-up connections with healthcare providers, and in a range of home automation and small device scenarios. It is also ideal for mobile applications because of its small size, low power usage, minimised data packets, and efficient distribution of information to one or many receivers; MQTT proposed as an OASIS standard
- AMQP per report da stazione: AMQP is the Internet Protocol for Business Messaging; gestisce le code e nella sua implementazione rabbitmq è compatibile con MQTT e fornisce delle api web
- ONE-NET per la comunicazione wireless
- Integrazione con le funzioni e le specifiche richieste dalle applicazioni per la domotica
- Utilizzo di hardware e software già disponibile e a basso costo quale arduino e raspberry
- Hosting e dominio esterno per l'accentramento dei dati, archiviazione e la loro pubblicazione web
- Integrazione con applicazioni per la telefonia mobile per la rilevazione dello spessore neve e altri parametri
Iscriviti alla mailing list Puoi farlo qui
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 comporta carichi rilevanti per la cpu.
- 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.
- Dato che il sensore e' di tipo smd si puo' acqusitare anche gia' saldato su basetta lo vende ad esempio sparkfun
- ADT7420 un sensore di precisione anche questo smd e prodotto da Analog
- 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)
Predisposizione software per i client
Su Raspberry Pi:
E' consigliabile 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
In alternativa si può usare questa procedura per Raspbian eseguibile anche da utente normale ad esempio pi:
mkdir meteo cd meteo salvare i due files rmap.py e mystation.py nella cartella meteo sudo apt-get install libwrap0-dev libssl-dev wget http://mosquitto.org/files/source/mosquitto-1.2.1.tar.gz tar zxf mosquitto-1.2.1.tar.gz cd mosquitto-1.2.1/ make ;sudo make install ; sudo ldconfig cd meteo/ python mystation.py
Modificare latitudine e longitude nello script mystation.py togliendo il commento ed inserendo quelle della propria stazione (con 5 decimali):
#define mystation #uncomment the line below
#lon=11.86992 #lat=44.98906
Terminata l'installazione per verificare se tutto funziona:
$ python mystation.py log: Sending PUBLISH (dFalse, q1, r1, m1, 'maint/-/1121446,4429043/generic/-,-,-/-,-,-,-/B01213', ... (13 bytes) log: Sending PUBLISH (dFalse, q1, r1, m2, 'dballe/-/1121446,4429043/generic/-,-,-/-,-,-,-/B07030', ... (11 bytes) log: Sending PUBLISH (dFalse, q1, r0, m3, 'dballe/-/1121446,4429043/generic/254,0,0/103,2000,-,-/B12101', ... (42 bytes) log: Received CONNACK (0, 0) connect rc: 0 log: Received PUBACK (Mid: 1) mid: 1 log: Received PUBACK (Mid: 2) mid: 2 log: Sending PUBLISH (dFalse, q1, r0, m4, 'dballe/-/1121446,4429043/generic/254,0,0/103,2000,-,-/B12101', ... (42 bytes) log: Received PUBACK (Mid: 3) mid: 3 log: Received PUBACK (Mid: 4) mid: 4 log: Sending PUBLISH (dFalse, q1, r0, m5, 'dballe/-/1121446,4429043/generic/254,0,0/103,2000,-,-/B12101', ... (42 bytes) log: Received PUBACK (Mid: 5) mid: 5