Monitoraggio Temperatura IoT con Arduino UNOR4 e Thinger.io

Questo progetto software realizza un sistema di monitoraggio ambientale IoT (Internet of Things) compatto ed efficiente. Il programma è progettato per acquisire i dati di temperatura in tempo reale tramite un microcontroller Arduino Pro Mini e trasmetterli in modo sicuro alla piattaforma cloud Thinger.io per la visualizzazione e l'analisi.
Obiettivo del Software : Il codice ottimizza le risorse hardware limitate dell'Arduino Pro Mini per creare un canale di comunicazione stabile verso il cloud. Il programma non si limita a inviare dati in modo continuo (evitando il sovraccarico della rete), ma espone la temperatura come una "risorsa cloud" pronta per essere prelevata dalla piattaforma Thinger.io a intervalli regolari o su richiesta.
Caratteristiche Principali del Programma: Architettura Orientata alle Risorse: Utilizza le API native di Thinger.io per incapsulare le letture del sensore in strutture dati pson, rendendo l'integrazione immediata.
Gestione Connessione Intelligente: Il loop principale del programma è delegato alla funzione thing.handle(), che gestisce in background i tentativi di riconnessione e il mantenimento del socket senza bloccare il flusso del codice.
Compatibilità Hardware Flessibile: Il codice è predisposto per interfacciarsi con moduli di rete esterni (come l'ESP8266 in modalità modem AT o moduli Ethernet) e supporta i principali sensori di temperatura (serie DHT, LM35, DS18B20).
Integrazione Cloud e Dashboard: Una volta avviato il programma, il dispositivo si collega automaticamente alla dashboard di Thinger.io.
Questo permette di:
  • Visualizzare i dati in tempo reale tramite widget grafici (termometri digitali, grafici temporali).
  • Storicizzare le letture all'interno di Data Buckets per analizzare l'andamento della temperatura nel corso di giorni o mesi.
  • Impostare alert e notifiche nel caso in cui la temperatura superi una determinata soglia critica.
schema di montaggio
Configurazione e Connessione (Setup)
Durante l'avvio (setup()), la scheda compie le seguenti operazioni:Inizializzazione Serial e LED Matrix: Avvia la comunicazione seriale per il debug e accende la matrice di LED integrata mostrando un'immagine iniziale predefinita (frame_1). Sensore DHT11: Attiva il sensore di temperatura e umidità collegato al pin 10. Connessione Wi-Fi e Cloud: Inizializza la connessione Wi-Fi impostando la rete ("Miarete") e si dichiara sulla piattaforma per trasmettere in modo sicuro alla piattaforma cloud Thinger.io per la visualizzazione e l'analisi. con le credenziali configurate (USERNAME, DEVICE_ID, DEVICE_CREDENTIAL)
Monitoraggio dello Stato di Connessione
Nel ciclo principale (loop()), la scheda mantiene attiva la comunicazione con Thinger.io (thing.handle()) e controlla continuamente lo stato della rete con la funzione controlla_connessione(): Se connesso a Thinger.io: Stampa "CONNESSO" sulla porta seriale e aggiorna la matrice LED mostrata a schermo (frame). Se disconnesso: Stampa "NON CONNESSO" e ripristina la visualizzazione dell'icona alternativa (frame_1).
Il cuore del programma è la risorsa chiamata temp, registrata su Thinger.io. Ogni volta che la piattaforma cloud richiede i dati, la scheda esegue queste operazioni:
  • Lettura Sensore: Legge la temperatura corrente (outtemp) e l'umidità (outum) dal sensore DHT11.
  • Valutazione del Comfort Termico: Analizza i valori combinati di temperatura e umidità per assegnare un'etichetta descrittiva allo stato dell'ambiente:
schema di montaggio
Programma
Programma
Clicca qui per il video

INDIETRO