Gruppo Meteo/StimaOverview
Stima Overview
Stazione modulare per la misura di parametri ambientali.
Premesse
- Adeisce alla Rete di Monitoraggio Ambientale Partecipativo (R-MAP)
- Open hardware e open software
- al momento vengono gestiti parametri meteorologici
Concetti base
La modularità della stazione è stata ottenuta astraendo alcuni concetti e funzioni e implementandoli nei differenti moduli hardware e software.
Trasporti
Il concetto di trasporto in Stima è simile ma non rigidamente aderente ai concetti del modello ISO-OSI. Nel caso dei trasporti passivi il suo compito è fornire un canale logico-affidabile di comunicazione end-to-end per fornire servizi al soprastante livello che in Stima è JsonRPC. Nel caso dei trasporti attivi è il protocollo (Session Layer) per la pubblicazione dei dati su un server (broker).
Passivi o attivi
In pratica i trasporti "passivi" permettono di eseguire procedure remote codificate in formato json specifiche dell'implementazione Stima; quelli attivi permettono la pubblicazione su server (broker) dei messaggi aderenti allo standard R-MAP.
Passivi
Seriale
Collegamento punto a punto tramite porta seriale.
caratterizzato da:
- Baud rate
- Device
TCP/IP
caratterizzato da:
- Name (Nome risolto dal DNS)
- Ntpserver
Bluetooth
caratterizzato da:
- Bluetooth Name
NRF24
caratterizzato da:
- Node (Node ID for RF24 Network)
- Channel (Numero canale per RF24)
- Key (AES key)
- Iv
Attivi
MQTT
caratterizzato da:
- Mqttsampletime (intervallo in secondi per la pubblicazione)
- Mqttserver (MQTT server)
- Mqttuser (MQTT user)
- Mqttpassword (MQTT password)
AMQP
caratterizzato da:
- Amqpserver (Server AMQP)
- Exchange (Nome dell'exchange remoto AMQP)
- Queue (Nome della coda locale AMQP )
- Amqpuser (User AMQP)
- Amqppassword
JsonRPC
La chiamata di procedure remote in formato json è l'unico metodo per poter eseguire funzioni su un modulo dalla configurazione al campionamento dei sensori.
La documentazione delle procedure remote è disponibile qui Gruppo_Meteo/RemoteProcedure
JsonRPC over different transports
E' possibile fare richiesta di una procedura remota che a sua volta richiede una procedura remota; in questo modo è possibile utilizzare due trasporti differenti e usare un modulo come gateway. Ad esempio il modulo base non dispone al momento del trasporto radio RF24 ma puo' richiedere a un modulo master tramite trasporto seriale o TCP/IP di eseguire una procedura remota su un modulo satellite raggiungibile tramite trasporto RF24. Queste funzionalità sono ampiamente da testare.