• Non ci sono risultati.

Wireless Sensor Network

N/A
N/A
Protected

Academic year: 2022

Condividi "Wireless Sensor Network"

Copied!
33
0
0

Testo completo

(1)

Wireless Sensor Network

È una rete senza fili di dispositivi dotati di sensori, denominati WSN Nodes, distribuiti nell'ambiente per rilevare fenomeni fisici o monitorare condizioni ambientali.

(2)

Wireless Sensor Network

La control unit, ha il compito di raccogliere i dati e metterli a disposizione di una sistema di controllo locale, oppure trasmettere le informazioni su un Cloud attraverso cui è possibile accedere da remoto attraverso PC/tablet.

I WSN Nodes trasmettono i dati delle misure effettuate ad una control unit.

È possibile distinguere i Nodes in due tipologie:

Sorgente

Coordinatore

(3)

Wireless Sensor Network

I WSN Nodes trasmettono i dati delle misure effettuate ad una control unit.

È possibile distinguere i Nodes in due tipologie:

Sorgente

Coordinatore

Nodo sorgente: rileva i parametri dell’ambiente in cui è inserito e li trasmette ad un nodo coordinatore o direttamente alla control unit

Nodo coordinatore: raccoglie le informazioni rilevate dai nodi sensore e le ritrasmette verso un altro nodo coordinatore o alla control unit

(4)

Schema a blocchi di un generico nodo sensore

Sensing Unit → Interfaccia del nodo sensore con il mondo fisico al fine di rilevare i parametri di interesse per la specifica applicazione.

Processing Unit → Microcontrollore in cui risiede la capacità di elaborazione e memorizzazione dei dati acquisiti dalla sensing unit.

Comunication Unit → Trasmette in modalità wireless i dati acquisiti verso il nodo centrale di elaborazione

Power Unit → In una WSN non vi sono collegamenti via cavo pertanto è necessario fornire energia al nodo sensore utilizzando una classica batteria o un sistema di harvesting da fonte rinnovabile consentendo di estendere l’autonomia della batteria stessa.

(5)

Wireless Sensor Network in agricoltura

I dati raccolti dai sensori di una Wireless Sensor Network servono a fornire le informazioni necessarie ad un’opportuna unità di controllo che elabora tali informazioni e attua gli opportuni piani di intervento (irrigazioni, fertirrigazioni, apertura/chiusura delle serre, ecc.).

Vantaggi

Campo aperto

Serra

• Quantità di pioggia

• Velocità e direzione del vento

• Temperatura e

umidità del terreno

• Diametro del ramo o del frutto

• Temperatura e umidità dell’aria

• Economici → Risorse utilizzate nella quantità necessaria solo dove necessario

• Produttivi → Impiego non intensivo del terreno → il raccolto aumenta

• Ambientali → Risparmio delle risorse e riduzione dell’uso di pesticidi o fertilizzanti

Parametri

(6)

Sistema SMART di fertirrigazione integrato con una Wireless Sensor Network

Innovazioni del processo

Wireless Sensor Network rilevazione dei parametri ambientali e del terreno

Software di gestione elaborazione dei dati ricevuti dalla rete WSN - comando automatizzato del sistema di fertirrigazione - trasmissione/acquisizione dati su/da Cloud

Database agronomico generale su Cloud raccolta dei dati agronomici provenienti da diverse colture – rielaborazione attraverso modelli agronomici

Controllo remoto gestione del sistema da remoto attraverso Smartphone/Tablet/Pc interfacciato con sistema meteo per variazione dei piani di intervento da attuare

(7)

Schema a blocchi funzionale del nodo sensore realizzato

Power Unit

Pannello fotovoltaico → 1.25 W – 5 VDC

Step-up converter LTC3105 → Vin 0,2 V- 5 V

Batteria a litio ricaricabile → 3,7 V - 800 mAh

2 Supercapacitori in serie → 2,5 V – 150 F

Sensing Unit

Sensore analogico SEN0193 rilevazione umidità del terreno

Sensore digitale DHT22 rilevazione temperatura e umidità ambientale

Sensore digitale SHT11 rilevazione umidità e temperatura del terreno

Processing and Communication Unit

• Processing → CPU Tensilica Xtensa LX106

• Communication → Wireless module: stack TCP/IP compatibile con gli standard Wi-Fi 802.11 b/g/n

• GPIO pins accessibili dall’esterno

NodeMCU DevKit ESP8266

(8)

NodeMCU Devkit ESP8266

Modem-sleep

Light-sleep

Deep-sleep

(9)

Sensore DHT22

Temperatura e umidità ambientale

Caratteristiche tecniche

Comunicazione one-wire con microcontrollore

Sensore digitale

Temperatura → Termistore: variazione della resistenza elettrica di un materiale con la temperatura.

Umidità → Igrometro Capacitivo: l’equilibrio igrometrico che si stabilisce tra l’isolante (polimero termoplastico) e

l’ambiente modifica la permittività relativa del dielettrico

(10)

Soil Moisture Sensor SKU: SEN0193

Caratteristiche tecniche

Sensore analogico capacitivo

Umidità del terreno → l’umidità del terreno influisce sulla sua costante dielettrica influenzando a sua volta la capacità del capacitore. Il valore di capacità, e quindi di umidità, è derivato dalla tensione ai capi del condensatore dopo un tempo di carica predefinito.

• Tensione di alimentazione: 3.3– 5.5 VDC

• Tensione d’uscita: 0- 3.0 VDC

• XC6206: regolatore di tensione

• TLC555C: circuito integrato configurato come astabile: amplificatore in cui l’uscita è riportata all’ingresso con una retroazione positiva

attraverso un filtro passa banda stretto

(11)

Caratteristiche tecniche

Sensore digitale

Umidità e temperatura del terreno → Il dispositivo è costituito da un elemento polimerico sensibile alle variazioni di umidità relativa e temperatura

Sensirion SHT11 Sensor Module

Temperatura e umidità del terreno

• Tensione di alimentazione: 2,4– 5,5 VDC

• Range temperatura: - 40 °C - + 123.8 °C

• Range umidità: 0 - 100% RH

• Interfaccia di comunicazione I2C

• Risoluzione temperatura 14 bit

• Risoluzione umidità 12 bit

• Tempo di risposta umidità 8 s

• Tempo di risposta temperatura 15 s

(12)

1800 s

mW 599

0,29 mW

25,28 DHT22 + SEN0193 + SHT11

Rilevamento grandezze fisiche e trasmissione dati

al nodo centrale

Deep sleep

Deep sleep Modalità Deep Sleep

DHT22 + SEN0193 +SHT11 Deep sleep DHT22 + SHT11

DHT22 + SEN0193 mW

mW 25,29

Consumi stimati nodo sensore

Tempo Deep Sleep [min] Tempo Deep sleep [s]

mW mW

596 574 30

DHT22 + SHT11

DHT22 + SEN0193

Stima dei consumi energetici del nodo sensore

Wake-up → Durata del processo di lettura-elaborazione-trasmissione

dati pari a 2 secondi

Deep-Sleep → Periodo di stand-by tra due Wake-up successivi pari a 30

minuti per un totale di 48 trasmissioni giornaliere

(13)

Scelta della tipologia di alimentazione

La caratteristica principale di una rete di sensori wireless è l’assenza di connessioni via cavo. Pertanto è stata scelta un’alimentazione per mezzo di pannello fotovoltaico opportunamente dimensionato.

Caratteristiche tecniche:

• Potenza pari a 1.25W e 5V di tensione in uscita.

Il pannello fotovoltaico alimenta una batteria a litio o un super-capacitore

Autonomia 4 giorni Voltaggio 3,7 V

DHT22 + SHT11

DHT22 + SEN0193 + SHT11 DHT22 + SEN0193

Deep sleep / Trasmissione dati

Deep sleep / Trasmissione dati

Deep sleep / Trasmissione dati

Dimensionamento batterie

24,1 mAh

mAh 672,4

mAh

672,7 134 F

DHT22 + SHT11

DHT22 + SEN0193

Capacità Supercapacitori

Deep sleep / Trasmissione dati

Deep sleep / Trasmissione dati

4,8

DHT22 + SEN0193 + SHT11

Deep sleep / Trasmissione dati

134,4

F

F

4 giorni = 96 ore

(14)

Convertitore step-up DC/DC LTC3105

Affinché possa essere effettuato un corretto ciclo di carica della batteria a litio o del

super capacitore, è necessario un dispositivo che stabilizzi la tensione in uscita dal pannello. Il dispositivo scelto per questa applicazione è il convertitore step-up basato sul circuito integrato LTC 3105 della Linear Technology.

Caratteristiche tecniche:

• Bassa tensione di Start-Up: 250mVolt

• Ampia gamma della tensione di ingresso Vin, da 0,25 V a 5V

• Maximum Power Control Point

Per configurare la tensione VOUT

(Vcc del nodo sensore) è necessario dimensionare le resistenze R1 ed R2

Batteria a litio ricaricabile [Vout=4,1V] R1 = 1020 kΩ ; R2

= 332 kΩ

Supercapacitore [Vout=5V]

R1 = 1000 kΩ ; R2 = 250 kΩ

(15)

Testing del sensore DHT22

Realizzato il circuito ed il firmware, per verificare il

corretto funzionamento del sensore DHT22 è stato eseguito un confronto tra i dati di umidità e temperatura ambientale rilevati dal sensore DHT22 con quelli forniti dall’aeronautica militare (distanza della staz. rilev. 200 m)

Firmware

One-wire MCU-sensor connection

(16)

Testing del sensore SEN0193

Collegamento modulo NodeMCU e sensore analogico di umidità del terreno SEN0193.

Firmware

Calibrazione del sensore

Sensore fuori dal terreno (0% umidità relativa) per determinare gharia

Sensore immerso in acqua (100% umidità

relativa) per determinare ghacqua Formula per ricavare l’umidità del terreno in % dal valore digitale in uscita dall’ADC (gh_digitalvalue)

A0

Input analogico

(17)

Dopo aver effettuato la calibrazione dei sensori analogici SEN0193, è stato verificato il loro corretto funzionamento.

Il test è stato eseguito variando la percentuale in volume di acqua a intervalli di 10 unità percentuali per volta e valutando quindi l’andamento della risposta del sensore SEN0193

(18)

Testing del sensore SHT11

Collegamento del sensore SHT11 con il modulo NodeMcu ESP8266

Firmware

Il test è stato eseguito variando la percentuale in volume di acqua a intervalli di 10 unità percentuali per volta e valutando quindi l’andamento della risposta del sensore SHT11

Anomalia di funzionamento del sensore SHT11 inserito nel terreno secco

(19)

Wireless Sensor Network → FIRMWARE

Logica di processo con cui operano il nodo sensore ed il nodo coordinatore

Nodo sensore

Nodo coordinatore Alimentazione

sensori

(20)

«Switch» firmware

È stato realizzato uno “switch firmware” che permette di interrompere l’alimentazione dei

dispositivi collegati al modulo NodeMcu. Ciò è stato possibile definendo i GPIO pins dell’ESP8266 come uscite digitali (valore tensione alto Vcc=3,3V) attraverso la funzione pinMode(pin,OUTPUT)

Definizione dei pin del modulo NodeMcu utilizzate come uscite "OUTPUT" per l'alimentazione dei dispositivi.

Attraverso la funzione DigitalWrite è possibile controllare il livello di tensione dei GPIO

(21)

A connessione avvenuta, viene richiamata la funzione readDHT_SEN0193Sensor_SHT11()

digitalWrite(pin,HIGH) → Controlla l’accensione dei dispositivi collegati portando a livello logico alto (3.3V) i relativi pin di alimentazione

AnalogRead (A0) - shtx1x.readTemperature() - shtx1x.readHumidity () - dht.readHumidity () - dht.readTemperature () → Acquisiscono i valori di umidità e temperatura ambientali e del terreno dai relativi sensori

(22)

digitalWrite(pin,HIGH) → Controlla l’accensione dei dispositivi collegati portando a livello logico alto (3.3V) i relativi pin di alimentazione

AnalogRead (A0) - shtx1x.readTemperature() - shtx1x.readHumidity () - dht.readHumidity () - dht.readTemperature () → Acquisiscono i valori di umidità e temperatura ambientali e del terreno dai relativi sensori

La funzione buildDataStream () provvederà a organizzarli all’interno di un pacchetto dati che sarà successivamente inviato al nodo coordinatore di pertinenza

Generazione delle stringhe contenenti i dati da inviare al nodo cooridianatore

(23)

Se la trasmissione del pacchetto dati è avvenuta con successo, viene richiamata la funzione hibernate()

digitalWrite(pin,LOW) → Spegnimento dei pin a cui i sensori sono connessi ESP.deepSleep (sleepInterval, WAKE_RFCAL) → entra in modalità deep-sleep attraverso per un periodo pari al valore definito dalla variabile sleepInterval Se la connessione non è avvenuta con successo

(24)

La connessione potrebbe non avvenire con successo

Le cause di tale condizione possono essere molteplici, come ad esempio nodo coordinatore impegnato in una trasmissione dati con un altro nodo sensore, nodo coordinatore che sta trasmettendo all’unità centrale, assenza di rete. Per ovviare a tale problematica è stato introdotto un «timer» firmware

timer firmware → istruzione condizionale if (counter > x), in cui x rappresenta il numero di iterazioni e dunque il tempo oltre il quale il nodo sensore non cerca più di stabilire una connessione con il nodo coordinatore

hibernateFailToConnect() → richiama la variabile failConnectRetryInterval, ovvero l’intervallo di tempo che il nodo sensore attende prima di riprovare a stabilire una connessione con il nodo coordinatore.

(25)

Firmware Nodo Coordinatore

Diagramma di flusso rappresentativo della logica eseguita dal nodo coordinatore.

(26)

La generazione della rete da parte del nodo coordinatore (configurato in modalità Server) avviene nel blocco “Access Point” attraverso la funzione setupAccessPoint()

Dopo che il nodo coordinatore ha generato la rete, il passo successivo riguarda la ricezione dei dati trasmessi dai nodi sensore.

handle_feed() → attraverso il comando server.arg vengono acquisiti i dati inviati dai nodi sensore

(27)

I dati ricevuti sono organizzati in un array di stringhe, denominato

«DatiNodiSensore[DATO][ID]», che dispone sulle righe il dato relativo all’informazione da immagazzinare e sulle colonne l’identificativo del nodo di appartenenza.

Per la compilazione della matrice è stata utilizzata una sequenza di istruzioni condizionali if

Il nodo coordinatore rimane in ascolto per un prefissato intervallo di tempo.

All’interno di questa finestra temporale, i nodi sensore hanno la possibilità di trasmettere il loro pacchetto dati.

(28)

Successivamente, il nodo coordinatore esce dalla modalità di ascolto e, dopo aver letto i valori presenti all’interno dell’array DatiNodoSensore[][] attraverso la funzione lettura_trasmissione_matrice(), disattiva la modalità Access Point e avvia la modalità SetupStMode(), ovvero la modalità station che permette al nodo coordinatore di assumere il ruolo di client della rete generata o dal nodo centrale o da un router remoto che consente ad esso l’accesso alla rete internet.

Il nodo coordinatore invia tramite connessione Wi-Fi all’unità centrale che a sua volta trasmetterà i dati su Cloud dove vengono rielaborati e rappresentati.

(29)

Prototipo Nodo Sensore

Prototipo del nodo sensore realizzato integrato con il sistema di alimentazione solare munito di supercapacitori ricaricati attraverso pannello fotovoltaico.

Circuito realizzato con l’LTC3105 per l'interfacciamento del pannello solare col sistema di accumulo.

Prototipo del nodo coordinatore

(30)

Prototipo Nodo Sensore

Prototipo del nodo sensore realizzato integrato con il sistema di alimentazione solare munito di supercapacitori ricaricati attraverso pannello fotovoltaico.

Circuito realizzato con l’LTC3105 per l'interfacciamento del pannello solare col sistema di accumulo.

Prototipo del nodo coordinatore

(31)

Caratterizzazione del regolatore di tensione

Set-up sperimentale per la caratterizzazione del regolatore di tensione (AMS117) integrato sul NodeMCU utilizzato per la generazione dei 3.3 V da utilizzare per l’alimentazione del circuito integrato ESP8266.

• Alimentatore da banco per fornire in ingresso al modulo NodeMCU l’opportuna tensione di alimentazione.

• Multimetro digitale per rilavare la tensione in uscita dal regolatore

Affinché in uscita dal regolatore di tensione si abbia una tensione stabilizzata a 3.3V, in ingresso sono necessari 4.5V. Sebbene una tensione di 3.3V sia il valore consigliato, il dispositivo presenta un comportamento corretto a partire da 3 V in uscita dal regolatore.

(32)

Stima dei consumi del nodo sensore

Set-up sperimentale per la determinazione dei consumi del nodo sensore nelle differenti modalità operative: ricerca nodo coordinatore – rilevazione e trasmissione dati – deep sleep

Oscilloscopio → Utilizzato per la misurazione della differenza di potenziale ai capi di una resistenza di sensing posta in serie alla linea dell’alimentazione del modulo NodeMcu e quindi della corrente assorbita dal circuito (Legge di Ohm)

Permette inoltre di determinare le durate temporali delle differenti fasi di funzionamento del nodo utilizzate per la stima dei consumi energetici del nodo sensore

(33)

Consumi nodo sensore alimentato con supercapacitori o batteria a litio

Supercapacitori

Batteria a litio

Rispetto alle valutazioni iniziali, i risultati ottenuti dai test sperimentali dimostrano un’autonomia energetica reale inferiore a quella ipotizzata. Ciò è giustificato dal maggior tempo necessario al nodo sensore per l’acquisizione e trasmissione dati (9s vs 2s) e dai maggiori livelli di corrente assorbiti dalla scheda NodeMCU nella modalità deep-sleep (3mA vs 20 μA) a causa del consumo (in precedenza non considerato) del regolatore di tensione pari a 2,6 mA.

Calcolo analitico e verifica sperimentale della riduzione della tensione ai capi del supercapacitore durante un ciclo completo

Riferimenti

Documenti correlati

Il software è organizzato in modo da creare una singola cartella per ogni acquisizione, distinguendo al suo interno i singoli frame catturati (se multipli), numerati

This paper proposed a CS- based system within a sparse measurement matrix and a iterative hard thresholding recovery algorithm, which is expressed to improve the

• sito del laboratorio per ambito di ricerca delle “reti mobili semantiche auto-organizzanti di sensori radio”.

We provide evidence suggesting the most cost-effective management approach hinges on preventing the saprobic establishment of the fungus in stumps in a “buffer”

Given thè economie importance of walnut cultivation in centrai and southern Italy, a field survey was carried out to ascertain thè possible occurrence of thè disease also in

These two texts are revealing: clearly Polyaenus is summing up the same source and since Diodorus’ books 11-15 are usually supposed to be widely based on the Cuman historian, 9 it

Le reti di sensori wireless, wireless sensor network (WSN) sono reti molto den- se, cioè costituite da moltissimi nodi (spesso centinaia o migliaia, fino talvolta ai mi-

Dato il loro ruolo centrale nella comunicazione, i cluster head consumano più energia dei nodi “normali”, quindi prima o poi si scaricherebbero, compromettendo il funzionamento