Edge energy engineering

Dalla misura elettrica.

Home Energy Meter trasforma una misura fisica reale in dati storici, progressivi, costi e previsioni attraverso una pipeline edge-first progettata per funzionare localmente e restare osservabile.

Torna ai progetti

Flagship case study di edge engineering

Home Energy Meterdalla misura al forecast.

Sistema edge per monitoraggio energetico domestico che collega misura Modbus, persistenza locale, fasce F1/F2/F3, tariffa, bollette, stima costi e previsione fine mese.

Runtime edge reale · sviluppo attivo

Il case study presenta solo comportamento implementato e validato sul campo. Misure domestiche, dati contrattuali, dettagli LAN e identificativi runtime privati vengono esclusi intenzionalmente.

Problema di engineering

Il monitoraggio energetico diventa utile solo quando misura, contesto e operatività concordano

Un valore istantaneo in watt non basta. Un sistema utile deve sopravvivere agli errori seriali, preservare l’integrità temporale, allinearsi alle letture ufficiali, comprendere le fasce nazionali, modellare le tariffe e restare operabile su un vero host Linux edge.

Sorgente fisica

Le misure arrivano da un PZEM reale via Modbus RTU, non da telemetria sintetica.

Host edge condiviso

Il runtime condivide un Banana Pi con altri workload: CPU, storage e deployment vanno misurati invece che presunti.

Correttezza temporale

Riallineamenti, tariffe e fasce dipendono dalla decorrenza reale; scorciatoie basate sul solo stato corrente corromperebbero lo storico.

Dati domestici privati

Il prodotto usa dati realistici di consumo e bolletta mantenendo informazioni personali e contrattuali fuori dal sorgente.

Architettura

Una pipeline locale dal protocollo di campo all’intelligenza energetica per l’utente

Il misuratore fisico è isolato dietro un collector resiliente. La telemetria normalizzata viene persistita localmente, rollup compatti alimentano API e dashboard e il modello economico resta timestamp-aware per rendere riproducibili anche i cambi tariffari storici.

  1. 01PZEMMisure elettriche
  2. 02Collector PythonModbus · retry · recovery
  3. 03SQLite + rollupStorico raw · F1/F2/F3
  4. 04FastAPILive · serie · operazioni
  5. 05Dashboard + Cost EngineCapire · costare · prevedere

Misura e modello dati

Acquisizione a un secondo, progressivi ufficiali e analytics ricostruibili

Il collector interroga il meter ogni secondo, valida la plausibilità delle grandezze elettriche e persiste localmente la telemetria. I calcoli storici distinguono misure raw, energia derivata, offset del contatore ufficiale e rollup compatti.

  • Discovery automatica PL2303 e reconnect seriale permettono il recovery anche se Linux assegna un device seriale diverso dopo una riconnessione USB.
  • La health del collector espone esplicitamente starting, healthy, degraded e stopped invece di nascondere gli errori di comunicazione.
  • L’attribuzione F1/F2/F3 segue Europe/Rome e mantiene separati progressivi ufficiali e contatore energetico del meter fisico.
  • Il riallineamento timestamp-aware seleziona un sample di riferimento uguale o precedente all’istante reale della lettura e rifiuta riferimenti troppo lontani.
  • Rollup persistenti 5 minuti, 1 ora e 1 giorno rendono gli analytics ricostruibili ed eliminano le scansioni raw 1 Hz dall’hot path principale della UI.

Commissioning e integrità

La baseline ufficiale è un’operazione auditabile, non un semplice pulsante reset

Il passaggio dai dati di test allo storico ufficiale crea un backup, azzera il contatore hardware, rimuove solo la telemetria di test, preserva configurazioni e carichi e registra un primo allineamento timestamped verso il contatore reale.

Backup prima
Snapshot SQLite prima del commissioning distruttivo
Tempo di riferimento
Istante reale della lettura, non quello del click
Dati preservati
Carichi, calibrazioni e configurazione fornitura
Stato audit
Preparing → awaiting alignment → completed

Affidabilità e operatività

Il failure handling va dal cavo seriale a systemd e alle prestazioni del browser

Il lavoro di engineering non si ferma all’happy path. Recovery, confini dei servizi, privilegi minimi, diagnosi delle prestazioni e regressioni browser fanno parte del contratto del prodotto.

Recovery seriale

Device assente, errori CRC/protocollo e reconnect degradano la health senza terminare il runtime.

Privilegi minimi

Il processo web non ha sudo generico: può avviare solo helper systemd nominativi per restart, reset e commissioning.

Deployment operativo

Collector, API e updater sono unit systemd versionate con clone production read-only e dati persistenti fuori da Git.

Prestazioni misurate

Latenza cold degli analytics e contesa CPU sono state profilate sull’host reale, portando a rollup persistenti e cleanup degli owner frontend.

Tariffe, bollette e previsione

Il modello economico separa costi deterministici e componenti calibrate

Profili di fornitura, versioni tariffarie e bollette normalizzate sono dati temporali. Il Cost Engine applica la tariffa effettiva all’istante della misura, mentre componenti ricorrenti regolate/fiscali vengono stimate da bollette reali quando non è ancora disponibile un catalogo normativo completo.

Deterministico

Prezzo energia/vendita, quote fisse e quota potenza derivati dalla tariffa versionata.

Calibrato

Componenti ricorrenti rete/oneri e imposte stimate con mediana robusta delle bollette storiche normalizzate.

Escluso dalla proiezione

Bonus, crediti, Canone TV e rettifiche una tantum non vengono trasformati silenziosamente in costi futuri ricorrenti.

Layer prodotto

La UI trasforma i dati di campo in decisioni senza nascondere l’incertezza

Dashboard, consumi, contatore, carichi, grafici tecnici e costi condividono la stessa API locale. Gli analytics pesanti sono caricati in lazy, le richieste vengono deduplicate e il rendering dei grafici è stato più volte auditato sul comportamento reale del browser.

Stato elettrico liveConsumi per F1/F2/F3Riallineamento contatoreCatalogo carichi e identificazione guidataSerie tecnicheStorico tariffa e bolletteStima costiForecast mensile

Cosa dimostra

Engineering end-to-end tra hardware, Linux, dati, API, UX e dominio energia

Home Energy Meter dimostra la capacità di trasformare un problema operativo fisico in un prodotto software osservabile: integrazione del protocollo di campo, persistenza, domain modelling, runtime resiliente, performance, deployment e analytics rivolti all’utente devono funzionare come un unico sistema.

1 Hz
cadenza predefinita acquisizione di campo
3
fasce ufficiali F1/F2/F3 modellate
5m / 1h / 1d
rollup analytics persistenti
edge-first
il core funziona senza dipendere dal cloud

Stato attuale

Sistema R&D maturo, ancora prima del gate finale V1

L’installazione edge reale è operativa e la catena principale misura→costo è implementata. Restano hardening/soak più estesi, backup/retention/log rotation generali, alcune verifiche sui controlli runtime e l’audit responsive completo. Anche l’accuratezza del forecast va confrontata con futuri periodi di fatturazione completi.

Parliamo di un sistema simile

Evidence runtime

Un’interfaccia reale costruita sui dati di campo, non un mockup di dashboard

Queste immagini derivano dall’istanza Home Energy Meter realmente operativa. Prima della pubblicazione sono stati rimossi il browser e sostituiti con dati plausibili i valori, le date, gli identificativi e i nomi di carichi riconducibili all’abitazione.

Nota di pubblicazione: struttura e funzionalità mostrate provengono dal prodotto reale. Valori numerici e dettagli identificativi sono intenzionalmente dati non di produzione.