Differenze tra le versioni di "Gruppo Meteo/RemoteProcedure"
Riga 75: | Riga 75: | ||
parametri: | parametri: | ||
bool status: true=on; false=off | bool status: true=on; false=off | ||
+ | |||
+ | |||
+ | === Moduli prototipizzati === | ||
+ | le opzioni sono 3, i prezzi solo indicativi: | ||
+ | * modulo base | ||
+ | * modulo base+master | ||
+ | * modulo base+master+satellite | ||
+ | |||
+ | * Il modulo base svolge funzioni di archiviazione, calcolo, composizione report e invio all'acentratore tramite AMQP | ||
+ | * Il modulo master esegue un task temporizzato con una serie di automazioni al fine di pubblicare dati su bus MQTT | ||
+ | * Il modulo satellite è a bassissimo consumo e appartiene a una rete radio sui 2Ghz ad albero nRF24Network | ||
+ | |||
+ | ==== Modulo base ==== | ||
+ | Il modulo A richiede alimentazione 220V (o in alternativa qui non prevista power over ethernet) e cavo ethernet | ||
+ | |||
+ | ==== hardware ===== | ||
+ | (approssimativamente 75 E): | ||
+ | * raspberry B | ||
+ | * sdcard | ||
+ | * alimentatore | ||
+ | * connettore gpio | ||
+ | * breadboard | ||
+ | * sensori | ||
+ | |||
+ | ==== Modulo master ==== | ||
+ | Il modulo B richiede cavo ethernet con power over ethernet | ||
+ | |||
+ | ==== hardware ===== | ||
+ | * arduino mega 2560 | ||
+ | * breadborad | ||
+ | * modulo RTC | ||
+ | * modulo mini ethernet ENC60 | ||
+ | * modulo radio RF24 | ||
+ | * cavo power over ethernet | ||
+ | * stabilizzatore dcdc switched | ||
+ | * sensori | ||
+ | |||
+ | ==== Modulo satellite ==== | ||
+ | Il modulo C richiede batterie con stabilizzatore (e pannellino solare con regolatore di corrente | ||
+ | |||
+ | ==== hardware ===== | ||
+ | * moulo microduino core+ (ATmega644p@5V 16MHz) | ||
+ | * modulo microduino RF24 con antenna | ||
+ | * modulo microduino seriale USB FT232R | ||
+ | * sensori |
Versione delle 14:58, 13 giu 2014
r-map implementation overview
MQTT e Json-rpc
Un elemento fondamentale per il concentramento di osservazioni e campionamenti è il BUS MQTT http://en.wikipedia.org/wiki/MQ_Telemetry_Transport . E' su questo che vengono convogliati tutti i dati dei sensori; r-map definisce uno standard per pubblicare i dati nel root path rmap.
I moduli propedeutici alla pubblicazione MQTT sono connessi tramite 3 differenti trasporti:
- porta seriale (USB)
- TCP/IP
- radiofrequenza con modulo RF24Network
Sopra questi trasporti transitano remote procedure call in formato Json, rpc-json versione 2.0 http://en.wikipedia.org/wiki/JSON-RPC. Tutte le operazioni che vengono richieste ai moduli, o che i moduli richiedono ad altri moduli sono rpc-json.
I moduli possono essere così caratterizzati dal trasporto supportato, se eseguono RPC, se richiedono RPC, se pubblicano su MQTT.
I tre moduli prototipati in r-map sono coì demoninati e caratterizzati:
att/pas | Seriale | TCP/IP | radio RF24Network | pubblish on MQTT | funzioni server | |
Modulo Base | attivo | Si | Si | da svilupare | Si | Si |
Modulo master | attivo/passivo | Si | Si | Si | Si | No |
Modulo satellite | passivo | Si | No | Si | No | No |
procedure supportate
Ogni comando/risposta Jsonrpc sarebbe meglio rimanesse entro i 144 caratteri.
configure
configura il modulo.
parametri:
- bool reset: riporta le configurazioni ai valori di default
- char mqttrootpath: prima parte del path di pubblicazione su MQTT
- int mqttsampletime: intervallo tra le minure in secondi
- char mqttserver: server MQTT
- char mqttuser: MQTT user
- char mqttpassword: MQTT password
- int[16] key: AES key
- int[16] iv: AES CBC iv
- char ntpserver: server MQTT
- bool save: salva le configurazioni permanentemente
relativi a un sensore:
- char mqttpath: seconda parte del path di pubblicazione su MQTT
- char driver: driver locale del sensore
- int node: RF24Network node
- char type: driver remoto
- int address: address I2C
getvalues
torna i valori di una o più osservazione/campionamento.
parametri:
- char driver: driver locale del sensore
- int node: RF24Network node
- char type: driver remoto
- int address: address I2C
rf24rpc
Esegue una procedura remota su un altro nodo tramite trasporto RF24Network. In pratica incapula una RPC in una RPC.
- node": nodo su cui eseguire la remote call procedure
- tutti parametri standard di una json-rpc del tipo
"jsonrpc":"2.0","method":"configure","params":{"reset":true},"id":0},"id":0
toggleled
Attuatore che accende e spegne un led.
parametri: bool status: true=on; false=off
Moduli prototipizzati
le opzioni sono 3, i prezzi solo indicativi:
- modulo base
- modulo base+master
- modulo base+master+satellite
- Il modulo base svolge funzioni di archiviazione, calcolo, composizione report e invio all'acentratore tramite AMQP
- Il modulo master esegue un task temporizzato con una serie di automazioni al fine di pubblicare dati su bus MQTT
- Il modulo satellite è a bassissimo consumo e appartiene a una rete radio sui 2Ghz ad albero nRF24Network
Modulo base
Il modulo A richiede alimentazione 220V (o in alternativa qui non prevista power over ethernet) e cavo ethernet
hardware =
(approssimativamente 75 E):
- raspberry B
- sdcard
- alimentatore
- connettore gpio
- breadboard
- sensori
Modulo master
Il modulo B richiede cavo ethernet con power over ethernet
hardware =
- arduino mega 2560
- breadborad
- modulo RTC
- modulo mini ethernet ENC60
- modulo radio RF24
- cavo power over ethernet
- stabilizzatore dcdc switched
- sensori
Modulo satellite
Il modulo C richiede batterie con stabilizzatore (e pannellino solare con regolatore di corrente
hardware =
- moulo microduino core+ (ATmega644p@5V 16MHz)
- modulo microduino RF24 con antenna
- modulo microduino seriale USB FT232R
- sensori