참고: http://blog.prettymay.com/220670957502
[설치]
$ sudo apt-get install lirc liblircclient-dev
[핀설정]
$ sudo nano /etc/modules
파일 끝에 아래 내용을 추가
lirc_dev
lirc_rpi gpio_in_pin=18 <-- 연결된 핀번호
$ sudo nano /etc/lirc/hardware.conf
아래내용으로 수정
LIRCD_ARGS="--uinput"
DRIVER="default"
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"
$ sudo nano /boot/config.txt
[수신확인]
$ sudo /etc/init.d/lirc stop
$ mode2 -d /dev/lirc0
[키와 매핑하기 (record)]
$ irrecord -d /dev/lirc0 ~/lircd.conf
그러면 모든 키를 입력라하는 말이 나옴. 그과정에 lircd.conf 파일이 만들어짐
$sudo cp ~/lircd.conf /etc/lirc/lircd.conf
덮어 쓰기.
[데몬 시작]
$ sudo /etc/init.d/lirc restart
테스트 소스
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | #include <wiringPi.h> #include <lirc/lirc_client.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #define LED_B 4 #define LED_R 5 #define LED_G 6 #define LED_ON 1 #define LED_OFF 0 void ledOnOff( int led) { if (digitalRead(led) == LED_ON) digitalWrite(led, LED_OFF); else digitalWrite(led, LED_ON); } int main() { struct lirc_config *config; int buttonTimer = millis(); char *code; if (wiringPiSetup() == -1) exit (1); pinMode(LED_B, OUTPUT); pinMode(LED_R, OUTPUT); pinMode(LED_G, OUTPUT); if (lirc_init( "lirc" , 1) == -1) exit (EXIT_FAILURE); if (lirc_readconfig(NULL, &config, NULL) == 0) { while (lirc_nextcode(&code) == 0) { if (code == NULL) continue ; if (millis() - buttonTimer > 400) { if ( strstr (code, "KEY_1" )) { printf ( "Match on KEY_1\n" ); ledOnOff(LED_B); buttonTimer = millis(); } else if ( strstr (code, "KEY_2" )) { printf ( "Match on KEY_2\n" ); ledOnOff(LED_R); buttonTimer = millis(); } else if ( strstr (code, "KEY_3" )) { printf ( "Match on KEY_3\n" ); ledOnOff(LED_G); buttonTimer = millis(); } } free (code); } lirc_freeconfig(config); } lirc_deinit(); exit (EXIT_SUCCESS); } |
Designed by sketchbooks.co.kr / sketchbook5 board skin
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5