주말이니 상큼하게 라즈베리? ㅋㅋ
+ b와 2b에서 확인완료
요약본
$ sudo vi /boot/config.txt dtoverlay=lirc-rpi $ sudo reboot $ sudo apt-get install lirc $ sudo vi /etc/lirc/hardware.conf LIRCD_ARGS="--uinput" LOAD_MODULES=true DRIVER="default" DEVICE="/dev/lirc0" MODULES="lirc_rpi" LIRCD_CONF="" LIRCMD_CONF="" $ sudo service lirc stop $ irrecord -d /dev/lirc0 ~/lircd.conf $ sudo cp lircd.conf /etc/lirc/lircd.conf $ sudo service lirc start |
[링크 : http://alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/]
lircd.conf 파일이 있긴한데.. 멀 써야 하지?
[링크 : http://lirc.sourceforge.net/remotes/]
-------------------
Step 1. config.txt의 내용에서
# Uncomment this to enable the lirc-rpi module dtoverlay=lirc-rpi |
$ sudo apt-get install lirc |
Step 3. hardware 파일수정
$sudo vi /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=false #Try to load appropriate kernel modules LOAD_MODULES=true # Run "lircd --driver=help" for a list of supported drivers. DRIVER="UNCONFIGURED" # usually /dev/lirc0 is the correct setting for systems using udev DEVICE="" MODULES="" # Default configuration files for your hardware if any LIRCD_CONF="" LIRCMD_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 service lirc restart [ ok ] No valid /etc/lirc/lircd.conf has been found.. [ ok ] Remote control support has been disabled.. [ ok ] Reconfigure LIRC or manually replace /etc/lirc/lircd.conf to enable.. |
Step 4. 혹시 모르니 lircd 데몬 종료
$ sudo service lirc restart |
Step 5. 리모컨의 특성을 설정해주어야 하는데 그게 바로 lircd.conf
$ irrecord -d /dev/lirc0 ~/lircd.conf irrecord - application for recording IR-codes for usage with lirc 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: 108417 Please keep on pressing buttons like described above. ................................................................................ Space/pulse encoded remote control found. Signal length is 67. Found possible header: 4543 4506 Found trail pulse: 614 Found repeat code: 618 490 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) 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. |
엔터만 치고 star recording 에서 아무키나 눌러주면 되는데
처음에는 반복을 인식하는데
두번째는 반복 인식을 안해서 미친듯이 눌러줘야 한다 ㅠㅠ
아무튼 다 하고 나면 다음과 같은 lircd.conf 파일 생성
# Please make this file available to others # by sending it to <lirc@bartelmus.de> # # this config file was automatically generated # using lirc-0.9.0-pre1(default) on Fri Jun 19 23:54:38 2015 # # contributed by # # brand: /home/pi/lircd.conf # model no. of remote control: # devices being controlled by this remote: # begin remote name /home/pi/lircd.conf bits 32 flags SPACE_ENC|CONST_LENGTH|REPEAT_HEADER eps 30 aeps 100 header 4543 4506 one 607 1621 zero 607 508 ptrail 614 repeat 618 490 gap 108417 toggle_bit_mask 0x0 begin codes end codes end remote |
Step 6. /etc/lirc/lircd.conf로 복사해주고 서비스 시작
$ sudo cp lircd.conf /etc/lirc/lircd.conf $ sudo service lirc start [ ok ] Loading LIRC modules:. [ ok ] Starting remote control daemon(s) : LIRC :. |
irrecord로 녹화하기 위해서는 키를 입력해야 하는데 지정된 녀석만 일단은 쓸 수 있다.
Now enter the names for the buttons. Please enter the name for the next button (press <ENTER> to finish recording) KEY_CHUP 'KEY_CHUP' is not in name space (use --disable-namespace to disable checks) Use 'irrecord --list-namespace' to see a full list of valid button names Please try again. |
사용가능한 키 이름은 아래와 같다.
$ irrecord --list-namespace KEY_0 KEY_102ND 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 BTN_0 BTN_1 BTN_2 BTN_3 BTN_4 BTN_5 BTN_6 BTN_7 BTN_8 BTN_9 BTN_A BTN_B BTN_BACK BTN_BASE BTN_BASE2 BTN_BASE3 BTN_BASE4 BTN_BASE5 BTN_BASE6 BTN_C BTN_DEAD BTN_DIGI BTN_EXTRA BTN_FORWARD BTN_GAMEPAD BTN_GEAR_DOWN BTN_GEAR_UP BTN_JOYSTICK BTN_LEFT BTN_MIDDLE BTN_MISC BTN_MODE BTN_MOUSE BTN_PINKIE BTN_RIGHT BTN_SELECT BTN_SIDE BTN_START BTN_STYLUS BTN_STYLUS2 BTN_TASK BTN_THUMB BTN_THUMB2 BTN_THUMBL BTN_THUMBR BTN_TL BTN_TL2 BTN_TOOL_AIRBRUSH BTN_TOOL_BRUSH BTN_TOOL_DOUBLETAP BTN_TOOL_FINGER BTN_TOOL_LENS BTN_TOOL_MOUSE BTN_TOOL_PEN BTN_TOOL_PENCIL BTN_TOOL_QUADTAP BTN_TOOL_RUBBER BTN_TOOL_TRIPLETAP BTN_TOP BTN_TOP2 BTN_TOUCH BTN_TR BTN_TR2 BTN_TRIGGER BTN_WHEEL BTN_X BTN_Y BTN_Z |
irw는 키를 읽어 오는건데 lircd.conf에 저장된 내용만 인식한다.
아무튼.. 아래와 같은 포맷으로 출력이 나온다.
$ irw 000000000000e210 00 KEY_RIGHT /home/pi/lircd.conf 000000000000e210 01 KEY_RIGHT /home/pi/lircd.conf 000000000000e210 02 KEY_RIGHT /home/pi/lircd.conf 000000000000e218 00 KEY_LEFT /home/pi/lircd.conf 000000000000e208 00 KEY_OK /home/pi/lircd.conf 000000000000e208 01 KEY_OK /home/pi/lircd.conf 000000000000e208 02 KEY_OK /home/pi/lircd.conf 000000000000e218 00 KEY_LEFT /home/pi/lircd.conf 000000000000e218 01 KEY_LEFT /home/pi/lircd.conf 000000000000e218 02 KEY_LEFT /home/pi/lircd.conf |
'embeded > raspberry pi' 카테고리의 다른 글
라즈베리 파이 PWM... (6) | 2015.06.20 |
---|---|
라즈베리 파이 lirc 리모컨 빠른 반복 (2) | 2015.06.20 |
크아앙 TSOP38238 불량 이었나!?!?!? ㅠㅠ (2) | 2015.06.18 |
아이 개져아 ㅋㅋㅋㅋ (4) | 2015.06.18 |
놀라운 사실 발견! - 라즈베리 파이 A/B/B+ (2) | 2015.06.15 |