[Gulli] lirc - hardware

Alessandro Guarguaglini ilguargua@tiscali.it
Gio 6 Ott 2005 22:01:13 CEST


Visto che ci sono gia' un paio di messaggi in lista, e che anche martedi' non 
siamo alla fine riusciti a presentarlo decentemente, ho deciso di postare 
questo riassunto, spero quasi un mini-howto per la parte hardware.

lirc ( Linux Infrared Remote Control - http://www.lirc.org ) e' il sistema 
usato da linux per controllare il pc tramite un comune telecomando ad 
infrarossi. Per ricevere il segnale occorre ovviamente un ricevitore ir. Ne 
esistono diversi in commercio, per i dettagli sui tipi supportati date 
un'occhiata al sito, brevemente : funzionano gli Irda (a patto che non siano 
usb), quelli integrati in alcune schede tv ed altri 'dedicati', sia seriali 
che usb. Esiste poi la possibilita' di autocostruirsi il ricevitore usando 
come ingressi sul pc o la porta seriale, o l'ingresso irda integrato (la 
scheda madre che avevo prima di questa ad esempio l'aveva), l'usb oppure la 
scheda audio. Ogni soluzione ha vantaggi e svantaggi, anche a seconda se si 
vuole integrare il ricevitore all'interno del pc o collegarlo esternamente. 
Proviamo a fare una rapida carrellata di tutte le soluzioni :

PORTA SERIALE
lo schema (http://www.lirc.org/receivers.html) e' abbastanza semplice : il 
ricevitore ir viene alimentato dal segnale RTS della seriale tramite un diodo 
(1N4148), necessario in quanto la porta seriale puo' assumere valori di 
tensione negativi rispetto alla massa, ed uno stabilizzatore di tensione a 5 
V (78L05) . L'uscita del ricevitore pilota la linea DCD della seriale, la 
resistenza tra questa ed il positivo serve a forzare alto l'ingresso in 
assenza di segnale, difatti il relativo modulo del kernel ci dice :

Sep 27 18:06:38 slack kernel: lirc_serial: auto-detected active low receiver 

Necessario anche un piccolo condensatore elettrolitico per stabilizzare e 
filtrare la tensione in uscita dal 78L05.

Lista della spesa:

1 ricevitore IR tipo TSOP1738 (o 1736) - costo circa 2 Euro
  ( sul catalogo o sul sito RS lo potete trovare con il codice 321-9213 ,
    confezione da 5pz TSOP1736, costo circa 7,5 Euro + IVA + spedizione)

1 circuito integrato 78L05 - costo circa 1 Euro o meno

1 diodo 1N4148 

1 resistenza da 4,7 Kohm

1 condensatore elettrolitico da 4,7 microFarad (di piccole dimensioni)

1 basetta preforata di piccole dimensioni ( ameno che non vogliate
  cablare il tutto in aria) - costo circa 2 Euro

1 cavetto seriale ( o una spina seriale DB9 e un cavetto schermato
  ma credo che non si risparmi ed e' meno elegante) 

1 contenitore di vostro gradimento dove mettere il tutto (opzionale,
  io ad esempio ho usato un mouse, praticando una piccola feritoia
  per il ricevitore) 

 Vantaggi : semplice - economico - ricezione perfetta
 Svantaggi : la porta seriale si avvia verso l'obsolescenza - difficile 
             da integrare nel pc (la porta seriale e' quasi sempre solo
             esterna) 

PORTA USB
Il progetto che ho testato si chiama UsbIrBoy 
(http://usbirboy.sourceforge.net/base.html) .
Trattandosi di un dispositivo USB la realizzazione e' leggermente piu' 
complessa : l'USB e' un dispositivo che prevede periferiche 'intelligenti', 
quindi e' obbligatorio l'uso di una cpu con relativo firmware. Fortunatamente 
il progetto ci fornisce tutto il necessario, incluso lo schema di un semplice 
(ma funzionante) programmatore per la cpu ed i link per i programmi (tutti 
open source e operanti sotto linux) necessari. Lo schema elettrico del 
ricevitore (http://usbirboy.sourceforge.net/board.html) mostra come i 
componenti necessari non siano cosi' poi tanti.

Lista della spesa:

1 cpu Motorola MC68HC908JB8JP (20 pin DIP) - costo circa 10/12 Euro
  ( codice RS 445-6744)

1 TSOP1738 (vedi sopra)

1 cristallo da 6 Mhz

1 resistenza da 10 Mohm

2 condensatori da 22 pf

1 resistenza da 120 Kohm

2 condensatori ceramici da 100 nF

1 cavetto USB

1 contenitore (vedi sopra)

(opzionalmente si puo' aggiungere una resistenza ed un led, che lampeggia  
quando il dispositivo e' inserito nella porta, ma a parte la fase di testing 
non serve)
Il programmatore non e' detto che serva costruirselo, perlomeno per quelli che 
abitano nei paraggi c'e' a disposizione il mio. Nel caso contrario :
http://usbirboy.sourceforge.net/prommer.html , e trovate tutto il necessario.


 Vantaggi: facilmente condivisibile su piu' pc - facilmente integrabile nel 
           case (le MB moderne hanno quasi sempre qualche porta usb interna) -
           il piacere di possedere oltre al software anche un'hardware 
           opensource!
 Svantaggi: ricezione buona ma non perfetta 

/proc/bus/usb/devices ci riporta :
T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  3 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=fffe ProdID=0000 Rev= 0.21
S:  Manufacturer=I Made it!
S:  Product=IR Boy
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=200mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=ff Driver=usbirboy
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=1ms
E:  Ad=02(O) Atr=03(Int.) MxPS=   8 Ivl=1ms


SCHEDA AUDIO
Non ancora testato, sorry! Comunque trovate i dettagli sempre nel sito di lirc
http://www.lirc.org/audio-alsa.html http://www.lirc.org/ir-audio.html



Ok, onde non scassarvi oltre i cabbasisi ( in sottofondo c'e' Montalbano  alla 
tv..) per stasera terminiamo qui, poi piu' avanti ( se interessa a qualcuno) 
si puo' parlare anche del software.

Ciao, a presto.


Maggiori informazioni sulla lista Gulli