Controllare la temperatura via internet con un web server di 8cm [Progetto completo]

Controllare la temperatura via ethernet tramite FTPmicro (progetto open source) ed una guida passo passo che vi porterà a monitorare la temperatura a distanza (da qualsiasi parte del mondo) ed addirittura ad attivare dei led e verificarne l'accensione tramite conferma. Ovviamente al posto dei led possono essere connessi dei carichi come lampade, caldaie ed interruttori in generale.

FTPmicro ormai è un progetto famoso 🙂 molti già lo conoscono, ma oggi voglio presentarvi una applicazione reale, passo passo.

La prima cosa da fare è procurarsi FTPmicro (ecco come) poi connetterlo ad una rete ethernet e successivamente connettersi al proprio indirizzo IP per visualizzare la pagina web con la visualizzazione della temperatura in tempo reale ed i pulsanti per accendere i led e poi verificarne l'avvenuta accensione, sempre in tempo reale. Ma procediamo per gradi.

Controllare la temperatura tramite internet

FTPmicro contiene a bordo un sensore di temperatura, quindi il valore della temperatura sulla superficie della scheda (e quindi anche dell'ambiente) è monitorabile direttamente dal micro che tramite l'AD Converter può tenere il valore sotto controllo.

Una volta inserito il firmware in FTPmicro, si può procedere con l'emulazione tramite ICD2, come nella foto sopra. ICD2 non è obbligatorio, ma è molto comodo per poter fare eventuali modifiche al firmware verificandole subito in emulazione e quindi personalizzarlo secondo le proprie esigenze. Il software IDE MPLAB è gratuito.
Mettere mano al firmware (scritto in C) è molto semplice, guardate ad esempio come viene gestito nel main_loop l'hot plug della memoria SD:

// hot-plug
if(!sdPresent)
FATInit();

Tutte le personalizzazioni possono essere fatte nel file TCPIPConfig.h e sono necessarie soltanto per un utilizzo avanzato del dispositivo.

Per l'applicazione base qui presentata (controllo remoto della temperatura) non è necessario fare modifiche. L'indirizzo IP viene assegnato in automatico tramite il DHCP (attivo di default su FTPmicro), il MAC address può esser lasciato come da default (a meno di conflitti) ed i dns (primario e secondario) vengono assegnati in genere in automatico dal provider.

A questo punto potete compilare e programmare FTPmicro.

Gestione della SD card con sito web di monitoraggio

A questo punto si deve preparare la memoria dove salvare il sito web che servirà a visualizzare i parametri che vi interessano (la temperatura). Per fare ciò dovrete prendere una micro SD (io ho usato una micro SD da 1 GB) e formattarla tramite un comune PC. La formattazione deve essere in FAT o FAT16. Fatto questo potete copiarci sopra i file disponibili con FTPmicro.

ahah.js     //il file in javascript per interagire con il sito web
status.cgi  //il file cgi con le variabili
style.css   //il file con lo stile della pagina
index.html  //il file principale html

Copiate questi file nella micro SD e poi inseritela nell'FTPmicro,
collegate il cavo ethernet a FTPmicro (cavo straight per connessione diretta FTPmicro-Router)
ed infine accendete, alimentando FTPmicro con 5Vdc.

Configurare il webserver casalingo

A questo punto il led rosso su FTPmicro dovrebbe essere acceso ed il vostro router dovrebbe aver riconosciuto la periferica collegata (led relativo alla porta acceso).
Ora collegatevi, tramite il browser del vostro PC, al router (sul mio basta semplicemente digitare sul browser "routerlogin.com") poi digitate username e password ed entrate nel pannello di controllo del router.

Prima di tutto andate a vedere i dispositivi collegati per conoscere l'ip locale assegnato ad FTPmicro (di default è abilitato il DHCP), ad esempio 192.168.0.4 digitatelo sul browser e dovreste vedere apparire la pagina web di FTPmicro (quella che avete caricato sulla memoria SD).
Se avete difficoltà a riconoscere l'ip, fate riferimento al MAC address relativo che è 00:04.A3:50:07:02
Se tutto procede per il verso giusto ci siete quasi. Rimane da configurare il cosiddetto server virtuale nel vostro router. Basta semplicemente "aprire" la porta relativa per permettere all'esterno (internet) di collegarsi a FTPmicro e quindi alla pagina web salvata nella SD.
La procedura per il router Netgear è questa:

Servizi  -> FTPmicro TCP/UDP 80
Firewall -> FTPmicro 192.168.0.4 Consenti Sempre

FTPmicro è il nome che volete assegnare al dispositivo, 80 è la porta relativa al web, 192.168.0.4 è l'ip locale di cui abbiamo parlato sopra.
Se non avete un Netgear la procedura è comunque simile (alcuni router specificano proprio virtual webserver).

Connettersi dal WEB a FTPmicro

Potete connettervi da qualsiasi parte del mondo, tramite internet (fisso o mobile) semplicemente digitando l'indirizzo IP della connessione dove è collegato FTPmicro.
Se avete un IP fisso è semplice (andate su servizi tipo ip-address.com e verificate il vostro indirizzo) se invece avete un ip dinamico potete farlo lo stesso ma siate consapevoli che sarà solo temporaneamente (quindi sarà meglio affidarsi a servizi tipo DynDNS) infatti alla connessione successiva probabilmente sarà cambiato.

Potrete quindi tramite web (nella foto mi sono connesso a internet con il telefonino) monitorare la temperatura, accendere i led e verificarne l'accensione. avete notato 41°C ?
Ebbene si, il controller ethernet all'interno del micro assorbe parecchio (~200mA) e quindi la scheda scalda, inoltre la routine di controllo temperatura andrebbe migliorata. Si può ovviare a questo anche utilizzando una sonda esterna da interfacciare a FTPmicro. Comunque il sensore di temperatura a bordo scheda è molto utile perche offre un riferimento immediato.

Applicazioni

Le applicazioni sono infinite, limitate solo dalla vostra fantasia!
Potrete accendere le luci del giardino, l'impianto di irrigazione, la caldaia, oppure controllare la temperatura di sale speciali, di celle frigorifere e poi, decidere se attivare i condizionatori, verificarne l'attivazione e monitorare il calo di temperatura per poi disattivarli.
Quello che vi serve è semplicemente una connessione internet, ma ormai, chi non ha una flat?

Sono a disposizione nei commenti per ogni supporto a chi volesse sviluppare applicazioni sia a livello hobbistico che professionale (ma anche per a chi fosse interessato a livello educational)

Tutta la documentazione su FTPmicro è disponibile a questa pagina FTPmicro per Utenti Premium.
Potete realizzarlo da soli (fai-da-te) scaricando tutti i codici sorgenti (Schema elettrico realizzato con Orcad, lista parti, circuito stampato realizzato con Orcad, file gerber, codice sorgente assembler realizzato su piattaforma Microchip).

Il progetto montato e collaudato è disponibile sul nostro store --> FTPmicro

Scarica subito una copia gratis

Una risposta

  1. Avatar photo Emanuele 5 Aprile 2012

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend