Gruppo Meteo/Software/Devel/StimaVersione2

Da raspibo.
Jump to navigation Jump to search

Guide per developers

Software rmap

Libreria di "driver" per sensori

Esistono attualmente due versioni, una in C++ e una in python

C++

http://sourceforge.net/p/r-map/code/HEAD/tree/trunk/arduino/sketchbook/libraries/SensorDriver/

Porta le gestione della sensoristica ad un livello di astrazione più alto. Praticamente si tratterebbe di estendere una classe con quattro metodi per effettuare la lettura di uno specifico sensore:

   virtual int setup(const char* driver, const int address, const int node=0, const char* type=NULL, char* mainbuf=0, size_t lenbuf=0, RF24Network* network=NULL);

effettua eventuali settaggi necessari al funzionamento del sensore; esempio per temperatura: numero di bit di risoluzione, operazione di misura one-shot; i paramteri const int node=0, const char* type=NULL, char* mainbuf=0, size_t lenbuf=0, RF24Network* network=NULL servono per la gestione di un sensore remoto eseguendo una jsonrpc su trasporto NRF24Network

   virtual int prepare(unsigned long* waittime) = 0;

impartisce al sensore il comando per effettuare una singola misurazione torna il tempo in millisecondi di attesa necessario

   virtual int get(int values[],size_t lenvalues) = 0;

torna i valori della misurazione

   virtual aJsonObject* getJson() = 0;

torna i valori in formato json, formato preferito ed utilizzato in r-map Vedi RFC-rmap


Questa piccola libreria è nata per sensori I2C, ma non per forza limitata a quelli e infatti prevede già una json-rpc con trasporto via radio. Sarà estesa per umidità, pressione, direzione e intensità del vento e precipitazione.

il file SensorDriver_config.h definisce quali driver includere nella libreria e altri parametri di configurazione a compile time

python

http://sourceforge.net/p/r-map/code/HEAD/tree/trunk/python/rmap/sensordriver.py