RIFERIMENTI
Ing. Paolo Barsocchi (Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.) / Dr. Erina Ferro (Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.)
Istituto di Scienza e Tecnologie dell’Informazione del CNR (CNR-ISTI), Area della Ricerca del CNR di Pisa, Via Moruzzi 1, 56124 Pisa.
sito web dell'Istituto: www.isti.cnr.it
PRINCIPALI ATTIVITA’ NEL SETTORE ENERGIA
L’Istituto ISTI è impegnato del progetto Smart Building, sotto-progetto del progetto Smart Cities. L’attività Smart Building prevede lo sviluppo di una rete di nodi sensori che permetta il monitoraggio del consumo energetico di uno o più ambienti, l’attuazione di decisioni legate al consumo energetico, e il riconoscimento della presenza/assenza di persone all’interno dell’ambiente stesso (informazione binaria, priva di qualunque contenuto informativo su chi è la persona). Tale rete di sensori è in grado di dialogare con altre reti di nodi sensori, installate in altri ambienti e utilizzanti tecnologie eterogenee; la rete è identificata tramite un indirizzo IPv6.
Questa attività permette il calcolo del consumo energetico di un ambiente e l’uso di tecniche di controllo remoto su tale consumo. I dati raccolti sono memorizzati sul cloud dell’area del CNR di Pisa.
I requisiti fondamentali dell’attività sono:
- il basso costo dei sensori in sviluppo
- la totale versatilità del sistema
- la non invasività delle installazioni
- l’uso di IPv6 come sistema di indirizzamento
- la connessione con l’Internet delle Cose (IoT)
- l’integrazione con l’esistente
- lo sviluppo su cloud di algoritmi decisionali per il controllo energetico
- lo sviluppo di applicazioni indirette legate alle informazioni derivanti dai sensori installati
- la totale indipendenza di questo progetto da altre realizzazioni ma la sua potenziale interconnettività.
Al monitoraggio sono associati vari livelli di intervento:
- Monitoraggio tramite interfaccia web di uno o più parametri (consumo energetico, umidità, temperatura, presenza/assenza di persone) nell’ambiente monitorato. Nessun intervento previsto.
- Monitoraggio dei parametri suddetti e interventi di risparmio energetico, sia manuali che automatici, sugli ambienti controllati, in base a decisioni prese basandosi sui soli consumi elettrici.
- Monitoraggio sia dei consumi energetici delle aree sorvegliate che dei parametri relativi al benessere degli occupanti (temperatura e umidità dell’ambiente di lavoro, etc.). In questo modo il sistema dopo aver applicato le politiche di risparmio, valuta i parametri di benessere degli occupanti per capire se rilassare le politiche per non far scendere la soglia di benessere sotto un determinato livello. I parametri legati al benessere sono elaborati dal sistema per poter adattare le politiche di risparmio energetico in modo da bilanciare benessere della persona e risparmio energetico.
L’architettura del sistema prevede che ciascun ambiente, tra quelli sottoposti a monitoraggio e gestione, sia coperto da una rete di nodi sensori ed attuatori wireless (RoomNet). La tecnologia scelta per la rete di nodi sensori wireless è ZigBee: sono economici, consumano poco, sono adatti a un refitting non invasivo della struttura; inoltre, ZigBee offre meccanismi versatili per l’estensione delle funzionalità. Le misurazioni rilevate dai nodi sensori all’interno di una RoomNet sono raccolte da uno speciale nodo che fa capo alla RoomNet stessa (Sink). Questo è, a tutti gli effetti, un calcolatore di tipo “x86”, e sarà dotato, oltre che di una interfaccia di rete 802.15.4 per l’accesso alla rete ZigBee, anche di un’interfaccia di rete (cablata ove possibile, o wireless dove no) per l’accesso ad una rete IP, nella sua versione 6 (IPv6). Il Sink si preoccupa di propagare i dati raccolti dai nodi sensori della RoomNet sulla rete IP e fornisce inoltre la possibilità di controllare gli attuatori disponibili all’interno delle RoomNet. Questo è possibile grazie a un Middleware da noi implementato, funzionante a bordo del Sink, che si preoccupa della propagazione dei dati provenienti dai nodi sensori e del controllo degli attuatori. Il Middleware è una piattaforma di comunicazione orientata alla gestione di sensori e attuatori in ambiente distribuito che offre la possibilità di pubblicare dati forniti dai sensori su un canale di comunicazione, permettendo inoltre l’invio di comandi a degli attuatori. Il nostro sistema Middleware sfrutta il protocollo MQTT e il paradigma di comunicazione publish/subscribe per lo scambio di messaggi. All’interno di ogni Sink, moduli software dedicati annunciano sul bus la disponibilità di sensori descrivendone, per ognuno, il formato dati generati per ogni rilevazione e pubblicandone periodicamente i relativi dati sul bus di comunicazione. Questi moduli sono adattatori dipendenti dalla tecnologia di sensori che sfruttano quindi uno stack specifico per poter accedere alla rete di sensori. I dati pubblicati sul context bus vengono raccolti su un secondo nodo dove è in esecuzione un componente software che, utilizzando il Middleware come consumatore di messaggi, monitora la presenza di nuovi sensori e ne registra su un database non relazionale i dati relativi provenienti dal context bus di riferimento del sensore. La API del modulo Middleware nasconde ai propri client il tipo di formato di documento utilizzato per i dati in transito sul bus. Il formato di documento scelto per questo scopo è JSON (JavaScript Object Notation), vista la sua caratteristica di compattezza e quindi basso impatto sul consumo di banda nella rappresentazione di dati strutturati.
La Figura 1 illustra l’architettura generale del sistema progettato.
Figura 1. Architettura generale del sistema
I dati misurati dalle singole RoomNet vengono pubblicati su un database remoto, grazie al supporto del canale di comunicazione offerto dal Middleware. Processi decisionali interrogano quest’ultimo in modo da poter prendere decisioni circa l’ottimizzazione energetica dell’ambiente sotto monitoraggio, mediante controllo degli attuatori. Gli amministratori del sistema possono visualizzare i dati collezionati e configurare gli algoritmi decisionali mediante apposite interfacce grafiche. Tali interfacce sono accessibili anche da dispositivi mobili.
INFRASTRUTTURE E STRUMENTAZIONE
La ricerca di mercato per la selezione della piattaforma ha tenuto conto dei seguenti elementi:
• programmabile: con un ambiente software che permetta la creazione di soluzioni ad-hoc;
• System on Chip (SoC): una soluzione hardware che integri oltre al processore centrale (Core) un controller Radio ed, eventualmente, altri controller.
• supporto ZigBee: un ambiente software con la maggiore completezza del supporto dello standard ZigBee con i relativi profili.
I risultati principali di questa ricerca sono mostrati in Tabella 1.
PRODUTTORE | SOC | AMBIENTE DI SVILUPPO | STACK ZIGBEE |
Texas Instruments | CC2530/CC2531 | IAR Embedded Workbench | ZStack |
Silicon Labs | EM351/EM357 | IAR Embedded Workbench | EmberZNet |
Atmel | Atmega256RFR2 | Atmel Studio | BitCloud |
Freescale | MC1323X | IAR Embedded Workbench | BeeKit |
NXP Semiconductors | JN516X | SDK (Eclipse based) |
SDK libraries
|
Tabella 1 - Produttore, SoC principale, Ambiente di sviluppo e stack ZigBee
Figura 2 – Il circuito di condizionamento del canale di corrente e di tensione
Relativamente al supporto di ZigBee, ulteriori criteri di raffinamento della scelta erano la semplicità di uso ed il supporto per due particolari Application Profile definiti dalla ZigBee Alliance: il profilo Smart Energy ed il profilo Home Automation. La piattaforma hardware selezionata è stata Open2530, prodotta da WaveShare Electronics (WE), composta dal SoC di Texas Instruments (TI) CC2530. Sfortunatamente la piattaforma Open2530 non dispone di sensori per la lettura dei dati di tensione e corrente; quindi, è stata scelta la soluzione proposta dal progetto open source OpenEnergyMonitor (OEM) che prevede l’utilizzo di un trasformatore di corrente (CT) e di un trasformatore di tensione AC/AC a 9V. La soluzione proposta, però, è adatta per i dispositivi Arduino e, per poterla integrare con la piattaforma Open2530, è stata parzialmente riprogettata. La Figura 2 mostra i circuiti di condizionamento rispettivamente del canale di corrente (a) e del canale di tensione (b).
La piattaforma Open2530, oltre al modulo radio Core2530 -composto dal SoC CC2530-, è dotata della board di supporto ZB500, che possiede le seguenti caratteristiche:
Interfacce: porte I/O analogico digitali, USB, UART, SPI, ONE-WIRE, JTAG
• LED e Switch
• Power pin headers e supporto per alimentazione a batteria.
L’ambiente software utilizzato per lo sviluppo delle applicazioni è IAR Embedded Workbench per core 8051, utilizzando lo stack ZigBee di TI (lo ZStack). Poiché lo stack è sviluppato specificatamente per le piattaforme hardware TI, in particolare contenute all'interno dei kit di sviluppo, una fase considerevole dello sviluppo è stata la creazione di un driver di adattamento tra lo stack e la piattaforma Open2530, soprattutto per quel che riguarda l'Hardware Abstraction Layer (HAL)
Inoltre, poiché la memoria esterna presente nella piattaforma (4 Megabit DataFlash AT45DB041D) è differente da quella presente nei kit di sviluppo TI, è stato completamente riscritto il codice per la comunicazione seriale SPI, tenendo presente i nuovi comandi di programmazione e cancellazione della memoria. La comunicazione con la memoria esterna è essenziale per il salvataggio del firmware quando viene effettuato l'aggiornamento dello stesso via radio; quest'ultimo è stato testato con successo utilizzando il driver sviluppato e l'Over the Air (OTA) Upgrading Cluster.
TEMATICHE/SETTORI DI INTERVENTO
- Efficienza energetica