Bądź: Wyszukaj na stronie z użyciem Google
reklama:

czwartek, 3 lutego 2011

Uniwersalny odbiornik - LIRC

Autor: , 13:12, czwartek, 3 lutego 2011


Igor SFH-56 device
Zakupiłem sobie ostatnio takie oto maleństwo na Allegro, jako rzekomo odbiornik podczerwieni do każdego pilota. Szczerze to kupowałem w ciemno bo nie wiedziałem czy to w ogóle będzie działać, a jeśli nawet tak to czy ze współpracy z Linuksem. Stwierdziłem jednak, że nawet jeśli nie, to tych paru złotych nie będzie mi szkoda. Ale nie zawiodłem się :) sprzęt działa i to bardzo dobrze a z tego co się dowiedziałem działa on na podstawie schematu Igora Cesko.

Tekst przygotował Skoruppa. Korekta AN.

Jednak zanim doszedłem jak to cudo obsłużyć na Ubuntu trochę się namęczyłem ponieważ było to moje pierwsze spotkanie z LIRC-em i jak na złość każdy "poradnik" wprowadzał mnie trochę w błąd... dlatego postanowiłem napisać własny tutorial.

1. Na początku zainstalujmy potrzebne nam programy :). Mam na myśli Lirc, Smplayer z obsługą tegoż pierwszego oraz Xmacroplay dla sterowania pewnymi rzeczami.

a) Lirc:
Instalujemy go z repozytorium

sudo apt-get install lirc lirc-x
Czyli standardowo. Przy instalacji zostaniemy spytani jakież to urządzenie posiadamy jako odbiornik i nadajnik. W przypadku uniwersalnego odbiornika powinniśmy wybrać "Home-brew (16x50 UART compatible serial port)" a nadajnik po prostu pomińmy.

Jeśli przypadkowo zainstalowałeś już wcześniej LIRC jako np. zależność do jakiegoś programu możesz go skonfigurować jeszcze raz przez komendę:

sudo dpkg-reconfigure lirc
b) Smplayer:
Domyślnie Smplayer nie posiada obsługi LIRC-a, na szczęście jest dostępny patch dodający tą opcje. Dla leniwych mam przygotowany pakiet .deb (i386).

c) Xmacroplao:
Program ten nie jest niezbędny, jednak ja go używam do sterowania niektórymi rzeczami (xf86events).

sudo apt-get install xmacro
2. Zanim zaczniemy wszystko konfigurować możemy sprawdzić, czy odbieramy jakieś sygnały za pomocą komendy mode2:

sudo mode2 -d /dev/lirc0
Naciskamy guziczki na naszym pilocie i patrzymy czy coś się dzieje, jak tak to możemy przejść dalej.

Teraz musimy nauczyć LIRC naszego pilota. Robimy to za pomocą komendy:

sudo rm /etc/lirc/lircd.conf
sudo irrecord -d /dev/lirc0 /etc/lirc/lircd.conf

Irrecord każe nam zrobić kilka rzeczy. Na początku będziemy mieli przytrzymywać kolejno różne guziki na pilocie przez około jedną sekundę każdy aż kropki wypełnią dwie linijki w terminalu. Następny krok to bardzo szybkie wciskanie jednego klawisza tak aby co wciśnięcie pojawiała się jedna kropka albo nazywanie guzików na pilocie, które polega na wybraniu nazwy z listy irrecord -l i wciśnięciu guzika na pilocie (piszę albo, gdyż raz drugim krokiem jest nazywanie guzików a raz naciskanie).

Wygeneruje nam to plik konfiguracyjny, a jeśli tak jak ja używasz pilota do dvd z Philipsa to zamieszczam tutaj swój plik.

3. Mając już konfigurację wypada podłączyć wszystko pod jakieś funkcje. Smplayer z patchem posiada graficzny konfigurator więc nie będę go opisywać. Całą resztę ustawiamy w pliku ~/.lircrc.

gedit ~/.lircrc
Nie będę się rozpisywał co możemy w nim zrobić bo możemy dużo, o tym w Google jest pełno informacji. Pokaże swój plik i omówię jak działa.

Program Irexec uruchamia aplikacje, można też zastosować skrypty basha. Irxevent zaś symuluje naciśnięcie klawiszy tak samo jak Xmacroplay z tym, że nie jest on częścią Lirca. To co podłączyłem pod np. KEY_PLAY sprawdza czy Smplayer jest uruchomiony i jeśli nie to wysyła XF86AudioPlay. Zrobiłem tak ponieważ chciałem sterować odtwarzaczem filmów i muzyki na tych samych klawiszach.

Na sam koniec zostaje dodać irxevent -d oraz irexec -d do autostartu i gotowe ;) Możemy cieszyć się naszym odbiornikiem
blog comments powered by Disqus

Prześlij komentarz


Popularne posty

Etykiety