Настройка пульта ДУ в LibreELEC и OSMC
Для дистанционного управления медиацентром можно использовать USB ИК пульт стоимостью от 500 руб или собрать и настроить пульт назначив свои функции и расположение клавиш.
ИК пульт и приемник
Для себя я выбрал универсальный пульт для DVD видеоплееров HUAYU HR-330E (стоимость около 350 руб.)
Huayu HR-330E — универсальный пульт для dvd и bd плееров
На схеме показано подключение ИК приемника к разъемам Raspberry Pi для модуля с питанием 3V. Для модуля с питанием 5V соответственно другой разъем.
Подключение пульта в Raspberry Pi операционной системе OpenELEC
Разработчики OpenELEC в новой версии 8.0 удалили LIRC, считая устаревшим использования данного сервиса. Новую версию OpenELEC 8 считаю неудобной для использования в устройствах Raspberry Pi. Для дальнейшего использования медиацентра KODI рекомендую установить LibreELEC, в котором LIRC включен.
В новой восьмой версии LibreELEC используются lircd 0.9.4c, в котором добавлены новые пункты для записи файла lircd.conf программой irrecord. Созданный файл конфигурации в новой версии lirc требует доработки и в процессе записи возникают ошибки. Ниже опишу какие пункты irecord добавлены в процесс записи. Рекомендую для настройки пульта использовать предыдущие версии LibreELEC 7 использующие lircd 0.9.1 в котором процесс создания файла конфигурации проще и без ошибок.
Для работы Lirc в LibreELEC нужно активировать Device Tree Overlay в config.txt (данный файл расположен на карте памяти) добавив строку
По умолчанию ИК приемник подключен к разъему GPIO 18, если использовать другой вход сигнала, например при подключении DAC задействован GPIO 26, указать данный разъем
Для создания файла конфигурации захожу через SHH на libreelec
192.168.1.34 — IP-адрес вашего устройства При ошибке SSH «Host key verification failed» очистить содержимое
/.ssh и запустить снова. Are you sure you want to continue connecting (yes/no) yes (продолжить подключение)
Проверяю команды с пульта предварительно остановив процесс lirc
выход клавиши Ctrl + C Создаю файл конфигурации lircd.conf с кодами клавиш пульта, для этого запускаю irrecord
irrecord — application for recording IR-codes for usage with lirc Copyright (C) 1998,1999 Christoph Bartelmus(lirc@bartelmus.de) This program will record the signals from your remote control and create a config file for lircd.
A proper config file for lircd is maybe the most vital part of this package, so you should invest some time to create a working config file. Although I put a good deal of effort in this program it is often not possible to automatically recognize all features of a remote control. Often short-comings of the receiver hardware make it nearly impossible. If you have problems to create a config file READ THE DOCUMENTATION of this package, especially section «Adding new remote controls» for how to get help.
If there already is a remote control of the same brand available at http://www.lirc.org/remotes/ you might also want to try using such a remote as a template. The config files already contain all parameters of the protocol used by remotes of a certain brand and knowing these parameters makes the job of this program much easier. There are also template files for the most common protocols available in the remotes/generic/ directory of the source distribution of this package. You can use a template files by providing the path of the file as command line parameter.
Please send the finished config files to <lirc@bartelmus.de> so that I can make them available to others. Don’t forget to put all information that you can get about the remote control in the header of the file.
Press RETURN to continue. Нажмите кнопку RETURN, чтобы продолжить
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 (2×80) have been generated.
Очень важно, нажимать разные кнопки и удержать их примерно на одну секунду. Каждая кнопка должна генерировать по одной точки, но не более десяти точек. Не прекращайте нажимать кнопки, пока две строки из точек (2×80) будут генерированны. Press RETURN now to start recording.
Space/pulse encoded remote control found. Signal length is 67. Found possible header: 4492 4560 Found trail pulse: 492 Found repeat code: 490 616 Found repeat gap: 89232 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)
Пожалуйста, введите название для следующей кнопки (нажмите <ENTER>, чтобы закончить запись)
Now hold down button «KEY_POWER».
Please enter the name for the next button (press <ENTER> to finish recording) KEY_INFO
Now hold down button «KEY_INFO».
Please enter the name for the next button (press <ENTER> to finish recording)
Checking for toggle bit mask. Please press an arbitrary button repeatedly as fast as possible. Make sure you keep pressing the SAME button and that you DON’T HOLD the button down!. If you can’t see any dots appear, then wait a bit between button presses.
Пожалуйста, нажмите любую кнопку несколько раз как можно быстрее
Press RETURN to continue. Проверяю как выглядит файл lircd.conf
Код кнопок в данном файле выглядит примерно так:
В версии lircd 0.9.4c добавлены новые пункты для записи файла lircd.conf программой irrecord
Checking for ambient light creating too much disturbances. Please don’t press any buttons, just wait a few seconds… Пожалуйста, не нажимайте кнопоки, просто подождите несколько секунд No significant noise (received 0 bytes)
Enter name of remote (only ascii, no spaces) :MyRemote Введите имя устройства без пробелов Using MyRemote.lircd.conf as output filename Используется для записи MyRemote.lircd.conf в качестве файла конфигурации (после записи необходимо переименовать в lircd.conf)
Now start pressing buttons on your remote control.
It is very important that you press many different buttons randomly and hold them down for approximately one second. Each button should generate at least one dot but never more than ten dots of output. Don’t stop pressing buttons until two lines of dots (2×80) have been generated.
Please enter the name for the next button (press <ENTER> to finish recording) KEY_INFO
Please enter the name for the next button (press <ENTER> to finish recording) KEY_POWER
Now hold down button » KEY_POWER «. Timeout (10 seconds), try again (29 retries left).
Now hold down button » KEY_POWER «. Timeout (10 seconds), try again (28 retries left).
Now hold down button » KEY_POWER «. Timeout (10 seconds), try again (27 retries left).
Now hold down button » KEY_POWER «. Timeout (10 seconds), try again (26 retries left).
И так много раз…. Созданный файл MyRemote.lircd.conf выглядит так:
рабочий код кнопки: KEY_POWER 0x0CF3
В дальнейшем при работе пульта обнаружил что есть кнопки не отвечающие на команды.
Например «Контекстное меню» соответствующая клавише «C»
Для использования этой кнопки создал текстовой файл Lircmap.xml и разместил в директории userdata
Содержание файла Lircmap.xml
Есть еще вариант добавление кнопок не отвечающих на запросы lirc, это дополнение Keymap Editor. Эта программа создает файл gen.xml в директории /storage/.kodi/userdata/keymaps
Содержание gen.xml позволяющее запускать «Избранное» клавишей с кодом» 22″
Мой файл конфигурации для пульта HR-330E (код для Philips 012), файл конфигурации для HR-330E (код для LG 008)
Файлы конфигурации для пульта HX1838 (обозначение на пульте «Car mp3»), дешевая и самая распространённая модель пульта стоимостью 50 руб.
Начиная с версии LibreELEC- 8.2.5 разработчики используют новый драйвер gpio-rc-recv вместо lirc-rpi
Для работы Lirc в LibreELEC- 8.2.5 нужно изменить строку Device Tree Overlay в config.txt (данный файл расположен на карте памяти) dtoverlay=lirc-rpi на dtoverlay=gpio-ir
По умолчанию ИК приемник подключен к разъему GPIO 18, если использовать другой вход сигнала, например при подключении DAC
задействован GPIO 26, указать данный разъем
Также разработчики добавили в новой версии пункт меню в настройках LibreELEC, который должен быть активирован для работы пульта.
В последующие версиях LibreELEC в настройках убран пункт «Включить Lirc» и пульт работает.
Подключение пульта в OSMCНастройка кодов пульта особенно не отличается от выше указанных настроек для Libreelec.
Разница в каталогах расположенных файлов (каталог как raspbian)
Зайти через ssh на OSMC (адрес указать свой)
Проверяю команды с пульта предварительно остановив процесс lirc
Выход клавиши ктрл плюс Ctrl+c
Подробнее про назначение клавиш пульта описано выше, процесс одинаковый с Libreelec.
Созданный файл можно проверить в редакторе
Разместить lircd.conf в каталог /etc/lirc
Сделать запись в файле /etc/modules, при подключенном датчике к 18 разъему GPIO