LINUX
2017.05.25 10:17

bluetooth on Ubuntu

조회 수 15975 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
power on
  • hciconfig [장치이름] up : hciconfig hci0 up
scan devices
  • hcitool scan
Browse all available services on the device specified by a Bluetooth address as a parameter.
  • sdptool  browse bdaddr : sdptool browse D0:57:85:C1:5E:D6
Retrieve all possible service records.
  • sdptool  records bdaddr : sdptool records D0:57:85:C1:5E:D6



--------------------------------------------------------------------------------------------------------------------------------------------------


Install bluez

mkdir Bluez
cd BlueZ

git clone git://git.kernel.org/pub/scm/bluetooth/bluez.git

mv bluez bluez-5.28

sudo apt-get install libudev-dev libpcre3-dev libtool libglib2.0-dev libdbus-1-dev elfutils libelf-dev libdw-dev libical-dev libsbc-dev libspeexdsp-dev libreadline6 libreadline6-dev automake

 

edit ./bootstrap-configure : add --enable-library \

                                           add --disable-systemd \

                                           delete --enable-android \

./bootstrap-configure
make

sudo make install

GATT 용 rpi

 

GATT 제외한 나머지 profile 용 rpi

git checkout ad410057b17933339774fa7e4a12bfc87bfd545d

 

bluez configuration 수정

/etc/bluetooth/main.conf 수정

  • DiscoverableTimeout = 0 주석해제
  • PairableTimeout = 0 주석해제
  • Class = 0x000100 주석해제

bluetoothd 실행

sudo /usr/libexec/bluetooth/bluetoothd -n -d

SSP mode enable

sungmokshin@sungmokshin-desktop2:~/bt_automation/automation-tests$ hciconfig hci0 sspmode
hci0:   Type: BR/EDR  Bus: USB
    BD Address: 00:49:00:C0:20:00  ACL MTU: 1021:8  SCO MTU: 64:1
    Simple Pairing mode: Disabled
sungmokshin@sungmokshin-desktop2:~/bt_automation/automation-tests$ sudo hciconfig hci0 sspmode 1
[sudo] password for sungmokshin:
sungmokshin@sungmokshin-desktop2:~/bt_automation/automation-tests$ hciconfig hci0 sspmode
hci0:   Type: BR/EDR  Bus: USB
    BD Address: 00:49:00:C0:20:00  ACL MTU: 1021:8  SCO MTU: 64:1
    Simple Pairing mode: Enabled
sungmokshin@sungmokshin-desktop2:~/bt_automation/automation-tests$

 

 

export DISPLAY=:0

 

SPP

SPP-loopback.py를 /home/sungmokshin/BlueZ/bluez-5.28/test로 복사

chmod 755 SPP-loopback.py

현재 rpi에서 rfcomm device node release 시 kernel panic 문제 있음

Can't create RFCOMM TTY: Address already in use

재부팅 하지 않는 이상 rfcomm 접속 불가

laptop에서는 kernel panic 빈도가 rpi보다 적음 (rpi는 2번 rfcomm 접속 시 대부분 kernel panic)

1076.910112] Bluetooth: TIOCGSERIAL is not supported
1089.034997] Bluetooth: TIOCGSERIAL is not supported
1089.037061] Bluetooth: TIOCGSERIAL is not supported
1089.037689] ------------[ cut here ]------------
1089.037739] WARNING: CPU: 1 PID: 1507 at drivers/tty/tty_port.c:143 tty_port_destructor+0x84/0x88()
1089.037756] Modules linked in: rfcomm fuse bnep btusb btrtl btintel btbcm bluetooth joydev rfkill evdev bcm2835_wdt bcm2835_gpiomem uio_pdrv_genirq uio snd_bcm2835 snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_seq_device snd_timer snd ipv6
1089.037945] CPU: 1 PID: 1507 Comm: kworker/1:0 Not tainted 4.4.11-v7+ #888
1089.037958] Hardware name: BCM2709
1089.037986] Workqueue: events release_one_tty
1089.038056] [<80018724>] (unwind_backtrace) from [<80014058>] (show_stack+0x20/0x24)
1089.038092] [<80014058>] (show_stack) from [<803205a4>] (dump_stack+0xd4/0x118)
1089.038134] [<803205a4>] (dump_stack) from [<80025300>] (warn_slowpath_common+0x98/0xc8)
1089.038170] [<80025300>] (warn_slowpath_common) from [<800253ec>] (warn_slowpath_null+0x2c/0x34)
1089.038209] [<800253ec>] (warn_slowpath_null) from [<803794d4>] (tty_port_destructor+0x84/0x88)
1089.038273] [<803794d4>] (tty_port_destructor) from [<80379524>] (tty_port_put+0x4c/0x50)
1089.038363] [<80379524>] (tty_port_put) from [<7f1e4010>] (rfcomm_tty_cleanup+0x5c/0x60 [rfcomm])
1089.038464] [<7f1e4010>] (rfcomm_tty_cleanup [rfcomm]) from [<8036f3e4>] (release_one_tty+0x3c/0xb4)
1089.038522] [<8036f3e4>] (release_one_tty) from [<8003c634>] (process_one_work+0x154/0x458)
1089.038573] [<8003c634>] (process_one_work) from [<8003c98c>] (worker_thread+0x54/0x500)
1089.038604] [<8003c98c>] (worker_thread) from [<80042668>] (kthread+0xec/0x104)
1089.038638] [<80042668>] (kthread) from [<8000fbc8>] (ret_from_fork+0x14/0x2c)
1089.038659] ---[ end trace 2c2c2e5cebcc4d2c ]---

 

 

 

 

PAN

bt-pan을 /home/sungmokshin/BlueZ/bluez-5.28/test로 복사

chmod 755 bt-pan




Dreamy의 코드 스크랩

내가 모으고 내가 보는

List of Articles
번호 분류 제목 날짜 조회 수 추천 수
420 Pi 전압 분배(분배 저항)로 병렬 저항 계산하기 2017.07.25 12293 0
419 Pi [아두이노] 포트를 직접 억세스하기 (Direct Port Manipulation in Arduino) 1 2017.07.24 19604 0
418 Pi 아두이노 Arduino String Class 2017.07.16 12489 0
417 Pi Teensy 3.5 spec & pin 2017.07.12 7077 0
416 일반 마크다운 markdown (.md) 파일이란 2017.07.12 14650 0
415 Pi 아두이노 (Arduino)로 서보모터 (SG90) 제어 2017.07.11 13211 0
414 일반 배치파일(bat)에서 명령 실행결과를 변수에 저장하는 방법 2017.07.05 21422 0
413 LINUX 프로세스를 이름으로 단번에 종료하기 2017.06.07 11173 0
412 C++ istringstream 을 이용한 string type 변환 & 토크나이징 2017.06.07 10764 0
» LINUX bluetooth on Ubuntu 2017.05.25 15975 0
410 Pi Raspberry pi 에 Bluetooth사용을 위한 bluez설치 및 실행 2017.05.24 12029 0
409 LINUX 블루투스 사용하기 hci tool 2017.05.24 14267 0
408 일반 BT와 BLE 2017.05.16 8925 0
407 LINUX [Shell Script] Bash 파일 유무 체크하는 방법과 파일 존재 검사 옵션 2017.05.16 23687 0
406 LINUX [Shell Script] Bash 실행결과를 변수에 담기 2017.05.16 15638 0
목록
Board Pagination ‹ Prev 1 2 3 4 5 6 7 8 9 10 11 ... 34 Next ›
/ 34

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5