Gruppo Meteo/ToDo

Da raspibo.
Jump to navigation Jump to search

Cose da Fare

BUG list

  • privilegi e ustente per graphite-web
  • stationd non si stoppa
  • mac address per fistboot su raspberry
  • cambiare pin per relays (27,29,31,33) da vedere se uguali su microduino

Modifiche all'immagine disco

Con l'immagine downlodabile bisogna fare un po' di pulizia e aggiornare un po di roba quindi su raspberry:

#aggiorniamo il repo svn
ssh rmap@base
cd svn/r-map-code/trunk
svn up
exit
#facciamo pulizia delle cose installate senza pacchetto
ssh root@base
rm -r /var/www/html/borinud
rm /usr/local/bin/*
rm -r /usr/local/lib/python2.7/site-packages/borinud
#editiamo:
/var/www/html/index.html
#e facciamo diventare cosi' queste due righe:

<li><a href="http://base:5925">punti stazione su mappa e grafici</a></li>

<li><a href="http://rmapv.bisognodipace.org:5925">punti stazione su mappa e grafici</a></li>

# aggiungiamo il repo rmap
cd /etc/yum.repos.d/
wget http://rmapv.bisognodipace.org/repo/rmap/rmap.repo


# e installiamo/aggiorniamo quello che c'è da aggiornare:
yum clean all
yum groupinstall -y rmap
yum upgrade --skip-broken -y
# combio privilegi a db graphite
chown -R rmap:rmap /var/lib/graphite-web
#poi si potrà entrare su graphite con user root password cambiami
# ottimizzazione scritture carbon cache
#modificare in
/etc/carbon/carbon.conf
MAX_UPDATES_PER_SECOND=5
#modificare in
/etc/carbon/storage-schemas.conf
[carbon]
pattern = ^carbon\.
retentions = 60:7d
[rmap_10sec_for_10day]
#pattern = .*
pattern = ^rmap\.
retentions = 10s:10d
[report_60sec_for_60day]
#pattern = .*
pattern = ^report\.
retentions = 60s:30d
[default_1min_13months]
pattern = .*
retentions = 1m:395d


#aggiornare il file repo di rmap
cd /etc/yum.repos.d
wget http://rmapv.bisognodipace.org/repo/rmap/rmap.repo -O rmap.repo
#aggiorniamo
yum clean all
yum upgrade --skip-broken
# ripuliamo tutti ifile in /rmap

TODO LIST fase 1

a livello firmware r-map

  • aggiunta di driver sensori (almeno umidità e pressione di cui ho i sensori); ora abbiamo i driver solo di temperatura; lavoro basato sui datasheet

a livello server

  • compilazione pacchetti rpm per raspberry
  • compilazioni pacchetti per macchina virtuale a 32 bit
  • completamento dei server rmap
  • test e automazione della catena relativa al flusso dati (mqtt -> DB-all.e -> elaborazione con libsim tools -> estrazione e composizione report con DB-all toos -> inserimento in coda amqp -> ricezione da coda amqp e inserimento in arkimet)

TODO LIST fase 2

a livello firmware r-map

  • finire board con GPS e GPRS e eventualmente memoria SD con protocollo httpd
  • portare la board con GPS e GPRS e eventualmente memoria SD a protocollo mqtt
  • creare board I2C client per misure pluviometro e anemometro

a livello server

  • visualizzazione e monitoraggio web dello stato di funzionamento della stazione di misura (connessione attiva delle board; funzionamento sensori ... stato batterie)
  • specializzazione di una dashboard meteo su graphite/emon-cms
  • preparazione di una SD card r-map per raspberry
  • configurazione autenticazione su broker mqtt
  • configurazione autenticazione su rabbitmq per amqp

altro

rmap per android (e ios)

Questa è una applicazione molto simile a quanto ci servirebbe per integrare rmap con dati raccolti tramite smart phone e tablets https://github.com/owntracks/android poi c'è la versione per ios ... http://owntracks.org/

Trasporto RF24 su raspberry

Questa la proposta di lavoro per uno studente: obiettivo: far comunicare un raspberry e un arduino tramite due moduli RF nRF24 a 2 GHz

La libreria arduino è questa (a livello network) https://github.com/pat1/RF24Network

Bisognerebbe selezionare/compilare/testare la libreria e scrivere un howto/report riferimento principale questo: https://github.com/TMRh20/RF24Network/tree/master/RPi

In aggiunta si potrebbe verificare anche l'utilizzo delle API python e l'inserimento del "trasporto" RF nel modulo python http://sourceforge.net/p/r-map/code/HEAD/tree/trunk/python/jsonrpc.py per eseguire json-rpc http://en.wikipedia.org/wiki/JSON-RPC da raspberry a arduino su trasporto RF

L'integrazione con R-MAP avviene in quanto il firmware rmap su arduino già risponde a json-rpc con alcune procedure tra cui il rilevamento di sensori. Dall'altra parte utilizza raspberry sia per interrogare sensori che pubblicarli sul broker MQTT dove vengono raccolti tutti i dati della sensoristica. Il lavoro dello studente permetterebbe di eliminare un modulo (arduino mega2560) di traduzione da trasporto ethernet a trasporto RF

altri link: https://github.com/jonathongrigg/rf24 https://github.com/royi1000/RF24-rpi-py https://github.com/jpbarraca/pynrf24 http://www.jonathongrigg.com/post/61252428623/python-rf24-library

TODO LIST prototipo hardware

  • Alimentare scheda ENC28J60 e modulo RTC a 5V
  • Aggiungere una seconda fila di pin per il modulo rtc per evitare che si pieghi
  • Alimentare bus I2C a 3.3 V (http://www.element14.com/community/thread/19665/l/is-level-shifting-really-needed-for-i2c)
  • Aggiungere un condensatore da 100nF per il modulo radio e verificare se possibile aggiungerne uno da 470 uF il piu' vicino possibile
  • Proteggere i sensori con un diodo ESD http://www.acronet.cc/item/esd-suppressor-5-5v-sot-363-smd/
  • Spostare il modulo RTC al di fuori dell'ingombro della scheda di rete
  • Aggiungere un jumper o pulsante per portare a massa il pin 8 e forzare la modalita' configurazione, verificare se vale la pena di poter collegare pulsanti saldati ad una carcassa
  • Eliminare il piu' possibile le saldature sulla faccia superiore della scheda
  • Verificare se tutti i moduli possono essere saldati direttamente sulla scheda senza connettori aggiuntivi
  • Valutare se portare l'ingresso dell'alimentazione a fianco del modulo enc e/o saldare sui pin del connettore rj45 i fili da portare al dc/dc
  • Se possibile prevedere fori per il fissaggio del modulo display
  • Aggiungere alcuni pin in uscita per evetuali utilizzatori
  • Predisporre piazzole per convertitore DC/DC di altro fornitore/formato
  • Agiungere alimentazione 5V per modulo rele' e display