IR receiver Orange Pi PC
Система
Debian_wheezy_mini Обращаю ваше внимание, все команды я выполняю от
root'а.
Изначально, после установки системы, устройство IR не доступно, так как не загружены соответствующие модули, в случае Orange Pi PC — это модуль
sunxi_ir_rxИдем /etc/ правим файл "modules"
добавляем строки:
gpio-sunxi
sunxi-ir-rxapt-get update && sudo apt-get upgradeперезагружаемся
rebootПроверяем загрузку модуля
sunxi-ir-rx командой
lsmod[email protected]:~# lsmod
Module Size Used by
sunxi_ir_rx 6793 0
gpio_sunxi 8233 0
8189es 887631 0
rt2800usb 13648 0
rt2x00usb 8311 1 rt2800usb
rt2800lib 42390 1 rt2800usb
rt2x00lib 32107 3 rt2x00usb,rt2800lib,rt2800usb
mac80211 331125 3 rt2x00lib,rt2x00usb,rt2800lib
[email protected]:~#
Также важным фактором, чтобы удостовериться, что все заработало, нужно проверить, появилось ли устройство ввода:
cat /proc/bus/input/devices[email protected]:~# cat /proc/bus/input/devices
I: Bus=0019 Vendor=0002 Product=0001 Version=0100
N: Name="vmouse"
P: Phys=vmouse/input0
S: Sysfs=/devices/virtual/input/input0
U: Uniq=
H: Handlers=mouse0 event0
B: PROP=0
B: EV=7
B: KEY=70400 0 0 0 0 0 0 0 0
B: REL=143
I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name="sunxi-ths"
P: Phys=sunxiths/input0
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=event1
B: PROP=0
B: EV=9
B: ABS=100 0
I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name="sunxi-ir"
P: Phys=RemoteIR/input1
S: Sysfs=/devices/virtual/input/input2
U: Uniq=
H: Handlers=sysrq kbd event2 cpufreq_interactive
B: PROP=0
B: EV=100003
B: KEY=ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe
[email protected]:~#
Name="sunxi-ir" - /dev/input/event2 в моем случае это event2
самый верный способ проверить, то ли это устройство, это выполнить
cat /dev/input/event2 | hexdumpПри нажатии на кнопки пульта в терминале видим
[email protected]:~# cat /dev/input/event2 | hexdump
0000000 0349 5618 2b44 0004 0001 0040 0001 0000
0000010 0349 5618 2b53 0004 0000 0000 0000 0000
0000020 0349 5618 dc05 0007 0001 0040 0000 0000
0000030 0349 5618 dc0c 0007 0000 0000 0000 0000
0000040 034c 5618 026e 0009 0001 0043 0001 0000
0000050 034c 5618 027c 0009 0000 0000 0000 0000
0000060 034c 5618 be07 000c 0001 0043 0000 0000
0000070 034c 5618 be0d 000c 0000 0000 0000 0000
^C
[email protected]:~#
(Остановить процесс можно [Ctrl]+[C])
Компилируем демон, который будет следить за нажатиями
apt-get install build-essential git -y
git clone https://github.com/elopez/keybinder.git
cd keybinder
make installпроверяем
запускаем
keybinder /dev/input/event2 и нажимаем на кнопки пульта
[email protected]:~/keybinder# keybinder /dev/input/event2
Reading key input from /dev/input/event2 (sunxi-ir)
Loaded config items
Keycode 69 pressed
Keycode 64 pressed
Keycode 67 pressed
...............................................
Идем /etc/ правим keybinder.conf
69,reboot
64,echo 0 > /sys/class/gpio_sw/normal_led/data
67,echo 1 > /sys/class/gpio_sw/normal_led/data
.....................................................................При нажатии кнопки пульта с кодом 67 вкючится красный светодиод на плате
Для автозапуска после перезагрузки
Идем /etc/ правим rc.local ……………..
до строки exit
добавляем строку
/usr/local/bin/keybinder /dev/input/event2 >/dev/null &перезагружаемся
rebootтестировал с подобными пультами
Сообщение отредактировал Илья Путило - 16.02.17, 18:57