댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
Pi
2017.10.17 17:05
라즈베리파이 적외선(IR) 리모컨 송신/수신 - LIRC Library
조회 수 9843 댓글 0
참고: 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 테스트 소스 #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); } Dreamy의 코드 스크랩내가 모으고 내가 보는
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Designed by sketchbooks.co.kr / sketchbook5 board skin
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5