Интернет радио из Raspberry Pi управляемое любым пультом. Статья 1 – подключаем пульт.
За основу взята статья с хабра https://habrahabr.ru/post/193572/.
Только я не стал заморачиваться с передатчиком(в моем проекте он пока не нужен) а сделал только приемник.
Приемник был выпаян из нерабочего DVD проигрывателя и маркировки не имеет, но судя по надписям на плате и резистору в цепи питания,
он таки должен нормально работать от 3,3 вольт.
Схема подключения.
Так все выглядит вживую.
Можно приступать к «приручению» пульта.
Предполагается, что на raspberry уже установлен и работает rasbian(легкий debian для raspberry).
И нам нужно только доустановить пакет lirc, который содержит все необходимое
для использования практически любых пультов .
Устанавливаем сам lirc:
sudo apt-get install lirc
Поправим /etc/modules для того, что бы lirc знал какими выводами пользоваться
для приема и отправки ИК сигналов:
sudo nano /etc/modules
добавляем в файл две строки:
lirc_dev
lirc_rpi gpio_in_pin=11
После этого возможно нужно перегрузиться и остановить демона lircd:
sudo service lirc stop
а может и так:
sudo killall lircd
Проверяем работает ли наш модуль командой:
sudo mode2 -d /dev/lirc0
Если поползли цифры при нажатии на кнопки, значит ИК приемник работает.
Для просмотра доступных имен кнопок:
irrecord --list-namespace
Теперь настроим наш пульт:
irrecord -d /dev/lirc0 ~/lircd.conf
Программа попросит понажимать кнопки на пульте.
Нажимаем пока не заполниться строка или две.
Теперь программа опять просит нажимать кнопки пока не заполниться строка.
Нажимаем, и наконец прога просит ввести соответствия зарезервированым
названиям кнопок кнопки на пульте, короче вводим:
KEY_POWER, нажимаем энтер и соответствующую кнопку на пульте.
И так пока не забьем все кнопки.
Теперь прога попросит:
Пожалуйста, нажмите произвольную кнопку несколько раз как можно быстрее.
Все теперь файл настройки пульта создан, можно передохнуть :). Это была самая утомительная часть работы.
А теперь "Горбатый", начинаем настройку управления программ!
Далее необходимо скопировать созданный файл настроек:
sudo mv /etc/lirc/lircd.conf /etc/lirc/lircd.conf.bak
sudo cp ~/lircd.conf /etc/lirc/lircd.conf
Теперь нужно отредактировать файл /etc/lirc/hardware.conf, чтобы
он имел примерно такое содержание:
########################################################
# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS="--uinput"
# Don't start lircmd even if there seems to be a good config file
# START_LIRCMD=false
# Don't start irexec, even if a good config file seems to exist.
# START_IREXEC=false
# Try to load appropriate kernel modules
LOAD_MODULES=true
# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"
# usually /dev/lirc0 is the correct setting for systems using udev
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"
# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""
########################################################
И перегрузиться:
sudo restart
Для проверки используем программу :
irw
Если все настройки правильные программа будет ждать нажатия кнопок на пульте
И отображать их соответствие командам в файле конфигурации:
0000000000001801 00 KEY_1 /home/pi/lircd.conf
0000000000001801 01 KEY_1 /home/pi/lircd.conf
0000000000001801 02 KEY_1 /home/pi/lircd.conf
0000000000001002 00 KEY_2 /home/pi/lircd.conf
0000000000001002 01 KEY_2 /home/pi/lircd.conf
В следующих статьях я расскажу про связку lirc+mpd+mpc.
Овсянников Константин.