Differenze tra le versioni di "Gruppo Meteo/StimaOverview"
(→NRF24) |
|||
Riga 12: | Riga 12: | ||
=== Trasporti === | === 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. | 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 | + | Nel caso dei trasporti attivi corrisponde al protocollo (Session Layer) per la pubblicazione dei dati su un server (broker). |
=== Passivi o attivi === | === Passivi o attivi === |
Versione delle 15:29, 15 giu 2015
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 corrisponde al 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.
- Principalmente per configurazione e debug
- Piccole distanze via cavo
caratterizzato da:
- Baud rate
- Device
TCP/IP
Trasporto che utilizza il tcp/ip; i supporti fisici supportati sono:
- ethernet: collegamenti tramite cavo ethernet a breve e media distanza
- GSM/GPRS: installazioni con problemi per le cablature di alimentazione e collegamento di rete
caratterizzato da:
- Name (Nome risolto dal DNS)
- Ntpserver
Bluetooth
caratterizzato da:
- Bluetooth Name
NRF24
- OSI Network Layer using nRF24L01(+) radios 2.4GHz ISM 50/150m in aria libera
- Host Addressing. Each node has a logical address on the local network.
- Message Forwarding. Messages can be sent from one node to any other, and this layer will get them there no matter how many hops it takes.
- Ad-hoc Joining. A node can join a network without any changes to any existing nodes.
RF24Network Addressing and Topology
Each node must be assigned an 15-bit address by the administrator. This address exactly describes the position of the node within the tree. The address is an octal number. Each digit in the address represents a position in the tree further from the base.
- Node 00 is the base node.
- Nodes 01-05 are nodes whose parent is the base.
- Node 021 is the second child of node 01.
- Node 0321 is the third child of node 021, an so on.
- The largest node address is 05555, so 3,125 nodes are allowed on a single channel.
Alla libreria distributia è stata aggiunta la crittografia e frammentazione e ricomposizione del payload
caratterizzato da:
- Node (Node ID for RF24 Network)
- Channel (Numero canale per RF24)
- Key (AES key)
- Iv
Attivi
MQTT
MQTT (Message Queue Telemetry Transport) è un protocollo publish/subscribe particolarmente leggero, adatto per la comunicazione M2M tra dispositivi con poca memoria o potenza di calcolo e server o message broker.
caratterizzato da:
- Mqttsampletime (intervallo in secondi per la pubblicazione)
- Mqttserver (MQTT server)
- Mqttuser (MQTT user)
- Mqttpassword (MQTT password)
AMQP
AMQP (Advanced Message Queuing Protocol) è protocollo per comunicazioni attraverso code di messaggi. Sono garantite l'interoperabilità, la sicurezza, l'affidabilità, la persistenza.
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.