OSMC, Raspberry Pi 3 и удалённое управление пультом
Ссылки по теме
Как сделать медиаплеер на основе Raspberry Pi 3
Медиаплеер из содержимого кладовки
Infrared Remote for Raspberry Pi Mediacenter
Дистанционное управление в Linux
Зачем тебе пульт?
Приложения Kodi или Yatse для удалённого управления медиацентром XBMC конечно хороши, но нет главного — нельзя пользоваться ими вслепую как пультом от телевизора, кнопки то тактильно не ощущаешь. Да и включать постоянно приложение, искать телефон — ну его нафиг, лучше искать пульт, по старой русской традиции, предварительно обернув его в плёночку.
Поэтому берём какой-нибудь ненужный пульт и идём обучать малинку работать с него. Желательно, чтобы у пульта были кнопки регулирования громкости, воспроизведения/паузы, кнопка выключения и самое главное — джойстик с кнопкой ОК. Отлично подойдет пульт от DVD-плеера, например, BBK RC-026-01, который стоит около 300 рублей:
Нам понадобится:
- ИК-приёмник, например TSOP382
- Пульт от телевизора
- Putty, для доступа по SSH
Подключение
Распиновка с лицевой стороны инфракрасного приёмника:
Подключаем или припаиваем контакты ИК-приемника:
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), применяем, перезагружаем плату и начинаем управлять малинкой как белые люди — пультом!
как же это охуеннo!