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 e revisione a cura di Kriss . _________________________________________________________________ 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.