Michele Lizzit

Conta energia

1 commento

Qualche anno fa, a casa mia, sono stati installati dei pannelli fotovoltaici; oltre ad essi, è stato aggiunto un inverter, posizionato nella stanza dei server (che più che stanza dei server è un sottoscala dei server); subito ho pensato a quanto sarebbe stato utile poter vedere da remoto lo stato dei pannelli ed eventualmente anche i consumi di casa; il software originale dell’inverter però non permetteva nulla di tutto questo e inoltre funzionava solo su Windows.

Non volendo spendere per mantenere un computer sempre acceso, visti i consumi e i costi di una licenza Windows da dedicare al computer, e volendo realizzare il tutto su una scheda linux a bassissimo consumo, ho inizialmente provato diverse alternative, tutte però poco soddisfacenti: ho provato inizialmente a leggere il led del contatore, che lampeggia una volta per ogni kW/h prodotto o assorbito, con un fotodiodo, ho subito però scartato questa possibilità per la difficoltà nel leggere il led e per difficoltà nel piazzare un Arduino nella scatola del contatore esterno; ho quindi provato utilizzando delle pinze amperometriche: il risultato era buono, ma volevo anche leggere i dati dall’inverter per avere conferma dell’esattezza della misurazione di energia prodotta e avere anche le altre informazioni disponibili.

Infine ho pensato di fare reverse engineering del protocollo dell’inverter per far comunicare l’Arduino al posto del software fornito dalla casa madre; così una sera, armato di un portatile con Windows, e il software originale dell’inverter, in un sottoscala, riuscii a scrivere un primo script in python per leggere i dati direttamente dalla porta RS232.

Questo progetto controlla l’energia prodotta dai pannelli solari che ho a casa mia e i consumi. Usa un Arduino YUN che legge indirettamente due pinze amperometriche e i dati dell’inverter tramite la porta RS232; sfruttando un convertitore RS232-USB, l’Arduino emula il software originale dell’inverter e riesce a ottenere i dati riguardanti produzione dei pannelli e stato dell’inverter. L’Arduino YUN genera inoltre una pagina web con il grafico dell’energia prodotta e dei consumi della casa; attraverso l’interfaccia web si possono inoltre visualizzare, cancellare o scaricare i dati storici, che vengono salvati sulla scheda SD. Si può collegare a un altoparlante che suona appena viene attaccato un carico eccessivo, per evitare di far scattare il contatore generale. Il grafico è visualizzabile anche da remoto su smartphone  tramite una VPN cifrata a 4096bit ( la VPN l’ho realizzata con il Raspberry PI che ho posto accanto allo YUN per accedere in maniera veloce e sicura  anche ad altri dispositivi che ho sulla rete di casa).

Nel caso in cui (è successo, a volte, a causa dei temporali) dovesse cadere l’interruttore differenziale che protegge l’inverter, lo YUN invia una mail di avviso.

Questo progetto è integrato con il videocitofono che ho realizzato (che è molto più di un videocitofono), infatti, inviando al videocitofono via Telegram un apposito comando è possibile ricevere i valori riguardanti lo stato dei pannelli e i consumi di casa.

Per chiedermi ulteriori informazioni utilizzare questo form

 

Rispondi a Zack Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Un commento su “Conta energia”