Дистанционное управление с помощью Lirc Ubuntu 12.04
Дистанционное управление с помощью Lirc Ubuntu 12.04
Запуск программ с помощью любого дистанционного пульта
LIRC (Linux Infrared Remote Control — «инфракрасный ПДУ для Linux») — открытый программный пакет, позволяющий принимать и передавать инфракрасные сигналы пользователям операционной системы Linux.
Простейший ИК приемник
Подключается к последовательному порту компьютера.
Сигналы принимаются ИК датчиком IC1 и поступают на вход DCD последовательного порта. Питание через стабилизатор 5В берется с выхода RTS порта, на некоторых компьютерах и usb2com переходниках, где на выходах порта меньшее напряжение, схема работать не будет.
#service lirc stop
#mode2 -d /dev/lirc0
space 2708220
pulse 9037
space 4436
pulse 626
space 504
pulse 610
space 1644
pulse 610
space 1640
pulse 589
space 530
Настройка
#nano /etc/lirc/hardware.conf
# название пульта
REMOTE="IR"
# загружаемый модуль
REMOTE_MODULES="lirc_serial"
# драйвер
REMOTE_DRIVER="default"
# Устройство с которого будет считан сигнал
REMOTE_DEVICE="/dev/lirc0"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF=""
REMOTE_LIRCD_ARGS=""
# запуск lircd
START_LIRCD="true"
# загружать модули
LOAD_MODULES="true"
Теперь создадим файл профиля для пульта с помощью команды irrecord:
Программа предложит понажимать все клавиши на ПДУ, и задать название каждой клавиши. На выходе получится файл, имя которого мы задали, останется лишь скопировать его в /etc/lirc/lircd.conf.
список имен кнопок
#irrecord --list-namespace
или отключаем с помощью параметра --disable-namespace
#irrecord -d /dev/lirc0 ~/lircd.conf
irrecord - application for recording IR-codes for usage with lirc
...
Press RETURN to continue.
Now start pressing buttons on your remote control.
It is very important that you press many different buttons and hold them
down for approximately one second. Each button should generate at least one
dot but in no case more than ten dots of output.
Don't stop pressing buttons until two lines of dots (2x80) have been
generated.
Press RETURN now to start recording.
................................................................................
Found const length: 107875
Please keep on pressing buttons like described above.
................................................................................
Space/pulse encoded remote control found.
Signal length is 67.
Found possible header: 9024 4457
Found trail pulse: 603
Found repeat code: 9026 2206
Signals are space encoded.
Signal length is 32
Now enter the names for the buttons.
Please enter the name for the next button (press <ENTER> to finish recording)
POWER
Now hold down button "KEY_POWER".
...
в результате должен получится файл lircd.conf с приблизительно таким содержимым
begin remote
name NONAME
bits 16
flags SPACE_ENC
eps 25
aeps 100
header 9030 4447
one 616 503
zero 616 1628
ptrail 616
repeat 9035 2198
pre_data_bits 16
pre_data 0x9E29
gap 39858
toggle_bit 0
begin codes
POWER 0x000000000000B748
PC 0x0000000000007788
SOURCES 0x0000000000000FF0
MTS 0x00000000000037C8
MUTE 0x000000000000F708
VOL_UP 0x00000000000027D8
VOL_DOWN 0x00000000000007F8
CH_UP 0x000000000000A758
CH_DOWN 0x0000000000008778
FUNC 0x0000000000006798
PG- 0x00000000000047B8
PG+ 0x0000000000008F70
TTX 0x0000000000004FB0
1 0x0000000000007F80
2 0x000000000000BF40
3 0x0000000000003FC0
4 0x000000000000DF20
5 0x0000000000005FA0
6 0x0000000000009F60
7 0x0000000000001FE0
8 0x000000000000EF10
9 0x0000000000006F90
0 0x000000000000FF00
CH_RTN 0x00000000000017E8
CC 0x0000000000009768
SYNC 0x000000000000D728
CH_CH 0x000000000000E718
AUTOSCAN 0x000000000000CF30
+100 0x000000000000AF50
end codes
end remote
Копирем файл настроек
#cp ~/lircd.conf /etc/lirc/lircd.conf
Запускаем сервер
#service lirc start
и проверяем работу, будет выводится код и название кнопки
Файл lircrc должен быть помещен в домашний каталог ~/.config/lircrc. При желании вы можете создать общесистемный конфигурационный файл, расположенный в "/etc/lirc/lircrc" который будет использоваться при отсутствии lircrc. Идея заключается в том, чтобы иметь информацию о конфигурации всех клиентов в одном месте.
............. продолжение
При копировании материалов ссылка на сайт обязательна