OSMC, Raspberry Pi 3 и удалённое управление пультом

Ссылки по теме

Как сделать медиаплеер на основе Raspberry Pi 3
Медиаплеер из содержимого кладовки
Infrared Remote for Raspberry Pi Mediacenter
Дистанционное управление в Linux

Зачем тебе пульт?

Приложения Kodi или Yatse для удалённого управления медиацентром XBMC конечно хороши, но нет главного — нельзя пользоваться ими вслепую как пультом от телевизора, кнопки то тактильно не ощущаешь. Да и включать постоянно приложение, искать телефон — ну его нафиг, лучше искать пульт, по старой русской традиции, предварительно обернув его в плёночку.

Поэтому берём какой-нибудь ненужный пульт и идём обучать малинку работать с него. Желательно, чтобы у пульта были кнопки регулирования громкости, воспроизведения/паузы, кнопка выключения и самое главное — джойстик с кнопкой ОК. Отлично подойдет пульт от DVD-плеера, например, BBK RC-026-01, который стоит около 300 рублей:

 

Нам понадобится:

  1. ИК-приёмник, например TSOP382
  2. Пульт от телевизора
  3. Putty, для доступа по SSH

Подключение

Распиновка с лицевой стороны инфракрасного приёмника:

Распиновка GPIO Raspberry Pi

Подключаем или припаиваем контакты ИК-приемника:

GPIO 18 — к контакту GPIO 18 на малинке, жёлтый контакт на схеме с числом 18
GND — к любому контакту Ground (земля) на малинке, черный контакт на схеме, любой
+3.3V — к контакту 3.3V на малинке, оранжевый контакт на схеме, их всего 2 шт.

Если вы хотите включать и выключать малинку по кнопке POWER c пульта, то дополнительно припаяйте контакт GPIO 18 ИК-приёмника к GPIO 3 малинки, при замыкании этого контакта на землю, происходит вкл./выкл. платы.

Проверяем контакты на всякий случай и включаем малинку в сеть.

Настройка

Первым делом нужно включить LibRC в настройках OSMC:
Система -> Настройки -> My OSMC -> Pi Config -> Hardware Support (логотип малинки)
Включаем параметр Enable LIRC GPIO support и выставляем gpio_in_pin — 18.

Перезагружаем малинку и подключаемся к ней по SSH c помощью Putty (прописываем IP малины и порт 22).
Рекомендую в своем домашнем роутере выставить фиксированный IP-адрес для малины, чтобы всегда можно было зайти по одному и тому же айпишнику. Логин-пароль: osmc/osmc.

Установим стандартный пакет для управления процессами

sudo apt-get update && sudo apt-get install psmisc

Теперь можно приступать к обучению пульта, убьем процесс LibRC и запустим получение данных с пульта:

sudo killall lircd
mode2 -d /dev/lirc0

Теперь, если посветить пультом в ИК-приемник, в терминале будут отображаться принятые сигналы:

Если вдруг уже идут сигналы без нажатия кнопок на пульте, то это могут быть помехи от китайских блоков питания, ртутных ламп и пр. Итак, если сигналы идут, значит ИК-приемник мы подключили правильно и сигналы принимаются малинкой.

Начнем выставлять соответствия кнопкам пульта, для обучения существует специальная утилита irrecord:

irrecord -d /dev/lirc0 lircd.conf

Нажимаем два раза Enter и начинаем зажимать подряд все кнопки на пульте, пока утилита не сообщит нам о том, что она получила паттерн. Затем утилита попросит еще раз понажимать кнопки на пульте, зажимая их на 1 сек. После этого, irrecord предложит нам ввести название кнопок и записать их сигнал. Весь список кнопок выложен тут или его можно получить по команде:

irrecord --list namespace

Список самых необходимых кнопок (наглядная картинка расположения кнопок на пульте):

KEY_POWER Выключение/включение платы
KEY_MUTE Выключение звука
KEY_VOLUMEDOWN Убавление громкости
KEY_VOLUMEUP Добавление громкости
KEY_PLAY Воспроизведение
KEY_PAUSE Пауза
KEY_PLAYPAUSE Совмещённая кнопка Воспроиз./Паузы
KEY_STOP Остановка воспроизведения
KEY_LEFT Кнопка влево
KEY_RIGHT Кнопка вправо
KEY_DOWN Кнопка вниз
KEY_UP Кнопка вверх
KEY_OK Кнопка ОК/Enter
KEY_EXIT Выход/Отмена
KEY_INFO Краткая информация о проигрываемом файле
KEY_EPG Телепрограмма
KEY_SUBTITLE Субтитры
KEY_AUDIO Переход в раздел «Музыка»
KEY_PREVIOUS Предыдущий трек
KEY_NEXT Следующий трек
KEY_0 … 9 Цифровые кнопки от 0 до 9
KEY_HOME Вернуться на главный экран
KEY_TITLE Техническая информация о проигрываемом файле
KEY_CONTEXT_MENU Контекстное меню
KEY_REWIND Перемотка назад
KEY_FORWARD Перемотка вперёд

Вводим название кнопки в терминал, жмакаем ее на пульте и ждем ответа от утилиты:

После того, как обучили все нужные кнопки, утилита попросит проверить битовую маску, для этого нужно быстро понажимать на каждую кнопку несколько раз.
Как будет написано, что файл конфигурации записан — идём опять в My OSMC, в раздел Remote. Выбираем наш файл конфигурации (по кнопке Browse), применяем, перезагружаем плату и начинаем управлять малинкой как белые люди — пультом!

Источник https://shtyrlyaev.ru/all/osmc-raspberry-pi-3-remote-control-tv/