
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)
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

Il problema si può risolvere in due modi:
1) richiedere un ip statico al provider (costoso)
2) utilizzare un servizio tipo dyndns (come spiegato nell’articolo)
Questo servizio è gratuito (per le funzioni base) e dopo la registrazione permette il redirect (dell’indirizzo web scelto) verso il vostro ip dinamico. Ovviamnete ad ogni connessione (quindi cambio di ip) il vostro router aggiornerà il vostro profilo dyndns
http://dyndns.it/