LIRC - Raspberry Pi
This is a complicated guide to setting up LIRC on the Raspberry Pi to run remote commands. Materials
- Vishay TSOP4838 $4 (aka 38kHz Infrared (IR) Receiver Module - Part Number 276-640 at Radio Shack)
Start by installing LIRC
apt-get install lirc
Now, edit the file /etc/lirc/hardware.conf
# /etc/lirc/hardware.conf # # Arguments which will be used when launching lircd LIRCD_ARGS="" #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=true #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=""
Now edit the file /etc/modules and add this line
lirc_rpi
Now edit (or make) the file /lib/udev/rules.d/98-lircd.rules and add this line
KERNEL=="lirc[0-9]*", SUBSYSTEM=="lirc", SUBSYSTEMS=="platform", GOTO="begin"
Now test to see if receiver works, run this and press some buttons, see anything?
/etc/init.d/lirc stop mode2 -d /dev/lirc0
Now setup your remote control or use a default lircd.conf for a remote on file with LIRC Notes: setup as many or as few buttons as you want. I would recommend doing them all now.
irrecord --list-namespace (print or save this, you will need it during setup) irrecord -d /dev/lirc0 ~/lircd.conf (follow instructions and use above command for key names)
Now copy the created ~/lircd.conf to its new home
mv /etc/lirc/lircd.conf /etc/lirc/lircd.original (backup original) cp ~/lircd.conf /etc/lirc/lircd.conf (Copy it home)
Now test your keys and remote setup
service lirc restart killall irexec irw (now spam some buttons! Ctrl + C to exit)
Want to launch programs with your remote? Edit or create ~/.lircrc ~/ means the users home directory
touch ~/.lircrc vi ~/.lircrc
Add these lines to ~/.lircrc Note: Replace KEY_POWER with your key from your lircd.conf Note: Use an & at the end of the config = line. It will run the command without making you wait for it to complete
begin prog = irexec button = KEY_POWER config = /home/pi/gpio/11blink.sh & end
Test... Again but this time to exec the program
killall irexec service lirc restart irexec -d (now test your button)