Well, I knew it ever before, this little Box is of high potential. Great work!
Dopo l’ irrigatore per il prato non potevo non utilizzare una Fonera per fare il cronotermostato per la caldaia dei termosifoni.
La cosa è abbastanza semplice: si utilizza il driver gpio che tramite un piedino configurato come uscita pilota un fotoaccoppiatore che attiva un relè.
Il relè viene collegato in modo da accendere o spegnere la caldaia.
Scrivendo “1″ sulla porta designata come output si accende la caldaia, scrivendo “0″ si spegne.
Per pilotare il relè ho utilizzato un LH1191 ( High-Voltage Solid State Relay ) che ho smontato da qualche parte, se fosse difficile da reperire è comunque possibile utilizzare un fotoaccoppiatore e un transistor ( es un BC337 ) in configurazione darlington.
Ecco gli schemi elettrici, quello con l’ LH1191 è quello che sto utilizzando ed è quindi testato, l’altro non è testato ma dovrebbe funzionare, il condizionale è d’obbligo…. Murphy è sempre in agguato…
Il relè è a 5 volt, quello che ho io assorbe 100mA, l’LH1191 secondo le specifiche ce la dovrebbe fare ( dal datasheet: “The output is rated at 280 V and can handle loads up to 120 mA” ).

Ecco alcune foto dell’oggetto durante la costruzione..
Fori per mettere le viti su basetta millefori..
Fori su coperchio della Fonera..
I pezzi prima dell’assemblaggio su millefori…
Test dell’ interfaccia…
Qui ho preso i 5 volt per l’ “accrocco”…
Aspetto a lavoro finito.
Lo script per comandare la porta/relè è questo:
#!/bin/sh
usage () {
echo "Usage kalda <on|off>"
exit 1
}
if [ ! $# = 1 ] ; then
usage
fi
case $1 in
"on" ) bit=1;;
"off" ) bit=0;;
* ) usage;;
esac
#
if grep "^`date +%d/%m/%y`$" /etc/nokalda ; then
bit=1
echo "no-kalda day"
fi
echo $bit > /proc/gpio/3_out
echo 1 > /proc/gpio/3_dir
Se la data corrente è presente nel file /etc/nokalda lo script non pilota la caldaia.
Il formato del file “nokalda” è
root@OpenWrt:~# cat /etc/nokalda #gg/mm/aa 06/12/08 07/12/08 root@OpenWrt:~#
Vediamo la “ricetta” nel dettaglio:
Questo è il mio crontab
crontab -l 10 * * * * /usr/sbin/ntpclient -c 1 -s -h pool.ntp.org 15 16 * * * /usr/sbin/kalda on 20 19 * * * /usr/sbin/kalda off
Per quanto riguarda la data, occorre specificare il corretto timezone nel file /etc/TZ come spiegato in questo post.
root@OpenWrt:/etc# cat /etc/TZ CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00
Perchè cronotermostato ?
In realtà questo oggetto è solo “crono” ma, essendo collegato in rete, è possibile sapere la temperatura esterna interrogando una qualche stazione meteo vicina a casa (es. quelle di Weather Underground) oppure i feed rss meteo di Yahoo ( esempio questo riporta la temperatura a Roma) e fare in modo che la caldaia non si attivi se la temperatura esterna è superiore a un tot di gradi.
Per ora utilizzo l’ “accrocco” collegandomici tramite ssh ( anche da telefonino, con putty
) e programmandolo con “crontab -e”, ho comunque intenzione di perfezionarlo; man mano che aggiungo funzionalità aggiornerò questo post: questa è soltanto la “base” minima hardware/software.
Cose che mi vengono in mente:
Qui trovate scriptini già fatti che possono essere utili per implementare nuove funzionalità.
Quasi dimenticavo il disclaimer: se decidete di costruire quest’ oggetto lo fate sotto la vostra responsabilità.
In pratica se vi scottate col saldatore o scassate la Fonera o vi si guasta la caldaia, sono affari soltanto vostri.
Inoltre la manipolazione di circuiti elettrici ed elettronici implica un certo rischio: prendete tutte le opportune precauzioni.
Stai leggendo “ metti il crontab alla caldaia ”, un post di Fabrizio Zellini
Well, I knew it ever before, this little Box is of high potential. Great work!
Salve, sono molto interessato a questo articolo, volevo sapere se esiste per blackberry una connessione tipo Putty!!
Cordiali saluti
Non conosco il blackberry, forse ci gira questo ? Pocketputty
Salve le avevo postato una domanda su blackberry, ora vorrei chiederle se anche la fonera + ha dellle uscite per comandare un relè!!
Cordiali saluti
Non ho mai avuto per le mani una fonera plus ma penso che i pin di io ci siano comunque da qualche parte.
Se dai un occhiata qua ci sono delle fotografie del circuito stampato.
Ciao, secondo te i led che ci sono vengono comandati da segnali i/o!!!!
Volevo prendere da li il segnale per comandare il relè siccome sulle fonera plus non ci sono i pin i/o!!
grazie ciao
Penso di si, fai delle prove dopo aver installato il modulo gpio
Grazie mille ti faccio sapere appena provo ciao
Ciao, quando vado ad installare il driver gpio mi da questo problema:
ipkg: forked failed: cannot allocate memory!!
Mi puoi aiutare?? ciao e grazie
Ciao!!
Complimenti per questa seconda realizzazione…ti seguo sempre!!
Ascolta te sapresti indicarmi una linea guida per poter espandere le uscite GPIO? perchè me ne servirebbero + di 4…ciao e grazie!
Potresti usare il modulo i2c, e il PCF8574.
L’alternativa al modulo i2c è scriversi un programmino che pilota i pin di I/O.
Buon divertimento!
Cosa intendi di preciso per “programmino che pilota i pin” ?
Intendo collegare due due pin di I/O ai pin SDA e SCL ( guarda qui ), e generare i segnali a software per “parlare” con l’integrato.
Scaricati questo datasheet e guarda il capitolo 6.
Li ci sono le specifiche del protocollo usato.
I segnali possono essere generati tranquillamente anche da uno script in bash che scrive tramite proc_gpio, è chiaro che
le operazioni di lettura/scrittura saranno molto + lente.
Il modulo nel kernel scritto in C o assembler sicuramente è la via migliore.
Salve ragazzi,
interessa anche a me espandere le GPIO, in uscita che in ingresso.
Purtroppo non ho esperienza ne con I2C ne con kernel/assembler.
Cercherò delle applicazioni pratiche o qualche buona guida
Mentre se volessi usare un GPIO in ingresso, dovrei metterlo a massa?
Un saluto by Elia
Ciao! grazie per questa guida, mi si sono scaricate le batterie del termostato e ora sto pensando di attaccarci la fonera, che relè hai utilizzato per il circuito?
@scatto, un piccolo relè a 5 volt DC a uno scambio va più che bene
XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
16 Commenti
commenta | feed commenti [?] | trackback uri [?]