PowerAlarm – Un sistema di allerta in caso di blackout

Quando manca l’energia elettrica, le conseguenze possono essere molto gravi: alimenti e farmaci rischiano di deteriorarsi, i sistemi di condizionamento o ventilazione possono bloccarsi e per persone anziane o degenti che utilizzano apparecchiature mediche elettriche un guasto può diventare un pericolo reale.

Per affrontare questo problema, un gruppo di studenti dell’Istituto di Istruzione Superiore Marie Curie di Cernusco sul Naviglio, coordinati dal prof. Daniele Ramon, ha sviluppato un progetto extracurricolare dal forte valore sia pratico che didattico: PowerAlarm.
Il sistema permette di rilevare in tempo reale un’interruzione di corrente e di inviare un messaggio di allerta tramite Telegram a un responsabile, che può così attivare tempestivamente le procedure necessarie per il ripristino dell’alimentazione.

Ora lasciamo la parola agli autori del progetto, che ci raccontano in prima persona il funzionamento di PowerAlarm.


PowerAlarm – Il nostro progetto

Noi alunni dell’Istituto Marie Curie di Cernusco sul Naviglio abbiamo realizzato un progetto extracurricolare proposto dal prof. Daniele Ramon.
Il nostro obiettivo è stato quello di ideare un sistema che rilevi l’assenza di energia elettrica e avvisi immediatamente una persona preposta a intervenire. In questo modo si riducono i rischi legati alla conservazione di alimenti e farmaci, e si garantisce continuità a sistemi medici e impianti domestici o aziendali.

La soluzione ha anche un valore didattico, perché ci ha permesso di applicare conoscenze di Informatica, Reti, Tecnologie e Progettazione dei Sistemi Informatici e di Telecomunicazioni, oltre a un percorso di autoformazione.

Un esempio di utilizzo

Immaginiamo un ospedale distribuito su più edifici che desidera monitorare la corrente elettrica nel magazzino farmaci. Qui viene installato il trasmettitore che rileva l’assenza di tensione e invia il segnale alla centrale ricevente, collocata ad esempio in portineria. Quest’ultima, connessa a Internet, provvede a inviare automaticamente via Telegram il messaggio di blackout al responsabile di turno.


Struttura del sistema

Il sistema PowerAlarm è costituito da quattro moduli principali:

  • M1 – Interfaccia alla rete elettrica
  • M2 – Trasmettitore
  • M3 – Centrale ricevente
  • M4 – Telegram

M1 – Interfaccia alla rete elettrica

Il cuore del trasmettitore (M2) è un microprocessore ESP32, che lavora a 3,3 V in corrente continua. Per questo motivo non può essere collegato direttamente alla rete domestica a 220 V.

Il modulo M1 funge da adattatore e comprende:

  • un comune alimentatore da smartphone che converte i 220 V AC in 5 V DC;
  • un circuito elettrico che consente al microprocessore di rilevare la presenza della tensione in uscita dall’alimentatore.

M2 – Trasmettitore

Il modulo M1 è collegato al pin 34 dell’ESP32. Quando la tensione manca, il trasmettitore invia un messaggio di allerta alla centrale ricevente.

Per la comunicazione abbiamo scelto la tecnologia LoRa (Long Range), che permette di trasmettere a lunga distanza con bassissimo consumo energetico. Il trasmettitore è alimentato a batteria (6 V) per funzionare anche in caso di blackout.


// voltage.ino
float readVoltage() {
    return 3300.0 * 2 * float(analogRead(VOLTAGE))/1023.0;
}

I parametri di frequenza, potenza e fattore di diffusione sono stati configurati nel file config.h (GitHub).
Durante i test, il sistema ha funzionato correttamente entro un raggio di alcune centinaia di metri tra trasmettitore e centrale.

M3 – Centrale Ricevente

Anche la centrale è basata su un ESP32, dotato di:

  • scheda LoRa per ricevere i dati dal trasmettitore,
  • scheda WiFi per collegarsi a Internet.

Codice di esempio:


WiFi.begin(WIFI_SSID, WIFI_PSWD);

while (LoRa.available()) {
    receivedMessage += (char)LoRa.read();
}

M4 – Telegram

Infine, il modulo M4 invia il messaggio di allerta via Telegram, utilizzando un bot creato appositamente, chiamato segnalazionecorrentebot.


// telegram.ino
HTTPClient http;
String url = "https://api.telegram.org/bot"
              + String(BOT_TOKEN)
              + "/sendMessage?chat_id="
              + String(USER_ID)
              + "&text="
              + MESSAGE + "%0A";

http.begin(url);
int httpResponseCode = http.GET();

Per ricevere gli avvisi, è necessario che l’utente:

  • abbia Telegram installato sul telefono,
  • avvii il bot segnalazionecorrentebot.

Conclusione

Con PowerAlarm abbiamo realizzato un sistema semplice ma efficace, capace di garantire la tempestiva segnalazione di blackout tramite un canale rapido e immediato come Telegram.

👉 Guarda il video dimostrativo su YouTube


Autori

  • Federico Bonacina
  • Samuele Sebastiano Gagliano
  • Vincenzo Fusco
  • Alessandro Galbiati

Lascia un commento

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

Menu