Setting up LIRC and the IR remote controller

Post date: Dec 18, 2015 12:37:15 AM

Browsing on the web i found this article about LIRC and rasplex http://sourceforge.net/p/rasplex/wiki/GPIO-IR/

To access my rasplex i'm using an SSH client from my Windows 7 laptop. I'm using the putty.exe from simon Tatham. It's an old but reliable terminal software.

The username is root and the password is rasplex.

LIRC module should be already up in Rasplex.

Verifying if the module is up:

I just verify it bythe following command:

ls -l /dev/lir*

The print should be something like that:

crw------- 1 root root 249, 0 Jan 1 1970 /dev/lirc0

Next command to type to verify LIRC module is:

dmesg | grep lirc

You should get something like this:

[ 7.198363] lirc_dev: IR Remote Control driver registered, major 249 [ 7.259752] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned. [ 7.293149] lirc_rpi lirc_rpi.0: lirc_dev: driver lirc_rpi registered at minor = 0 [ 7.293171] lirc_rpi: driver registered! [ 7.848510] input: lircd as /devices/virtual/input/input1 [ 8.245523] lirc_rpi: auto-detected active low receiver on GPIO pin 18

Creating the lircd.conf file:

I'm now going to use the command "irrecord" to capture the key presses from my remote and assign them each a name which is then used by XBMC to create an action.

It is useful to get a list of available commands which XBMC can use, which i can then copy it when the irrecord program asks for them.

First of all i have to kill the lircd process by the following command:

kill $(pidof lircd)

and i run the ireccord command:

irrecord --list-namespace | grep KEY

This is the output of the command on my system.

I copy it somewhere to copy and past the KEY name in the next step.

Implementation <<<< Previous Next>>>> Conclusion

Juust need to exit the SSH terminal by typing the "exit" command and restart Rasplex.

That's it....

Now i can use the IR telecommand to drive the Rasplex App.....

Let's put everything in a Boxand connect it to my Smasung TV.

irrecord - application for recording IR-codes for usage with lirc

Below you'll find the output from my SSH console for the irrecord command

Then have to run irreccord one more time to create the config file.

irrecord -d /dev/lirc0 ~/.config/lircd.conf

Irrecord will output to /storage/.config/lircd.conf, a file containing the results of IR remote controller recording.

Irrecord

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.

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 (2x80) have been

generated.

Press RETURN now to start recording.

................................................................................

Found const length: 108185

Please keep on pressing buttons like described above.

................................................................................

Space/pulse encoded remote control found.

Signal length is 67.

Found possible header: 9074 4490

Found trail pulse: 602

Found repeat code: 9076 2218

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)

KEY_POWER

Now hold down button "KEY_POWER".

Please enter the name for the next button (press <ENTER> to finish recording)

KEY_VOLUMEUP

Now hold down button "KEY_VOLUMEUP".

Please enter the name for the next button (press <ENTER> to finish recording)

KEY_MENU

Now hold down button "KEY_MENU".

Please enter the name for the next button (press <ENTER> to finish recording)

KEY_PREVIOUS

Now hold down button "KEY_PREVIOUS".

Please enter the name for the next button (press <ENTER> to finish recording)

KEY_PLAY

Now hold down button "KEY_PLAY".

Please enter the name for the next button (press <ENTER> to finish recording)

KEY_NEXT

Now hold down button "KEY_NEXT".

Please enter the name for the next button (press <ENTER> to finish recording)

KEY_DOWN

Now hold down button "KEY_DOWN".

Please enter the name for the next button (press <ENTER> to finish recording)

KEY_VOLUMEDOWN

Now hold down button "KEY_VOLUMEDOWN".

Please enter the name for the next button (press <ENTER> to finish recording)

KEY_UP

Now hold down button "KEY_UP".

Please enter the name for the next button (press <ENTER> to finish recording)

KEY_LEFT

Now hold down button "KEY_LEFT".

Please enter the name for the next button (press <ENTER> to finish recording)

KEY_OK

Now hold down button "KEY_OK".

Please enter the name for the next button (press <ENTER> to finish recording)

KEY_RIGHT

Now hold down button "KEY_RIGHT".

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.

..............................

No toggle bit mask found.

Successfully written config file.

irreccord KEY

KEY_0

KEY_102ND

KEY_10CHANNELSDOWN

KEY_10CHANNELSUP

KEY_1

KEY_2

KEY_3

KEY_4

KEY_5

KEY_6

KEY_7

KEY_8

KEY_9

KEY_A

KEY_AB

KEY_ADDRESSBOOK

KEY_AGAIN

KEY_ALTERASE

KEY_ANGLE

KEY_APOSTROPHE

KEY_ARCHIVE

KEY_AUDIO

KEY_AUX

KEY_B

KEY_BACK

KEY_BACKSLASH

KEY_BACKSPACE

KEY_BASSBOOST

KEY_BATTERY

KEY_BLUE

KEY_BLUETOOTH

KEY_BOOKMARKS

KEY_BREAK

KEY_BRIGHTNESS_CYCLE

KEY_BRIGHTNESSDOWN

KEY_BRIGHTNESSUP

KEY_BRIGHTNESS_ZERO

KEY_BRL_DOT10

KEY_BRL_DOT1

KEY_BRL_DOT2

KEY_BRL_DOT3

KEY_BRL_DOT4

KEY_BRL_DOT5

KEY_BRL_DOT6

KEY_BRL_DOT7

KEY_BRL_DOT8

KEY_BRL_DOT9

KEY_C

KEY_CALC

KEY_CALENDAR

KEY_CAMERA

KEY_CANCEL

KEY_CAPSLOCK

KEY_CD

KEY_CHANNEL

KEY_CHANNELDOWN

KEY_CHANNELUP

KEY_CHAT

KEY_CLEAR

KEY_CLOSE

KEY_CLOSECD

KEY_COFFEE

KEY_COMMA

KEY_COMPOSE

KEY_COMPUTER

KEY_CONFIG

KEY_CONNECT

KEY_CONTEXT_MENU

KEY_COPY

KEY_CUT

KEY_CYCLEWINDOWS

KEY_D

KEY_DASHBOARD

KEY_DATABASE

KEY_DEL_EOL

KEY_DEL_EOS

KEY_DELETE

KEY_DELETEFILE

KEY_DEL_LINE

KEY_DIGITS

KEY_DIRECTION

KEY_DIRECTORY

KEY_DISPLAY_OFF

KEY_DISPLAYTOGGLE

KEY_DOCUMENTS

KEY_DOLLAR

KEY_DOT

KEY_DOWN

KEY_DVD

KEY_E

KEY_EDIT

KEY_EDITOR

KEY_EJECTCD

KEY_EJECTCLOSECD

KEY_EMAIL

KEY_END

KEY_ENTER

KEY_EPG

KEY_EQUAL

KEY_ESC

KEY_EURO

KEY_EXIT

KEY_F10

KEY_F11

KEY_F12

KEY_F13

KEY_F14

KEY_F15

KEY_F1

KEY_F16

KEY_F17

KEY_F18

KEY_F19

KEY_F20

KEY_F21

KEY_F22

KEY_F23

KEY_F24

KEY_F2

KEY_F

KEY_F3

KEY_F4

KEY_F5

KEY_F6

KEY_F7

KEY_F8

KEY_F9

KEY_FASTFORWARD

KEY_FAVORITES

KEY_FILE

KEY_FINANCE

KEY_FIND

KEY_FIRST

KEY_FN

KEY_FN_1

KEY_FN_2

KEY_FN_B

KEY_FN_D

KEY_FN_E

KEY_FN_ESC

KEY_FN_F

KEY_FN_F10

KEY_FN_F1

KEY_FN_F11

KEY_FN_F12

KEY_FN_F2

KEY_FN_F3

KEY_FN_F4

KEY_FN_F5

KEY_FN_F6

KEY_FN_F7

KEY_FN_F8

KEY_FN_F9

KEY_FN_S

KEY_FORWARD

KEY_FORWARDMAIL

KEY_FRAMEBACK

KEY_FRAMEFORWARD

KEY_FRONT

KEY_G

KEY_GAMES

KEY_GOTO

KEY_GRAPHICSEDITOR

KEY_GRAVE

KEY_GREEN

KEY_H

KEY_HANGEUL

KEY_HANJA

KEY_HELP

KEY_HENKAN

KEY_HIRAGANA

KEY_HOME

KEY_HOMEPAGE

KEY_HP

KEY_I

KEY_INFO

KEY_INSERT

KEY_INS_LINE

KEY_ISO

KEY_J

KEY_K

KEY_KATAKANA

KEY_KATAKANAHIRAGANA

KEY_KBDILLUMDOWN

KEY_KBDILLUMTOGGLE

KEY_KBDILLUMUP

KEY_KEYBOARD

KEY_KP0

KEY_KP1

KEY_KP2

KEY_KP3

KEY_KP4

KEY_KP5

KEY_KP6

KEY_KP7

KEY_KP8

KEY_KP9

KEY_KPASTERISK

KEY_KPCOMMA

KEY_KPDOT

KEY_KPENTER

KEY_KPEQUAL

KEY_KPJPCOMMA

KEY_KPLEFTPAREN

KEY_KPMINUS

KEY_KPPLUS

KEY_KPPLUSMINUS

KEY_KPRIGHTPAREN

KEY_KPSLASH

KEY_L

KEY_LANGUAGE

KEY_LAST

KEY_LEFT

KEY_LEFTALT

KEY_LEFTBRACE

KEY_LEFTCTRL

KEY_LEFTMETA

KEY_LEFTSHIFT

KEY_LINEFEED

KEY_LIST

KEY_LOGOFF

KEY_M

KEY_MACRO

KEY_MAIL

KEY_MAX

KEY_MEDIA

KEY_MEDIA_REPEAT

KEY_MEMO

KEY_MENU

KEY_MESSENGER

KEY_MHP

KEY_MINUS

KEY_MODE

KEY_MOVE

KEY_MP3

KEY_MSDOS

KEY_MUHENKAN

KEY_MUTE

KEY_N

KEY_NEW

KEY_NEWS

KEY_NEXT

KEY_NEXTSONG

KEY_NUMERIC_0

KEY_NUMERIC_1

KEY_NUMERIC_2

KEY_NUMERIC_3

KEY_NUMERIC_4

KEY_NUMERIC_5

KEY_NUMERIC_6

KEY_NUMERIC_7

KEY_NUMERIC_8

KEY_NUMERIC_9

KEY_NUMERIC_POUND

KEY_NUMERIC_STAR

KEY_NUMLOCK

KEY_O

KEY_OK

KEY_OPEN

KEY_OPTION

KEY_P

KEY_PAGEDOWN

KEY_PAGEUP

KEY_PASTE

KEY_PAUSE

KEY_PAUSECD

KEY_PC

KEY_PHONE

KEY_PLAY

KEY_PLAYCD

KEY_PLAYER

KEY_PLAYPAUSE

KEY_POWER

KEY_POWER2

KEY_PRESENTATION

KEY_PREVIOUS

KEY_PREVIOUSSONG

KEY_PRINT

KEY_PROG1

KEY_PROG2

KEY_PROG3

KEY_PROG4

KEY_PROGRAM

KEY_PROPS

KEY_PVR

KEY_Q

KEY_QUESTION

KEY_R

KEY_RADIO

KEY_RECORD

KEY_RED

KEY_REDO

KEY_REFRESH

KEY_REPLY

KEY_RESERVED

KEY_RESTART

KEY_REWIND

KEY_RFKILL

KEY_RIGHT

KEY_RIGHTALT

KEY_RIGHTBRACE

KEY_RIGHTCTRL

KEY_RIGHTMETA

KEY_RIGHTSHIFT

KEY_RO

KEY_S

KEY_SAT

KEY_SAT2

KEY_SAVE

KEY_SCALE

KEY_SCREEN

KEY_SCROLLDOWN

KEY_SCROLLLOCK

KEY_SCROLLUP

KEY_SEARCH

KEY_SELECT

KEY_SEMICOLON

KEY_SEND

KEY_SENDFILE

KEY_SETUP

KEY_SHOP

KEY_SHUFFLE

KEY_SLASH

KEY_SLEEP

KEY_SLOW

KEY_SOUND

KEY_SPACE

KEY_SPELLCHECK

KEY_SPORT

KEY_SPREADSHEET

KEY_STOP

KEY_STOPCD

KEY_SUBTITLE

KEY_SUSPEND

KEY_SWITCHVIDEOMODE

KEY_SYSRQ

KEY_T

KEY_TAB

KEY_TAPE

KEY_TEEN

KEY_TEXT

KEY_TIME

KEY_TITLE

KEY_TUNER

KEY_TV

KEY_TV2

KEY_TWEN

KEY_U

KEY_UNDO

KEY_UNKNOWN

KEY_UP

KEY_UWB

KEY_V

KEY_VCR

KEY_VCR2

KEY_VENDOR

KEY_VIDEO

KEY_VIDEO_NEXT

KEY_VIDEOPHONE

KEY_VIDEO_PREV

KEY_VOICEMAIL

KEY_VOLUMEDOWN

KEY_VOLUMEUP

KEY_W

KEY_WAKEUP

KEY_WIMAX

KEY_WLAN

KEY_WORDPROCESSOR

KEY_WWW

KEY_X

KEY_XFER

KEY_Y

KEY_YELLOW

KEY_YEN

KEY_Z

KEY_ZENKAKUHANKAKU

KEY_ZOOM

KEY_ZOOMIN

KEY_ZOOMOUT

KEY_ZOOMRESET