logo
Data: 09/09/2010  Ora: 03:13  Online: 4 users
Home | I Miei Appunti | Screenshot Gallery | Download | Links | Autore
howto


Telecomandare il pinguino

Finita l'estate e finite le ferie non resta altro che tornare alla solita vita, per fortuna ho ancora del tempo libero e per sfruttarlo al meglio ho deciso di scrivere un'altra guida pratica su Linux.
Questa volta ho pensato di trattare qualcosa di più particolare, un sistema secondo me poco sfruttato sui pc nonostante la sua semplicità ed in particolar modo un argomento che sulla rete scarseggia di guide o supporto in genere.

"Comandare*" linux mediante telecomando e tramite l'uso di LIRC - Linux Infrared Remote Control.
Userò il termine "comandare" anche se forse non molto adatto in questo contesto, di certo con un telecomando non si potrà prendere un controllo totale del proprio computer ma in realtà lo scopo principale è quello rendere la vita semplicemente più comoda. Spero possa esservi utile !
Per quanto riguarda tutta la parte hardware ossia la messa in opera del circuito, riporto il link dell'articolo che illustra in modo più che completo il progetto: "il Pc con un telecomando" powered by Nick10221 - pctuner©.

Questa guida ai fini pratici può essere presa in esame da qualsiasi utilizzatore di Linux indipendentemente dalla distribuzione utilizzata visto e considerato che l'unico software usato (LIRC) viene compilato tramite sorgenti per tanto il proseguimento della lettura non ha requisiti particolari, si presuppone solo un pò di domestichezza con i comandi linux, ricompilazione kernel e ovviamente che già abbiate realizzato il circuito elettronico linkato poco fa che ne permette il funzionamento.

La guida è testata con Debian Gnu/Linux, l'ultimo kernel vanilla stabile attualmente disponibile v.2.6.12.5 e con l'ultima release di LIRC-0.7.2 scaricata dal sito ufficiale http://www.lirc.org/.

requisiti:


I device che permettono il funzionamento di LIRC usano dei moduli che non sono integrati sul kernel linux, mi riferisco a lirc_serial e lirc_dev, il passo successivo sarà quello di installare i sorgenti di LIRC ma prima di farlo bisogna assicurarsi che:
1. sia installata la libreria libirman - library for accessing the IRMAN hardware facilmente reperibile in rete sia in forma sorgente sia binaria ;
2. abbiate i sorgenti del vostro kernel in /usr/src/ e correttamente linkati a /usr/src/linux ;
3. assicurarsi affinchè vada a buon fine il rebuilding del kernel durante l'installazione di lirc che le opzioni del kernel riguardanti Parallel port support e Serial drivers siano come di seguito indicato:
Device Drivers ---> Parallel port support --->
    [M] Parallel port support
    [M] PC-style hardware
    [M] Multi-IO cards (parallel and serial)
    [ ] Use FIFO/DMA if available (EXPERIMENTAL)
    [ ] SuperIO chipset support (EXPERIMENTAL)
    [ ] IEEE 1284 transfer modes

Device Drivers ---> Character devices ---> Serial drivers --->
    [M] 8250/16550 and compatible serial support
    [ ] 8250/16550 device discovery via ACPI namespace
    (4) Maximum number of non-legacy 8250/16550 serial ports
    [ ] Extended 8250/16550 serial driver options
    --- Non-8250 serial port support
    [ ] Digi International NEO PCI Support
*Le voci riportate sopra fanno sempre riferimento al kernel 2.6.12.5

installazione:


Soddisfatti i requisiti si può procedere all'installazione di LIRC, evito di linkare direttamente i sorgenti perchè lo sviluppo è abbastanza al passo con i tempi ed in breve tempo cambiano la versione.
Scaricata l'ultima versione da http://www.lirc.org non resta che decomprimere i sorgenti ed eseguire setup.sh per configurarlo:
$tar -jxvf lirc-0.7.2.tar.bz2
$cd lirc-0.7.2/
$./setup.sh

Di seguito alcune immagini che illustrano i passi da compiere:




N.B. i parametri dell'immagine successiva si riferiscono al collegamento del ricevitore sulla porta COM1 I/O 0x3f8 con irq 4, dovrebbero essere dei valori oramai standardizzati per la prima porta seriale ma se così non fosse consulta il bios per reperire il valore di irq e I/O usato dalla tua scheda madre per la porta seriale al quale hai collegato il ricevitore.



aggiungere "Igor Cesko's variation"



aggiungere "Use syslogd instead of own log-file"


dopo aver finito la configurazione:
$make
$su
$Password:
$make install

ora è indispensabile caricare i moduli appena preparati:
$modprobe lirc_serial
lirc_dev: IR Remote Control driver registered, at major 61
lirc_serial: auto-detected active low receiver
lirc_dev: lirc_register_plugin: sample_rate: 0

$modprobe serial_core

Se i moduli sono stati caricati correttamemente inserite il nome dei moduli in /etc/modules o nel file più appropriato per la vostra distribuzione affinchè al successivo boot vengano caricamenti in automatico.
N.B. mantenete lo stesso ordine, prima lirc_serial e dopo serial_core.
lirc_serial
serial_core

settiamo i permessi al device lircd:
$chmod 666 /dev/lircd


configurazione:


Lirc raccoglie in se diversi tool, elenco quelli fondamentali nonchè indispensabili in ordine di utilizzo: mode2, irrecord, lircd e irexec.

1. mode2: restituisce istantaneamente i segnali (pulse e space) provenienti da una fonte a infrarosso, viene usato prevalentemente per testare il ricevitore e la configurazione , eseguite da root $mode2 e premete un pulsante a caso del telecomando, si dovrà avere un output molto simile a questo:
$mode2
pulse 24
space 2161834
pulse 943
space 846
pulse 1836
space 866
pulse 897
space 870
pulse 968
space 817

2. irrecord: permette di registrare e personalizzare i segnali del proprio telecomando assegnando un nome univoco ad ogni tasto premuto e salvando tutto su un file di configurazione:
$irrecord /etc/lircd.conf

si seguano le istruzioni a schermo, la procedura è completamente guidata, invita a premere due volte INVIO, poi premere uno ad uno in successione tutti i pulsanti presenti sul telecomando per 10 secondi, e poi inizia la parte più importante che sarebbe quella di registrare i singoli tasti chiedendo l'attribuzione di un nome e la pressione dello stesso tasto.

3. lircd: demone che decodifica i segnali infrarossi provenienti dal device /dev/lirc (non /dev/lircd) secondo la registrazione dei segnali avvenuta con irrecord;
avviare il demone da root assicurandosi che esista il file di configurazione /etc/lircd.conf:
$lircd

per automatizzare il caricamento del demone ecco un piccolo script da mettere in /etc/init.d/: LINK.

4. irexec: ha il compito di eseguire i comandi decodificati da lircd in relazione al suo file di configurazione (~/.lircrc):
ecco il mio file .lircrc che può esservi utile: LINK
la struttura è anch'essa semplice e direi che un file rende più di mille parole ( almeno in questo caso :D ).

conclusioni:


Come è possibile notare nel mio file .lircrc e come già premesso, tutte le funzionalità nel mio caso si limitano ad eseguire operazioni semplici, quelle che con maggiore probabilità vorremmo compiere distanti dal pc, sicuramente la più comoda per molti rimane quella di spegnere il pc quando assonnati non si ha la minima forza di alzarsi dal letto per dare un bel: shutdown -h now ^_^ .

copyright


Questa mini guida è pubblicata sotto una Licenza Creative Commons. come il resto del sito, pertanto come indicato sei libero di riprodurre, distribuire, comunicare o esporre in pubblico, rappresentare, creare opere derivate e di usare questa guida a fini commerciali.
Dovrai solo riconoscere il contributo dell'autore originario come io sto facendo poche righe sotto. Se modifichi, trasformi o sviluppi questa opera, puoi distribuire l’opera risultante per mezzo di una licenza identica a questa o sotto GPL.


   ultima modifica: Fri, 24 Mar 2006 02:43:42 +0100



      Home | I Miei Appunti | Screenshot Gallery | Download | Links | Autore      

Written by PiloZ, Powered by Emacs
Valid Apache Web Server!  Valid HTML 4.01!  Valid CSS!  
Powered by The GIMP  Opera pubblicata sotto una Licenza Creative Commons  hacker emblem