Controllo Wi-Fi del consumo energetico per risparmiare sulla bolletta

Il controllo del consumo energetico è un problema più attuale che mai, soprattutto in tempi come questi, dove ogni possibile risparmio è benvenuto. Oltre ad avere buonsenso e a cercare di ridurre al minimo gli sprechi, è possibile dotarsi, grazie a dei progetti fai da te, di strumenti utili al controllo del consumo di energia. Un esempio? Un piccolo sistema in grado di calcolare i Wh ora utilizzati attraverso i lampeggiamenti del Led del contatore. Sono necessari un microcontrollore connesso ad internet e dei sensori per rilevare i lampeggiamenti del Led sul contatore. Quest’ultimo, nel progetto che segue, non è accessibile o modificabile. Nel dettaglio, sono stati impiegati un kit di sviluppo CC3200, un chip con Wi-Fi e un processore ARM Cortex-M4 da 80MHz.

Controllo del consumo energetico: parte hardware

Hardware

Vediamo di cosa abbiamo bisogno per questo progetto:
- Processore: abbiamo utilizzato un kit di sviluppo CC3200 con una connessione wi-fi integrata e tutte le parti necessarie per il controllo energetico, il rilevamento dell’interrupt e i timer.
- Sensore: un sensore luminoso economico è sufficiente, ma in questo caso è stato utilizzata una fotoresistenza che lavora con 3-6V (per il CC3200 ne sono richiesti 3.3V) ed è dotata di un amplificatore operazionale in modalità comparatore e di un potenziometro che permette di configurare la soglia di toggling.

Controllo del consumo energetico: l’elettronica

Elettronica

Oltre al sensore e al CC3200, il progetto necessita di una fonte di energia per alimentare il CC3200 e di un cavo per collegare il sensore e il microcontrollore. È stato utilizzato per lo scopo un caricatore Usb per l’alimentazione, mentre per il cavo è bastato un vecchio cavo Usb. Per fissare il sensore sul contatore, senza utilizzare colle o apportare modifiche, si è proceduto nel seguente modo: è stato prodotto con stampante 3D un supporto per il sensore in grado di sostenerlo nel punto in cui doveva essere posizionato, e fissato con dei cavi al contatore. Grazie a Google Sketchup è stato realizzato il supporto, e con STL export add-on è stato possibile ottenere il file 3D stampabile.

Supporto sensore stampa 3d Supporto sensore

Controllo del consumo energetico: il software

CC3200: per programmare il microcontrollore è stato utilizzato Energia; il codice stile Arduino è infatti semplice e perfetto per questo tipo di progetto, nel quale il tempo è più importante di un codice ben scritto e stabile. Tutto ciò che riguarda il processore e la programmazione a basso livello viene gestito dalle librerie e il tempo per lo sviluppo del primo prototipo è quasi nullo.
Clock: per la configurazione è stato utilizzato un normale timer da 32-bit che può contare fino a 80e6 e richiamare un vettore di interrupt, riuscendo di fatto a segnare un secondo sul processore da 80MHz. Forse non è la soluzione ideale, ma funziona bene per questo progetto, che non richiede una precisione maniacale.
Interrupt: Visto che la maggior parte delle funzioni che girano su Arduino sono state implementate per CC3200, l’interrupt si configura semplicemente con attachInterrupt ().

Segnale1 Segnale2

Get request

Salvare i dati su un foglio di calcolo Google è una ottima soluzione, perché sono accessibili da ogni parte del mondo e inoltre i data center di Google sono molto robusti. Ma ovviamente sono richieste le credenziali di account. Per ovviare a questa esposizione della privacy, si può adottare un altro sistema, che permette di fare una GET REQUEST e di gestire la verifica e la formattazione dei dati con Javascript sul lato Google App. Google richiede SSL e le ultime librerie Wi Fi per CC3200 possono inoltrare una richiesta SSL. In questo modo il codice su CC3200 viene minimizzato e conferisce maggiore flessibilità con Javascript sul lato Google App.

Google Apps

La parte ricevente del sistema è scritta in Javascript come uno script Google Apps che verifica e formatta i dati. Per poter inoltrare le richieste GET senza dover rivelare le credenziali del proprio account Google, lo script deve essere pubblicato e accessibile da tutti, anche in anonimo. Questo passaggio potrebbe apparire non sicuro, ma uno dovrebbe conoscere lo specifico ID del foglio di lavoro di Google, ovvero una stringa lunga e difficile da indovinare.
Quando si invia una richiesta GET a Google, esso risponde con un errore “320: moved temporarily”, anche se l’URL è corretto, ma viene poi ignorato al passaggio dei dati. Un’altra peculiarità di questo aspetto del progetto è che se si vuole caricare il codice accessibile pubblicamente , c’è bisogno di pubblicarne ogni volta una nuova versione tramite File>Manage versions, quindi Publish>Deploy as web app.

Conclusioni

Questo progetto è stato svolto in una settimana, calcolando il tempo dal momento dell’idea ai risultati: serve a dare una migliore visione riguardo il consumo dell’energia elettrica. Una ulteriore implementazione potrebbe essere la pulizia del codice per mandare CC3200 in modalità ibernazione anziché lasciarlo inattivo a 20-30mA, così da consumare minore energia.
Article courtesy of Nurgak

ALLEGATO

Electricity-usage-monitor-master

Scrivi un commento

Send this to a friend