Differenze tra le versioni di "Gruppo Meteo/Software/Devel/StimaVersione2"
m (→python) |
(→C++) |
||
Riga 12: | Riga 12: | ||
con quattro metodi per effettuare la lettura di uno specifico sensore: | con quattro metodi per effettuare la lettura di uno specifico sensore: | ||
− | virtual int setup(int address); | + | 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; | effettua eventuali settaggi necessari al funzionamento del sensore; | ||
esempio per temperatura: numero di bit di risoluzione, operazione di | esempio per temperatura: numero di bit di risoluzione, operazione di | ||
− | misura one-shot | + | 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; | virtual int prepare(unsigned long* waittime) = 0; | ||
Riga 21: | Riga 21: | ||
torna il tempo in millisecondi di attesa necessario | torna il tempo in millisecondi di attesa necessario | ||
− | virtual int get(int | + | virtual int get(int values[],size_t lenvalues) = 0; |
torna i valori della misurazione | torna i valori della misurazione | ||
Versione delle 22:20, 30 ott 2014
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.
python
http://sourceforge.net/p/r-map/code/HEAD/tree/trunk/python/rmap/sensordriver.py