Differenze tra le versioni di "Gruppo Meteo/Software/Devel/StimaVersione2"

Da raspibo.
Jump to navigation Jump to search
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* value) = 0;
+
     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