Tenere sotto controllo la temperatura di una stanza e accorgersi rapidamente di un guasto alla climatizzazione prima che il calore possa creare problemi ai server e agli altri apparati elettronici.

Per questo ho realizzato un piccolo sistema basato su Arduino UNO R4 WiFi e una sonda DS18B20, con visualizzazione locale della temperatura, pagina web e notifiche Telegram in caso di allarme.

Cosa ho realizzato

La mia esigenza era semplice: volevo conoscere la temperatura entrando nella sala server, ma soprattutto essere avvisato a distanza se diventava troppo alta. Questo perchè come in quasi tutte le aziende, i server sono in una stanza separata e poco controllata per il rumore che emanano.

Ho sfruttato la matrice LED integrata nell’Arduino UNO R4 WiFi per visualizzare la temperatura direttamente sulla scheda. Ho scelto di mostrare solo i gradi interi, senza decimali, per sfruttare meglio il poco spazio disponibile ed evitare di aggiungere un display esterno.

Tramite Wi-Fi Arduino mette inoltre a disposizione una pagina web dalla quale posso controllare la temperatura e modificare le impostazioni. Quindi ho ridotto al minimo i particolari elettronici da installare. Praticamente siamo al minimo sindacale.

La funzione più importante è però l’integrazione con Telegram: se viene superata la soglia impostata ricevo automaticamente un messaggio sul telefono. In una sala normalmente senza supervisione, era proprio questo lo scopo principale del progetto.

Componenti utilizzati

Per mantenere il progetto semplice ho utilizzato pochi componenti:

  • Arduino UNO R4 WiFi
  • Sonda DS18B20
  • Resistenza da 4,7 kΩ
  • Alimentatore USB

La scelta dell’UNO R4 WiFi mi ha permesso di avere sulla stessa scheda Wi-Fi e matrice LED, senza aggiungere altri moduli.

Collegamento del DS18B20

Inizialmente volevo utilizzare A0 per il segnale della sonda. In questo modo avrei potuto realizzare un piccolo connettore con alimentazione, resistenza di pull-up e segnale tutti sullo stesso lato della scheda.

Durante le prove, però, la sonda su A0 non veniva rilevata. Ho quindi spostato il DATA sul pin digitale D2, dove il DS18B20 ha funzionato correttamente e non mi sono soffermato a capire il perchè proprio non riuscissi.

Il collegamento definitivo è:

  • VCC → 5V
  • GND → GND
  • DATA → D2
  • Resistenza 4,7 kΩ tra DATA e 5V

Monitoraggio Wi-Fi e notifiche Telegram

Una volta verificata la lettura della temperatura, ho collegato Arduino UNO R4 WiFi alla rete Wi-Fi e realizzato una semplice pagina web raggiungibile dalla rete interna, dalla quale posso controllare la temperatura e configurare i principali parametri del sistema.

La temperatura viene visualizzata anche sulla matrice LED integrata nell’Arduino, così posso controllarla direttamente sul posto senza dovermi collegare.

Telegram: se la temperatura supera la soglia impostata, il sistema mi invia automaticamente un messaggio di allarme sul telefono cosi vado a controllare cosa succede.

In questo modo Arduino può rimanere installato nella sala server e lavorare autonomamente, avvisandomi quando è necessario intervenire.

Configurazione del software

Per compilare il progetto con Arduino IDE ho utilizzato le librerie necessarie per gestire il sensore DS18B20, la connessione Wi-Fi e Telegram. Vanno tutte scaricate sennò il programma non potrà funzionare.

Nella cartella del progetto, ci sarà anche il file “arduino_secrets.h” .

All’interno vanno inseriti queste informazioni:

  • nome della rete Wi-Fi (SSID)
  • password Wi-Fi
  • Token del bot Telegram
  • Chat ID Telegram

SSID e password permettono all’Arduino di collegarsi alla rete, mentre Token e Chat ID servono per inviare gli allarmi Telegram al telefono.

Le altre impostazioni, come la soglia di temperatura, possono essere gestite direttamente dalla pagina web senza dover modificare e ricaricare ogni volta il programma.

Installazione del software

Per semplificare l’installazione ho raccolto tutto il necessario in un unico file ZIP.

All’interno del pacchetto sono presenti:

  • lo sketch Arduino (.ino) completo;
  • il file dedicato alle credenziali (arduino_secrets.h), così da non inserirle direttamente nello sketch principale;
  • un file LEGGIMI con le indicazioni principali.
  • Lo schema dei collegamenti

Dopo aver scaricato e decompresso il file ZIP, apro il progetto con Arduino IDE e inserisco nel file delle credenziali i dati della mia rete Wi-Fi e quelli del bot Telegram.

Se non si dispone ancora di un bot Telegram, ho preparato una guida separata:

→ Come creare e configurare un bot Telegram per Arduino
[LINK ALL’ARTICOLO]

A questo punto collego l’Arduino UNO R4 WiFi al computer tramite USB, seleziono la scheda e la porta corretta nell’Arduino IDE e carico il programma.

Al primo avvio Arduino si collega alla rete Wi-Fi. Dal Monitor Seriale (impostare 115200 bps di baud rate) posso leggere l’indirizzo IP assegnato dal router.

Inserendo questo indirizzo nel browser accedo alla pagina web del monitor di temperatura.

Download

→ Scarica il progetto completo Monitor Sala Server per Arduino UNO R4 WiFi

Utilizzo

Una volta avviato, il sistema funziona in modo autonomo. La matrice LED mostra la temperatura attuale arrotondando alla cifra intera, mentre digitando nel browser l’indirizzo IP dell’Arduino posso accedere alla pagina web di controllo.

Da qui posso visualizzare la temperatura precisa, modificare la soglia di allarme e verificare il funzionamento delle notifiche Telegram.

Se la temperatura supera il valore impostato, ricevo automaticamente un messaggio di allarme su Telegram, senza dover controllare continuamente il sistema.

Conclusioni

Con pochi componenti sono riuscito a realizzare un sistema semplice che risolve un’esigenza concreta: sapere cosa sta succedendo nella sala server anche quando non c’è nessuno.

La parte che trovo più utile ed è stata la richiesta iniziale del progetto, è sicuramente l’allarme Telegram. Questo perché non devo ricordarmi di controllare la temperatura: è il sistema ad avvisarmi quando qualcosa non va.

Il progetto è volutamente semplice e può essere facilmente adattato anche per controllare qualsiasi ambiente o elettrodomestico dove la temperatura deve rimanere sotto controllo come ad esempio un acquario, una stanza climatizzata o di stagionatura.


Lascia un commento

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