Home » [`15년 2차 공동제작 공개프로젝트] 산딸기마을 라즈베리파이 멀티제어 RC Car 블루투스 세팅법

안녕하세요. 마이애니입니다.

드디어 산딸기마을 공동제작 공개프로젝트가 일주일도 채 남지 않았네요.

저희가 몇개월 째 개인적으로 준비를 많이 한만큼 다들 좋은 결과가 있었으면 좋겠네요.^^

오늘은 RC카의 블루투스 세팅하는법을 포스팅 하겠습니다.

 

※ 산딸기마을 라즈베리파이 멀티제어 RC Car 이미지 배포버젼

down_rccar

* 위 이미지를 클릭하시면, 사전 설치된 이미지(8GB)를 다운로드 하실 수 있습니다.
  다운로드 받은 이미지는 "라즈베리파이 기초강좌:라즈비안 설치"와 같은 방법으로 설치하시면 됩니다.

 

※ 산딸기마을  라즈베리파이 멀티제어 RC Car블루투스 세팅법

 

산딸기마을 공동제작 공개프로젝트에서 제공되는 로그인 아이디와 패스워드는 재단버젼을 기준으로 배포합니다.

  • 로그인 아이디 : pi
  • 비밀번호 : raspberry

 

아래 블루투스 설치법은 기존 ” 라즈베리파이(B/B+/2 B) 쉘 커맨드에서 블루투스 연결 사용법 ” 과

[`15년 2차 공동제작 공개프로젝트] 멀티제어 RC카무선(wii Remote) 조이스틱 연동 및 설정 – 소프트웨어 편 –” 을 기준으로 재작성 하였습니다.

 

1. 블루투스 패키지 설치 (이미 설치 되어있습니다.)

pi@raspberrypi ~ $ sudo apt-get install bluetooth bluez-utils blueman

 

2. 블루투스기기 검색

pi@raspberrypi ~ $ hcitool scan

캡처_2015_08_08_22_50_50_781

 

3. 블루트스 조이스틱 페어링

pi@raspberrypi ~ $ sudo bluez-simple-agent hci0 00:17:02:01:A9:BF

블루투스 USB동글이는 사용하는 유저의 대부분이 가장 많이 만나게 될 오류 두가지

1) 블루투스 기기 인증 시간초과

bluetooth_4

2) 블루투스 기기 인증거절

bluetooth_6

위 두가지 오류를 해결 하기 위해서는 “/usr/bin/bluez-simple-agent” 파일 내용 중,

capability = “KeyboardDisplay” 를 capability = “DisplayYesNo” 으로 변경 해 , 위와 같은 오류 현상을 해결 할 수가 있습니다.

그럼 아래와 같이 커맨드 창에 입력하여 파일 속 내용을 변경 해 보도록 해 보겠습니다.

pi@raspberrypi ~ $ grep KeyboardDisplay /usr/bin/bluez-simple-agent
pi@raspberrypi ~ $ sudo perl -i -pe ‘s/KeyboardDisplay/DisplayYesNo/’ /usr/bin/bluez-simple-agent
pi@raspberrypi ~ $ grep DisplayYesNo /usr/bin/bluez-simple-agent

bluetooth_7

위 사진 속 내용과 같이 capability 의 내용을 변경 후 블루투스 페어링 명령어를 입력 시, 정상적으로 자신의 블루투스 조이스틱 과 페어링 되었음을 알 수가 있습니다.

pi@raspberrypi ~ $ sudo bluez-simple-agent hci0  00:17:02:01:A9:BF

캡처_2015_08_08_23_02_24_559

 

정상적으로 된 이후, 매번 등록하는 절차를 거치지 않기 위해 아래와 같이 신뢰성 장치등록을 해 두도록 합니다.

pi@raspberrypi ~ $ sudo bluez-test-device trusted 00:17:02:01:A9:BF yes

pi@raspberrypi ~ $ sudo bluez-test-input connect 00:17:02:01:A9:BF

캡처_2015_08_08_23_04_58_79

 

위 명령대로 하시면 블루투스 조이패드에 불이 들어오면서 페어링이 됩니다.

* 본 내용은 사용자가 보유한 블루투스 조이스틱 별로 차이가 있을 수 있습니다. 

DSC_1016

 

4. 블루투스 조이패드 자동 실행하기

 

다운로드 받은 이미지에서 rc.local 파일 내용 중 아래와 같이 라즈베리파이 멀티제어 RC Car 에서 사용이 가능한 여러 조이스틱들이 자동으로 실행이 될 수 있도록 사전에 등록을 해 두었다.

그럼 지금부터 아래 편집기 명령어로 우리가 사용할 일반 블루투스 조이스틱을 부팅 시에 자동으로 실행이 되도록 설정 해 보도록 하자.

pi@raspberrypi ~ $sudo nano /etc/rc.local

캡처_2015_08_08_23_10_42_124

위 그림처럼 똑같이 다른건 주석처림(#)해주시고

sudo bluez-test-input connect 00:17:02:01:A9:BF ( 꼭 !!! 블루투스 맥어드레스를 자신의 제품에 맞도록 수정 해 주세요.)

sudo python /home/pi/DCMotorJoystickCotrol/rc_joy_1_wamo.py & (rc_joy_1_wamo.py는 자신이 보유한 블루투스 조이패드 키 값에 맞게 수정하셔서 다른이름으로 저장하셔도 됩니다.)

절대 위 두개는 주석처리를 하시면 안 됩니다.

pi@raspberrypi ~ $sudo reboot

여기서 중요한게 라즈베리파이가 부팅을 하는 과정에서 블루투스 조이스틱과 자동 페어링(연결)을 시도하는데,

블루투스 조이스틱과 라즈베리파이 멀티제어 RC Car 가 페어링이 성공하면 바로 RC Car 를 컨트롤 할 수 있다

하지만, 타이밍이 잘 안 맞으면 다시 라즈베리파이를 재부팅해서 타이밍 맞추어 페어링(연결) 하시면 됩니다.

몇 차례 반복을 해 보시면 타이밍이 맞습니다.(저도 처음에는 헤메었답니다. @.@)

 

이상 여기까지 블루투스 조이스틱 설정(페어링) 포스팅이였습니다.

 

산딸기마을 포스트 검색

공동제작 공동프로젝트 무상후원 기관

산딸기마을 기부하기

산딸기마을 방문자 현황

Flags Countries Visits Page views
South Korea 626063 1845660
United States 10882 26091
Japan 5011 13204
Germany 2755 5151
India 1897 2902
Canada 1729 4640
United Kingdom 1596 2642
Australia 1240 2901
Russia 1219 1677
China 1077 2239
Total Pageviews: 1936700