Home » 산딸기 가지고 놀기 » 라즈베리파이(B/B+/2 B) 쉘 커맨드에서 블루투스 연결 사용법

안녕하세요 산딸기마을 이장 나무꾼 입니다.

필자는 지난 `13년 4월 경 라즈베리파이 GUI 모드 에서 blueman 을 이용한 블루투스 키보드 사용법에 대한 포스트를 진행을 후, 지금까지 아무런 문제가 없이 잘 사용을 해 오고 있었다.

하지만, 최근 다시금 필자가 회원으로 활동 중인 라즈베리파이 카페 내에 블루투스 연동과 관련된 포스트 들이 생겨나기 시작하면서 기존 GUI 의 blueman app. 이 동작하지 않는다는 사실을 알게 되었다.

blueman 과 bluez 들을 모두 개별적으로 컴파일을 해 보았지만… 모두 실패하게 되어 다시 방법을 찾아나서고 결국 해결을 하게 되어 이와 관련된 포스트를 진행합니다.

 

0. 블루투스 동글이 사용하기

가장 먼저 필자가 기존 블루투스 동글이를 선물로 주어 새로 구입하게 되었다.

제품명은 기억이 나지 않지만, 필자가 보유한 제품의 블루투스 동글이에 장착된 칩셋이 CSR8510 A10 이라는 사실을 확인하게 되었다.

자 그럼 이제부터 블루투스 동글이 와 기존에 필자가 사용 중인 블루투스 키보드와 연동을 시도해보자.

bluetooth_product

 

1. 블루투스 패키지 설치

패키기지를 설치하기에 앞서 설치 시 발생할 수 있는 문제요소 제거를 위해 라즈비안에 설치되어 있는 패키지르ㄹ 최신 버전들로 업데이트 해 주도록 하자.

pi@openmake ~ $ sudo apt-get && sudo apt-get upgrade -y

pi@openmake ~ $ sudo apt-get install bluetooth bluez-utils bluez-compat

2. 블루투스 장치 확인

블루투스 동글이를 라즈베리파이 USB 에 연결 한 뒤 라즈비안에서 정상적으로 장치가 인식하는지를 확인 해 보도록 하자.

리눅스 명령어 중 USB에 연결되ㄴ 리스트 장치를 확인 할 수 있는 “lsusb”  커맨드를 입력 해 블루투스가 제대로 연결되어져 있는지를 확인 해 보자.

pi@openmake ~ $ lsusb | grep -i bluetooth

bluetooth_2

 

3. 블루투스 페어링(연결) 하기

리눅스 명령어 중 블루투스 장치 검색을 할 수 있는 “hcitool scan” 명령어를  이용해 USB동글이와 연결할 장치 맥 어드레스를 확인 해 보도록 하자.

명령어를 입력하기 전에 반듯이 USB 동글이와 페어링 할 대상의 scan 허용 버튼을 눌러 준 뒤에 명령어를 입력 하도록 하자.

pi@openmake ~ $ hcitool scan

bluetooth_3

블루투스 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 DC:2C:26:E6:28:DE

위 페어링(연결) 명령어를 입력 후에는 라즈베리파이와 연결 될 장치의 연결 버튼을 반듯이 눌러 주어야만 된다.

 

4. 블루투스 페어링(연결) 후, 장치관리 팁 모음

그럼 마지막으로 블루투스 기기 페어링 후, 매번 위와 같이 블루투스 디바이스 별로 연동 및 PIN Code 입력을 해 주어야 하는 불편함이 있다.

이러한 불편한 요소를 제거 해 보자.

 

4.1. 신뢰성 장치 등록하기

라즈비안 쉘 커맨드 창에서 아래 명령어를 입력 해  매번  등록해야 하는 디바이스 인증절차를 제거 해 보도록 하자.

* 아래 MAC ADDRESS 는 각 장치별로 별도의 별도 어드레스로 등록을 해 주어야 만 한다.

pi@raspberrypi ~ $ sudo bluez-simple-agent hci0 DC:2C:26:E6:28:DE

 

4.2. 신뢰성 장치 제거하기

3.1을 통해 새로구입한 장치를 등록하였다면, 이를 제거 할 수가 있다.

장치를 등록 했듯이 아래 명령어 입력으로 제거 해 보도록 하자.

pi@raspberrypi ~ $ sudo bluez-test-device remove DC:2C:26:E6:28:DE

 

4.3  블루투스 키보드 활성화

라즈비안에서는 브ㄹ블루투스 키보드를 사용하기 위해선 위 절차를 진행 후, 입력이 가능토록 한번 더 활성화  명령어를 실행 해 주어야 했다.

pi@raspberrypi ~ $ bluez-test-input connect  DC:2C:26:E6:28:DE

마지막으로 라즈베리파이를 재부팅을 하게 되면 블루투스 키보드가 지속적으로 연동이 되어 있는 확인이 가능한 명령어는 아래 명령어를 사용 하면 된다.

pi@raspberrypi ~ $ hcitool con

Connections:
< ACL DC:2C:26:E6:28:DE handle 41 state 1 lm MASTER AUTH ENCRYPT

 

위와 같이 연결된 장치의 정보가 보이지 않는다면 키보드 입력이 되지 않을 것이다.

또한, 재부팅 후 바로 사용이 가능한 것은 아니였다.

필자가 테스트 한 바로는  라즈비안이 모두 부팅된 이후 약 5 ~ 10초 정도 오토페어링이 되는 시간이 필요하였다.

pi@raspberrypi ~ $ hcitool con

Connections:

pi@raspberrypi ~ $

 

이상으로 라즈베리파이 쉘 커맨드에서 블루투스 4.0 디바이스 강좌를 마치도록 하겠다.

P.S  : 키보드 입력과 같은 입력장치들의 경우에는 위와 같은 방법으로 모두 활성화 테스트를 마치었고, PS3 및 블루투스 조이스틱 역시 모두 테스트를 완료하였다.

 

[참고사이트]

o http://www.correlatedcontent.com/blog/bluetooth-keyboard-on-the-raspberry-pi

o http://elinux.org/RPi_Bluetooth_keyboard_setup

o http://www.wolfteck.com/projects/raspi/iphone

 

산딸기마을 포스트 검색

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

산딸기마을 기부하기

산딸기마을 방문자 현황

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