Con alcuni colleghi, in orario post-lavoro abbiamo realizzato un piccolo progetto di monitoraggio della temperatura.

Nello specifico l’obiettivo era creare una pagina web in cui visualizzare la temperatura attuale e uno storico delle temperature archiviate. Pertanto sono state utilizzate/realizzate le seguenti componenti:

Hardware

Software

  • Arduino Sketch per la lettura della temperatura attuale tramite bus 1-Wire (riferimenti DS18B2 + libreria OneWire) e la trasmissione tramite HTTP GET attraverso lo Shield Ethernet (libreria)

  • Pagina PHP di memorizzazione su DB MySQL del valore ricevuto tramite GET e un timestamp dell’orario di ricezione
  • Pagina PHP che restituisce un JSON con l’ultima o le ultime n temperature rilevate secondo la specifica DataTable delle Google Chart API
  • Pagina HTML/Javascript che invia periodiche richieste alla sorgente JSON(tramite funzione $.get di jQuery) ed aggiorna un manometro con l’ultima temperatura rilevata e un grafico con le temperature delle ultime 10 ore.

 temperature

 

 

 

 

 

Note:

  • Le temperature sono archiviate(una al minuto) con riferimento temporale secondo lo standard UTC e quindi con fuso orario di Greenwich. La pagina visualizza anche l’orario con riferimento Locale rispetto alla localizzazione del Browser
  • La pagina aggiorna in maniera asincrona:
    • Il manometro ogni 5 secondi(con la temperatura quindi in tempo reale)
    • Il grafico ogni 80 secondi, eliminando dall’insieme dei 5000 visualizzati la temperatura archiviata meno recente e inserendo la più recente
  • Il data set JSON è compatibile con il DataTable utilizzato dalle Google Chart API

image

4 thoughts on “Rilevazione Temperatura Arduino + PHP + JSON + GoogleChart

  1. ciao, bella l’ integrazione con Google Chart ,si puo avere il codice della Pagina PHP di memorizzazione su DB MySQL del valore ricevuto tramite GET e della Pagina PHP che restituisce un JSON con l’ultima o le ultime n temperature rilevate?
    Grazie

  2. Al momento non riesco a recuperare il codice PHP, ma non era niente di che… trova un qualsiasi esempio di select MySQL in PHP e cicla i risultati componendo la stringa di testo secondo la sintassi JSON

  3. Fatto tutto mi è costata fatica per me che non sono una cima in arduino e php……mi dai una mano con Google Chart API?
    ho il file json che legge dal mysql…

    “{“ID”:”1251″,”Tempo_Server”:”2015-12-15 15:37:48″,”Tempo_Locale”:”15:37:47″,”sensorId”:”5509b3d74ca0f61a7c9ced6c”,”value”:”0″},{“ID”:”1252″,”Tempo_Server”:”2015-12-15 15:38:49″,”Tempo_Locale”:”15:38:48″,”sensorId”:”5509b3d74ca0f61a7c9ced6c”,”value”:”0″},{“ID”:”1253″,”Tempo_Server”:”2015-12-15 15:39:51″,”Tempo_Locale”:”15:39:49″,”sensorId”:”5509b3d74ca0f61a7c9ced6c”,”value”:”0″}]”

Comments are closed.