I tempi di lettura e scrittura dei sensori IoT di Bandwich

Ogni dispositivo, al di là del ruolo che ricopre nel network, all’interno di una finestra temporale denominata “priorità”, effettua una lettura di ogni modulo di espansione di cui è dotato e ne inoltra un risultato mediato.

All’interno di questa finestra temporale il dispositivo effettua 10 letture di ogni sensore di ogni modulo di espansione aggiunto, esclude il valore più alto e quello più basso, e degli 8 rimanenti ne calcola una media matematica. Al termine del calcolo invierà il dato.

Il valore di priorità di default è pari a 1, ma può essere impostato dall’utente in una scala da 0 a 255.

Ogni unità corrisponde a 2.3 secondi. Nella configurazione a 0 la lettura viene fatta a massima velocità ogni 0.230 secondi.

 

Esempio

Ipotizziamo un dispositivo configurato come Slave formato dal modulo Radio e da un modulo aggiuntivo Environment ed un dispositivo configurato come Master, anch’esso dotato di un modulo di espansione Environment.

Lo Slave ha una priorità del modulo di espansione pari a 10, mentre il Master ha una priorità sul suo modulo di espansione pari a 2.

Il risultato è che lo Slave leggerà 10 volte i sensori del modulo in una finestra temporale di 23 secondi al termine dei quali invierà il dato mediato al Master.

Il Master invece effettuerà le 10 letture del modulo di espansione in 4.6 secondi.

Il Master quindi invierà al broker MQTT i dati dello Slave ogni 23 secondi e i dati del suo modulo ogni 4.6 secondi.

Le finestre di priorità valgono per ogni tipo di comunicazione quindi anche per l’invio di un comando.

Alcuni moduli tuttavia hanno la possibilità di impostare delle soglie alla lettura dei sensori. Superata questa soglia viene inviato immediatamente il dato corrispondente al superamento, al di là della finestra temporale (vedi in seguito).

 

Per quanto riguarda la modalità Tag non vi è l’impostazione di priorità ma c’è l’impostazione della “vitalità”. Il modulo Radio, quando viene configurato come Tag, allo scadere di un conto alla rovescia, invia un messaggio broadcast contenente i dati del proprio modulo di espansione se ne è equipaggiato o un semplice messaggio contenente i dati identificativi se sprovvisto di moduli di espansione. Il timer di vitalità va da 2 a 130.000 secondi (poco più di 36 ore).

Anche il Tag, qualora fosse dotato del modulo Environment, può regolare una soglia inerente i dati dell’accelerometro al superamento della quale invia un messaggio di alert immediatamente al di là del timer di vitalità.