Как мне создать файл конфигурации LIRC?

Я пытаюсь использовать библиотеку Linux Infrared Remote Control LIRC для записи настраиваемого сигнала с пульта дистанционного управления и сохранения его в файле. Затем я воспользуюсь этими сигналами, чтобы снова отправить его через ir tx с помощью raspberry pi, когда я запускаю test ir rx mode2 -d /dev/lirc1, результат кажется хорошим.

Using driver default on device /dev/lirc1
Trying device: /dev/lirc1
Using device: /dev/lirc1
space 16777215
pulse 9044
space 4463
pulse 601
space 1641
pulse 628
space 532
pulse 575
space 558
pulse 577
space 530
pulse 603

Но когда я открываю файл /etc/lirc/lircd.conf, происходит следующее:

# Type of device controlled
#     (TV, VCR, Audio, DVD, Satellite, Cable, HTPC, ...) :
# Device(s) controlled by this remote:

begin remote

 name  fan
 bits            0
 flags CONST_LENGTH
 eps             0
 aeps            0

 one             0     0
 zero            0     0
 gap          50000
 toggle_bit_mask 0x0
 frequency    38000

     begin codes
         KEY_POWER                0x0
         KEY_0                    0x0
         KEY_1                    0x0
     end codes

end remote

Все сохраненные ключи - нули, как мне решить эту проблему?


person mohamed tarek    schedule 04.12.2019    source источник


Ответы (2)


Ваш драйвер LIRC настроен и выглядит нормально с этой стороны. Однако стоит дважды проверить, правильно ли настроен драйвер, поскольку я думаю, что это проблема.

Предполагая, что вы используете пульт T95m / T95N:

  • 0x140 KEY_POWER
  • 0x155 KEY_POWER
  • 0x101 KEY_0
  • 0x14e KEY_1

Попробуйте отредактировать файл etc / lirc / lircd.conf, запустив его с указанными выше значениями (введите несколько ИК-команд) и посмотрите, вернет ли он значения обратно в 0x0 после этого.

person TeeJay    schedule 04.12.2019
comment
Я пытался отредактировать эти значения, но появилось это сообщение pi@raspberrypi:~ $ irsend SEND_ONCE fan KEY_POWER hardware does not support sending Error running command: Input/output error - person mohamed tarek; 05.12.2019
comment
Хорошо, поэтому он не передает, вам нужно будет найти пульт, на котором вы используете таблицу ключей, и, возможно, также попробуйте отредактировать /etc/lirc/lirc_options.conf и изменить: driver = devinput на driver = default - person TeeJay; 05.12.2019

Я бы посоветовал вам сначала объявить вывод GPIO передатчика, а затем приемник.

вот так: dtoverlay = gpio-ir-tx, gpio_pin = 17 dtoverlay = gpio-ir, gpio_pin = 18

и я бы дважды проверил /etc/lirc/lirc_options.conf, поскольку TeeJay предположил, что это решило мою проблему на raspberrypi 3+

person Harvester Haidar    schedule 27.08.2020