FN_117

NOVEMBRE 2023 FIELDBUS & NETWORKS 46 Fieldbus & Networks diversa natura trasformandole in un segnale elettrico opportuno (operazione di ‘sensing’). Questa terminologia può originare confusione, in quanto il termine ‘sensore’ viene comune- mente utilizzato sia per l’unità di sensing vera e propria, sia per il sistema embedded (nodo sensore) nel suo complesso. I sensori che si possono trovare oggi in com- mercio sono numerosissimi e includono tra- sduttori di temperatura, umidità, intensità luminosa e pressione, così come sensori per il rilevamento di fumo, sostanze tossiche, di prossimità ecc. Un sensore è in grado di rive- lare e/o misurare grandezze ambientali, senza tuttavia poterle modificare. − Attuatori Un ruolo duale è svolto dagli attuatori, disposi- tivi in grado di agire sull’ambiente circostante in diversi modi. Esempi di attuatori sono: bracci meccanici, valvole, servo azionamenti, ma anche sirene d’allarme, altoparlanti, luci, vide- oproiettori, caloriferi ecc. Un nodo sensore può comprendere un numero variabile di trasduttori e attuatori, anche di diversa natura, che pos- sono essere combinati e utilizzati nei modi più disparati. L’equipaggiamento del nodo sensore ne determina le funzionalità, ma anche il costo, il consumo energetico e l’ingombro. − Unità di elaborazione e controllo L’unità di elaborazione contiene un microproces- sore (CPU), che fornisce l’intelligenza necessaria al dispositivo per operare in modo autonomo. Il ruolo della CPU può essere svolto da diverse ti- pologie di circuiti logici; comunemente la scelta ricade su un microcontrollore a basso consumo, ma è possibile impiegare anche un Fpga (Field Programmable Gate Array), un DSP (Digital Si- gnal Processing) o un Asic (Application Specific Integrated Circuit), anche a supporto del micro- processore per diminuirne il carico di calcolo. Oltre al microprocessore, l’unità di elaborazione contiene un convertitore analogico-digitale (ADC), utilizzato per tradurre i segnali elettrici generati dai trasduttori in forma digitale in modo da consentirne l’elaborazione software. Analogamente, è spesso presente un’unità duale, ovvero un convertitore digitale-analogico (DAC), che trasforma segnali digitali generati dal microprocessore in segnali elettrici analo- gici utilizzati per pilotare gli attuatori. − Memoria Il microprocessore è spesso integrato con alcuni blocchi di memoria ROM (Read Only Memory) e RAM (Random Access Memory), utilizzati per ospitare il codice eseguibile del sistema opera- tivo e dell’applicazione, nonché i dati acquisiti dai sensori ed elaborati dall’applicazione. In realtà, la ROM è spesso programmabile e fisi- camente realizzata con memoria di tipo flash, in modo che il sistema operativo e il software in esecuzione sul nodo siano modificabili. La gestione e l’utilizzo delle memorie è una fonte di consumo energetico; pertanto, i blocchi di me- moria integrati hanno capacità ridotte, limitate a poche decine di kbyte. Alcune piattaforme, tut- tavia, possono essere dotate di memorie flash aggiuntive, connesse al microprocessore per mezzo di interfacce di tipo seriale. Chiaramente l’utilizzo delle memorie aggiuntive aumenta la potenzialità del nodo, ma influisce negativa- mente sui consumi energetici. − Unità di comunicazione La comunicazione tra nodi sensori si realizza tipicamente per mezzo di segnali radio, anche se per alcune applicazioni sono possibili solu- zioni alternative che impiegano comunicazioni ottiche o ultrasuoni, come nel caso delle reti di sensori subacquee. Solitamente, tra tutti i componenti del nodo la parte radio rappresenta il dispositivo che consuma la maggior parte dell’energia. Per ridurre il costo e il consumo energetico dei nodi si utilizzano tipicamente modulazioni ben consolidate e di bassa com- plessità, a discapito della capacità trasmissiva, che è spesso limitata a qualche decina di kbps. Per limitare ulteriormente il costo finale del di- spositivo, la modulazione radio avviene normal- mente nelle bande comprese tra gli 868-870 MHz o nelle bande ISM (Industrial Scientific Medical) attorno ai 900 MHz, e con maggiore diffusione oggi ai 2,4 GHz, per le quali non è richiesta licenza governativa. Il software Oltre all’hardware, la piattaforma deve ospitare il software necessario a gestire la comunicazione tra i diversi nodi (protocollo) e il dato dell’applica- zione (inviato o ricevuto). Sfortunatamente, le pe- culiarità delle reti di sensori e le caratteristiche dei nodi rendono difficilmente riutilizzabile il software disponibile in commercio, e richiedono lo sviluppo di soluzioni progettate appositamente per la piat- taforma utilizzata e per la specifica applicazione da realizzare. Questo vale anche per il sistema operativo, al quale è richiesto di soddisfare i seguenti requisiti: − ridottissima occupazione di memoria; − basso consumo di energia durante l’esecuzione dei processi; − consumo del tutto trascurabile durante lo stato di inattività (‘idle’); − gestione della concorrenza (accesso simultaneo di più thread alla stessa risorsa); − supporto efficiente ai protocolli di rete (in termini di consumo energetico); − facile accesso alle funzionalità di basso li- vello della piattaforma per mezzo di interfacce astratte. Generalmente, lo sviluppo del sistema operativo e delle applicazioni avviene per mezzo di linguaggi di programmazione basati su C, che vengono quindi compilati per lo specifico microprocessore del nodo sensore utilizzato. Tuttavia, è quasi sempre possi- bile ricorrere alla programmazione di alcuni moduli utilizzando direttamente il linguaggio Assembly del microprocessore, se si desidera spingere al mas- simo le prestazioni del codice. Come per il sistema operativo, il software che definisce i servizi più avanzati della WSN deve occupare pochissimo spazio di memoria e deve Fig.3 - Confronto delle prestazioni (consumo-distanza) di diversi protocolli wireless

RkJQdWJsaXNoZXIy Mzg4NjYz