Raspberry Pi – Pilot IR do OSMC

W ostatnim artykule dowiedzieliśmy się jak z naszej malinki uczynić domowe centrum multimediów. Jednak co to za centrum, którego nie możemy obsługiwać z kanapy bez myszki i klawiatury (można co prawda przez aplikację, ale trzeba mieć telefon pod ręką i połączenie z tą samą siecią). Dziś dowiemy się jak podłączyć do naszego odtwarzacza dowolny pilot na podczerwień.

Podłaczamy odbiornik do płytki

W celu zrealizowania tego projektu musimy zaopatrzyć się w odpowiedni odbiornik podczerwieni. Jeżeli już taki posiadamy to należy go odpowiednio podłączyć do pinów cyfrowych Raspberry.

Wyprowadzenia scalaka prezentują sie następująco:

 Pin GND podłączamy do pinu numer 6 na złączu GPIO Raspberry, VCC do pinu numer 1 (3.3 V), a OUT do pinu 12 (BCM 18 / PWM0).

Na stronie pinout.xyz znajdziemy graficzny rozkład pinów na złączu GPIO maliny

Włączamy obsługę odbiornika podczerwieni

Kiedy mamy już podłączony odbiornik musmy poinformować nasz system operacyjny o tym fakcie. W tym celu należy wejść w opcję My OSMC > Pi Config > Hardware Support.

Na ekranie, który zobaczymy zaznaczamy opcję Enable LIRC GPIO support. Upewniamy się, że pozostałe pod-ustawienia są takie jak na powyższym zrzucie ekranu. Teraz możemy zapisać zmiany i uruchomić ponownie system operacyjny.

Dodajemy predefiniowany pilot

Twórcy OSMC zadbali o to, żebyśmy mogli wybrać jaki mamy pilot spośród listy predefiniowanych popularnych pilotów. Żeby sprawdzić, czy nasz pilot znajduje się na tej liście wchodzimy ponownie w My OSMC, następnie w menu Remotes (ikonka pilota)

po czym szukamy na liście używanego przez nas pilota. Kiedy już go znajdziemy wybieramy, a następnie powinniśmy móc zatwierdzić nasz wybór świeżo dodanym pilotem.

Od teraz powinniśmy już móc swobodnie poruszać się po całym systemie z wykorzystaniem pilota, który skonfigurowaliśmy.

Co jeśli mojego pilota nie ma na liście?

To nic! W systemie OSMC znajdziemy program irrecord, który pomoże nam zmapować przyciski dowolnego pilota na odpowiednie akcje w systemie. W celu konfiguracji niestandardowego pilora musimy zalogować się do do konsoli systemu przez SSH (upewniając się wcześniej w ustawieniach, że dostęp SSH jest włączony). Połaczenie możemy nawiązać za pomocą programu PuTTY. Wpisujemy w nim adres IP maliny oraz port 22 po czym wciskamy Open. Program zapyta nas o użytkownika i hasło. Domyślny użytkownik jak i hasło to osmc. Nie martwcie się jeżeli podczas wpisywania hasła nie będzie widać żadnych znaków (nawet gwiazdek). Jest to celowe zabezpieczenie.

Kiedy już się zalogujemy musimy najpierw zabić proces daemona lircd. W tym celu wpisujemy w konsoli

sudo kill $(pidof lircd)

Teraz przechodzimy do katalogu, gdzie znajdują się configi pilotów:

cd /etc/lirc/

i uruchamiamy program irrecord:

sudo irrecord --device=/dev/lirc0 moj_pilot.conf

Program wyświetli nam ostrzeżenia i instrukcje, po czym poprosi o wciskanie (i ok. sekundowe przytrzymanie) po kolei przycisków na pilocie. Kiedy wciśniemy już wszystkie należy odczekać 10 sekund. Po tym czasie przyjdzie czas na właściwe mapowanie przycisków. Możemy ustalić tylko te, które chcemy. Lista wszystkich dostępnych nazw przycisków jest dostępna po wywołaniu polecenia

irrecord -l

Mój listing wygląda tak: https://pastebin.com/n9pijKmM

Program wyświetli nam taki komunikat:

Now enter the names for the buttons.

Please enter the name for the next button (press <ENTER> to finish recording)

Teraz wpisujemy nazwę przycisku (np. KEY_UP), zatwierdzamy enterem po czym wciskamy odpowiedni przycisk na pilocie. Program powinien zakomunikować że przyjął do wiaomości wciśnięty przycisk. Podobnei robimy z wszystkimi innymi przyciskami, które chcemy zmapować. Kiedy już skończymy wciskamy enter (po prostu nie wpisując nazwy przycisku).

Jeżeli wszystko poszło zgodnie z planem to na liście pilotów powinniśmy teraz odnaleźć konfigurację pilota, którą właśnie stworzyliśmy:

Od teraz możemy cieszyć się sterowaniem OSMC za pomocą naszego pilota :)