Mimo braku wbudowanego odbiornika podczerwieni naszą maliną możemy sterować również pilotem. Wystarczy dokupić za kilka złotych odbiornik podczerwieni , podłączyć i odpowiednio skonfigurować w systemie. Później możemy sterować zwykłym pilotem automatyką domową, skryptami i programami, czy też odtwarzaczami multimedialnymi np. OpenELEC.
Potrzebne elementy:
- odbiornik podczerwieni tsop31238 lub podobny
- rezystor 100 Ohm
- kondensator 0,1 uF
- przewody i zworki
- płytka prototypowa
- działający dowolny pilot 🙂 ja użyłem od tunera dvb-t overmax
Podłączenie:
- nóżka 1 GND połączone dla zmniejszenia skoków napięć poprzez kondensator z VCC
- nóżka 2 VCC przez kondensator połączony z GND oraz rezystor do zasilania 3,3V RPi
- nóżka 3 OUTPUT np. do GPIO 18 (PIN 12)
Przygotowanie systemu:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
(zainstalowanie potrzebnego oprogramowania) sudo apt-get install lirc liblircclient-dev sudo apt-get install python-lirc (dodać do modułów systemu) nano /etc/modules lirc_dev lirc_rpi gpio_in_pin=18 (dodać do /boot/config na samym dole) dtoverlay=lirc-rpi,gpio_in_pin=18 |
Poprawić konfigurację lirc-a : nano /etc/lirc/hardware.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
######################################################## # /etc/lirc/hardware.conf # # Arguments which will be used when launching lircd LIRCD_ARGS="--uinput" # Don't start lircmd even if there seems to be a good config file # START_LIRCMD=false # Don't start irexec, even if a good config file seems to exist. # START_IREXEC=false # Try to load appropriate kernel modules LOAD_MODULES=true # Run "lircd --driver=help" for a list of supported drivers. DRIVER="default" # usually /dev/lirc0 is the correct setting for systems using udev DEVICE="/dev/lirc0" MODULES="lirc_rpi" # Default configuration files for your hardware if any LIRCD_CONF="" LIRCMD_CONF="" ######################################################## |
Po restarcie należy sprawdzić działanie pilota
1 2 |
sudo /etc/init.d/lirc stop mode2 -d /dev/lirc0 |
Wciskając na pilocie różne przyciski powinniśmy otrzymać różne kody:

Przygotowanie konfiguracji pilota
Gotowe konfigi do pilotów można znaleźć tu : http://lirc.sourceforge.net/remotes/ . Ja znalazłem dla siebie działający od ręki http://lirc.sourceforge.net/remotes/lg/AKB72915207
Jeśli mamy niestandardowego pilota to należy nagrać jego kody i wskazać odpowiadające im funkcje w aplikacji lirc.Do wyświetlania dostępnych kodów klawiszy w aplikacji lirc służy polecenie : irrecord –list-namespace
Następnie uruchamiamy nagrywanie mapowania klawiszy pilota na klawisze w lircu: irrecord -d /dev/lirc0 /home/pi/lircd.conf
- w pierwszym etapie należy wciskać losowo wszystkie klawisze po 1 sek (2 kropki)
- w drugim etapie należy wpisać klawisz np. KEY_1 i wcisnąć jedynkę na pilocie (potwierdzić każde mapowanie enterem)
- po zakończeniu mapowań wciskamy enter i potwierdzamy zapis konfiguracji pilota
Utworzoną konfigurację lub skopiowaną z http://lirc.sourceforge.net/remotes/ kopiujemy do /etc/lirc/lircd.conf
Restartujemy lirca: /etc/init.d/lirc restart
Sprawdzamy działanie zmapowanych klawiszy pilota poleceniem : irw
Skrypt w pythonie do obsługi pilota:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#!/usr/bin/python import lirc import time sockid = lirc.init("rcled", blocking=False) while True: try: button = lirc.nextcode() if len(button) == 0: continue print (button[0]) time.sleep(1) except KeyboardInterrupt: lirc.deinit() break |
Zanim uruchomimy nasz skrypt należy jeszcze zdefiniować wszystkie potrzebne w skrypcie opisy klawiszy pilota : nano -c /etc/lirc/lircrc
np.
Wynik działania uruchomionego skryptu:
Odbiornik podczerwieni do kupienia w:
http://botland.com.pl/odbiorniki-podczerwieni/3125-odbiornik-podczerwieni-tsop32236-36-khz.html
Warto zobaczyć:
https://github.com/tompreston/python-lirc
http://ozzmaker.com/2013/10/24/how-to-control-the-gpio-on-a-raspberry-pi-with-an-ir-remote/
http://alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/
http://www.instructables.com/id/How-To-Useemulate-remotes-with-Arduino-and-Raspber/step11/LIRC-with-Python-Part-II/
https://learn.adafruit.com/using-an-ir-remote-with-a-raspberry-pi-media-center/using-other-remotes
http://ja.cques.ca/blog/2012/10/22/getting-the-usb-uirt-to-work-with-the-raspberry-pi/
http://kodi.wiki/view/HOW-TO:Setup_Lirc