Come usare lo USB IR Toy con LIRC

Altre lingue

Mi son comprato un telecomando universale a forma di cacciavite sonico (il sito è orrendo e difficile da navigare…). Chiaramente voglio poterci controllare il mio PC!

Per farlo, mi serviva un ricevitore IR e LIRC. Visto che mi piace complicarmi la vita, ho comprato lo USB Infrared Toy da Dangerous Prototypes, che permette di inviare e ricevere qualsiasi sequenza di impulsi a infrarossi.

Convincere i tre pezzi (telecomando, Toy, LIRC) a funzionare assieme è stato più complicato di quel che avrei gradito, per cui descrivo qua quel che ho fatto, per aiutare i prossimi.

Aggiornare il firmware

Il vostro IR Toy ha probabilmente una versione vecchia del firmware. Se usate Windows, le instruzioni fornite potrebbero anche funzionare; altrimenti, bisogna studiarci un po'. I sorgenti del programma fw_update che potete ottenere da quelle pagine (o dal repository Subversion) non compilano neppure (si sono "scordati" di includere metà degli header che servono), e quando riuscite a compilarli, vanno in segfault. L'utente "JessH" dei forum di Dangerous Prototypes ha postato una versione che funziona (questa è la patch se la volete vedere, dovrebbe applicarsi alla versione SVN).

Nota

Sì, lo so che sto puntando ai sorgenti per il 18F24J50, ma il chip sul IR Toy dice "18F2550". Che ci posso fare, così funziona!

Dopo averlo compilato, sono finalmente riuscito ad aggiornare il firmware alla versione 22:

$ echo '$' > /dev/ttyACM0
$ ./fw_update  -e -w -v -m all -vid 0x04D8 -pid 0xFD0B \
    -ix ~/src/dangerous-prototypes-open-hardware/USB_IR_Toy/package/firmware/USBIRToy.v22.hex

Stacca, ri-attacca, e siamo pronti.

Patch per LIRC

Nota

lircd 0.10 supporta nativamente lo "USB IR Toy", usando il driver irtoy

LIRC può usare lo IR Toy in modalità compatibile irman, ma a me serviva la funzione completa di invio segnali, per programmare il cacciavite. Ho trovato una patch per aggiungere il supporto completo, grazie a Peter Kooiman. Se usate Gentoo, potete aggiungere la mia overlay e installare LIRC già modificato.

Configurare LIRC

Questo dovrebbe essere scritto da qualche parte, ma non sono riuscito a trovare usa spiegazione usabile, per cui mostro quel che ho fatto:

  1. mi son procurato un set completo di codici Philips RC-5 dal repository di telecomandi LIRC
  2. ho assegnato, arbitrariamente, i primi 39 codici ai 13 gesti su 3 banchi di memoria del cacciavite:
    begin remote
     name  sonic
     # snip
     begin codes
       b1_tap_top    0x1000
       b1_tap_left   0x1001
     #etc etc
    

Programmare il telecomando

Ho scritto un semplice programma Perl per inviare i codici IR. Eseguitelo mentre lircd è in esecuzione, e con irsend nel path. Quando dice Ready to send $something, premete "enter" per inviare il codice, a per tornare al codice precedente (utile se il cacciavite non l'ha ricevuto), n per saltare al codice successivo senza inviare nulla.

Ho messo il cacciavite in modalità programmazione, ho eseguito i 39 gesti uno alla volta, e li ho programmati tutti. LIRC ora usa nomi sensati per tutti e 39 i gesti.

Usarlo

Finalmente, ho ri-compilato vlc col supporto LIRC, e ho scritto un ~/.lircrc per vlc. A questo punto, posso controllare vlc col cacciavite sonico!

DateCreato: 2012-10-08 10:49:07 Ultima modifica: 2023-02-10 12:45:24