Home Electrical Device Control HOWTORui Li ruili@worldnet.att.net 2003-02-08 Diario delle revisioni Revisione 0.008 2003-02-08 Corretto da: Goldencat Revisione 0.007 2002-02-12 Corretto da: RL Revisione 0.006 2001-06-27 Corretto da: JEY Revisione 0.005 2001-06-13 Corretto da: RL Revisione 0.004 2001-06-12 Corretto da: JEY Questo HOWTO spiegherà come usare Linux per controllare i propri dispositivi elettrici domestici. Si avrà solo bisogno di costruire un circuito molto semplice per controllare quasi qualsiasi tipo di dispositivo elettrico usando Linux! Traduzione a cura di Claudio Cattazzo <claudio@pluto.it> e revisione a cura di Kriss <chgwor@tin.it>. _________________________________________________________________ Sommario 1. Introduzione 2. Requisiti di sistema 3. Circuito elettronico 4. Esempi di relè 5. Ringraziamenti particolari 6. Copyright e Licenza 1. Introduzione Molte persone mi hanno chiesto: "È possibile controllare qualcosa di elettrico (p.e. luci, radio, tv, ecc.) usando un computer domestico?" La risposta è SÌ. Il processo è molto semplice e può essere fatto da chiunque. Dopo aver letto il Coffee Machine Mini-HOWTO mi è venuta un'idea su come controllare i miei apparecchi elettrici domestici. Ho fatto qualche modifica al circuito discusso nel Coffee Machine Mini-HOWTO e ho scritto un semplice programma. Il circuito può controllare molti piccoli dispositivi elettrici.^_^ Si può usare crontab per impostare le luci in modo che si accendano automaticamente o per azionare il condizionatore. Io lo uso per controllare i miei VCR e VCD (ma ho ancora bisogno di qualche modifica sul VCR/VCD). Scrivendo un semplice programma si può controllare qualsiasi cosa dal web. Si può usare telnet con SSH ed il proprio telefono in dial-in per controllare tutti gli apparecchi che si hanno sul circuito. Questo circuito è MOLTO SEMPLICE. Lo si può creare anche se non si conosce nulla di circuiti. _________________________________________________________________ 2. Requisiti di sistema Si prenda un qualsiasi computer che stia eseguendo Linux e che abbia una porta parallela funzionante. :) Io sto usando un 386DX con 4MB di RAM e 40MB di HD. Si avrà bisogno di gcc per compilare il programma. Se si vuole usare telnet o SSH si avrà bisogno anche di telnetd o sshd. Si può scrivere il programma usando ioperm e outb. Se si vuole usare il mio programma si avrà bisogno di g++. Si clicchi sul seguente link per scaricare il mio programma. Si avrà bisogno di g++ per compilarlo. edc.sourceforge.net/paralle.tar.gz. _________________________________________________________________ 3. Circuito elettronico La linea dati della porta parallela può fornire tra 0 e 5 volt. Quindi possiamo utilizzare questa linea per controllare un relè e lasciargli controllare il dispositivo elettrico. Si usino i pin dal 2 al 9 per ottenere +5V Si usino i pin dal 18 al 25 come massa ____________________________________________________________ / \ \ 13 12 11 10 9 8 7 6 5 4 3 2 1 / \ / \ 25 24 23 22 21 20 19 18 17 16 15 14 / \______________________________________________________/ | Vcc per relè | | / -------+--------| |---------| P dati 4.7K B / c | 1N4002 |_| |------- -----------/\/\/\/\---------+-----| NPN _____ | relè |dispositivo domestico | \ e /_\ |-| |------- LED X \ +--------| |---------| P Massa | | | ----------------------------+-------+--------+ Massa del relè | ---------------------------------------------+ Segue la spiegazione del diagramma precedente: P dati linea dati della porta parallela (dal pin 2 al pin 9, u sarne uno qualsiasi) P Massa massa della porta parallela (dal pin 18 al pin 25, usar ne uno qualsiasi) Vcc dipende dal tipo di relè. Io sto usando un 12VDC Massa del relè la massa per il 12VDC 4.7k resistenza da 4.7K NPN transistor NPN C2235 1N4002 diodo 1N4002 LED diodo emettitore di luce relè un relè con bobina I +5 volt dalla porta parallela attiveranno il relè. Una volta che il relè è attivo, il dispositivo connesso a quel relè sarà acceso. Quando la linea dati della porta parallela torna a 0, disattiverà il relè e spegnerà il dispositivo. _________________________________________________________________ 4. Esempi di relè I diagrammi seguenti vengono utilizzati per spiegare come lavorano i relè. Il relè, come si può vedere nel diagramma seguente, è solo un interruttore: relè disattivo relè attivo |3 |3 | | | | o o \ | o \ o | | | | | | |4 |4 Il diagramma seguente mostra la configurazione di un relè a 4 pin. _______________________________ | | 1 | | 3 -----|---------s o--------------|------- | bobina s \interruttore | 2 | s \ | 4 -----|---------s o- \-----------|------- | | | | | | |______________________________| Nel diagramma precedente, i pin 3 e 4 sono disconnessi come impostazione predefinita. Quando si mandano +12V tra i pin 1 e 2, si attiverà un interruttore e i pin 3 e 4 saranno connessi. Segue un relè a 5 pin: _______________________________ | | 1 | | 5 ---------|---+ o------------|---------------- | |-----------/---- s | | / s | 3 | / s | ---------|-----------o/ bobina s | 4 | o---s-------|---------------- | | | | | | 2 | | | ----------|---------------------+ | |_____________________________| Nel diagramma precedente il pin 3 è connesso al pin 5 come impostazione predefinita. Mandando +12V tra il pin 1 ed il pin 2 si attiverà un interruttore. I pin 1 e 2 saranno disconnessi e i pin 4 e 5 saranno connessi. relè disattivo relè attivo |5 |5 | | | | o o \ | o \ o o | o | | | | | | | | | | 4| |3 4| |3 Alcuni relè possono avere più di 5 pin. Un maggior numero di pin significa solo che ci sono più interruttori. Ho scritto un semplice programma che può controllare 8 relè. Il programma è disponibile presso il seguente sito e per poterlo usare si avrà bisogno di g++. http://edc.sourceforge.net/paralle.tar.gz Un circuito completo può controllare fino a otto relè, il che significa che un circuito completo può controllare otto differenti dispositivi. Si avrà bisogno di un connettore DB25. Usando un cavo parallelo si colleghi questa scheda relè al proprio computer. Io ho messo la scheda relè in una scatola ed ho usato un cavo parallelo per connetterla alla mia macchina Linux: Pannello: LED, Interruttore Dietro: Connettore DB25 Segue un esempio di come una scheda relè dovrebbe collegare il proprio dispositivo elettrico: SCHEDA RELÈ CONNESSA +-----+ presa di corrente 1 ________3 | __|________ || || --| |---------+ | | | || || 2 | relè |4 | (o) (o) | _||___||__ --|______|----+ |------|---| | | | | | | | +------------+ | | spina massa | | carica | | | | | | __|_|__ | | | | | | |________| | | | | spina | | | | |_|_|_| (so che non assomiglia ad una spina, ma è una spina : -) ) || || || || Per connettere il sistema basta collegare il proprio dispositivo elettrico domestico alla presa di corrente. Questo è tutto! Non è necessario fare alcun cambiamento al dispositivo elettrico. Inoltre si può connettere qualsiasi tipo di dispositivo a quella presa di corrente. Si metta questa presa di corrente in qualsiasi presa a muro. Per vedere delle foto di come appare il prodotto finito si vada sui seguenti siti: * http://edc.sourceforge.net/p1.jpg * http://edc.sourceforge.net/p2.jpg * http://edc.sourceforge.net/p3.jpg L'URL seguente mostra un circuito elettronico completo (controlla 8 dispositivi): http://edc.sourceforge.net/01.png _________________________________________________________________ 5. Ringraziamenti particolari Un grazie particolare a Rufus Chang rufus@chu.url.com.tw. Un grazie particolare a Chih-Wei Huang cwhuang@linux.org.tw. _________________________________________________________________ 6. Copyright e Licenza Copyright Rui Li 2000-2001. License is GNU GPL, but it is requested that you retain the author's name and email on all copies. Please keep my name and e-mail address when you are copying this HOWTO. Copyright Rui Li 2000-2001. La licenza è la GNU GPL ma si richiede di mantenere il nome e l'email dell'autore in tutte le copie. Per favore si tengano il mio nome e il mio indirizzo e-mail quando si copia questo HOWTO.