红联Linux门户
Linux帮助

Ubuntu14.04蓝牙适配器的连接

发布时间:2016-06-12 15:20:04来源:linux网站作者:Being_young

蓝牙设备
蓝牙适配器:ISSC芯片, USB接口(市面上还有其他的一些品牌,大多没有问题)

1,加载蓝牙适配器
插入USB口之后,可以使用lsusb命令(虚拟机也是可以的),看到:

Ubuntu14.04蓝牙适配器的连接

这是,运行hciconfig可以看到(这里我插了两个蓝牙,但是一个是蓝牙适配器,一个是串口+蓝牙模块):

Ubuntu14.04蓝牙适配器的连接

2,配置bluez
默认的配置文件放在/etc/bluetooth目录
hcid.conf和pin不需要修改,安全方式已经被设置成auto,这是为了方便连接,用户可以自己修改,推荐不做修改,以防止有些设备连接不上。

3,重启bluetooth服务。
/etc/init.d/bluetooth stop
/etc/init.d/bluetooth start

4,运行:
hciconfig hci0 up
可以激活串口(如果这一步不做,hcitool scan无法运行)

Ubuntu14.04蓝牙适配器的连接

5,修改配置文件:
修改/etc/bluetooth/rfcomm.conf
将里面的:
device 11:22:33:44:55:66;
修改成hcitool scan的结果,也就是:
device 98:D3:31:F5:09:2F
保存退出。

6,添加通道:
sdptool add --channel=1 DID SP DUN LAN FAX OPUSH FTP HS HF SAP NAP GN PANU HID CIP CTP A2SRC A2SNK SYNCML NOKID PCSUITE SR1
后面的参数不一定被支持,但是以防有些服务没有被打开,所以,干脆全部打开了。
rfcomm bind /dev/rfcomm0 电话的地址 通道(在rfcomm.conf中配置)
这里的命令应该写成:
rfcomm bind /dev/rfcomm0 98:D3:31:F5:09:2F 1

sudo rfcomm bind /dev/rfcomm5 98:D3:31:F5:09:2F 1

(特别注意  1 代表的是通道,)rfcomm的数字是可以变化的   与后面连接的数字不相干比如sudo rfcomm connect 8   98:D3:31:F5:09:2F

7,连接设备:
hcitool cc 设备的地址
也就是

sudo rfcomm connect 1 98:D3:31:F5:09:2F(打通连接的最重要的 一个命令)

1代表的1(非常重要的一点)如果用1通道连续连接同一个蓝牙将会出现错误

每断开一次就要变数字

不然会提示Can't create RFCOMM TTY: Address already in use

98:D3:31:F5:09:2F  是我将要连接蓝牙的设备地址

特别提醒用这句话sudo hcitool cc 98:D3:31:F5:09:2F

是不能连接上的,但是大部分都是这种说法,我就载在这里一天的时间

同时在电脑的蓝牙图标首先打开蓝牙适配器,搜索到所要连接的蓝牙,并输入连接密码

Ubuntu14.04蓝牙适配器的连接

这种状态说明蓝牙虽然密钥已经配对成功,但是蓝牙的透传模式任然没有打开

这时我们需要设置

设置etc/Bluetooth/  文件下的配置文件

Ubuntu14.04蓝牙适配器的连接

对于audio.conf   , input.conf  ,network.conf ,proximity.conf   ,不予理会

Main.conf  暂且不用配置但是其参数为

Name = %h-%d

Class = 0x000100

DiscoverableTimeout = 0

PairableTimeout = 0

PageTimeout = 8192

AutoConnectTimeout = 60

InitiallyPowered = true

RememberPowered = true

ReverseServiceDiscovery = true

NameResolving = ture

DebugKeys = false

EnableGatt = false

主要是rfcomm.conf文件的配置

# RFCOMM configuration file.

rfcomm0 {

#       # Automatically bind the device at startup

bind no;

#       # Bluetooth address of the device

device 98:D3:31:F5:09:2F;

#        device 98:6C:F5:E3:25:73;

#

#       # RFCOMM channel for the connection

channel   1;

#       # Description of the connection

comment "Example Bluetooth device";

}

出现的错误解决

Can't init device hci0: Operation not possible due to RF-kill (132)

解决办法:

运行:rfkill list

0: hci0: Bluetooth

Soft blocked: yes

Hard blocked: no

因为软件锁定了所以

运行sudo rfkill unblock Bluetooth  之后运行rfkill list

rfkill list

0: hci0: Bluetooth

Soft blocked: no

Hard blocked: no


本文永久更新地址:http://www.linuxdiyf.com/linux/21457.html