怎样在Linux中使用蓝牙

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样在Linux中使用蓝牙相关的知识,希望对你有一定的参考价值。

方法如下:

1、终端使用命令lsusb

2、运行hciconfig可以看到:

从上图可以看出,的蓝牙设备是hci0

3、运行hcitool dev可以看到蓝牙设备的硬件地址

运行hcitoo --help 可以查看更多相关命令

然后激活设

sudo hciconfig hci0 up

要注意的是,激活前蓝牙必须是打开的,否则会出现如下错误:

4、然后扫描:

hcitool scan

5、然后开始连接了,连接阶段使用的主要命令是rfcomm:

运行rfcomm --help 可以查看用法

首先需要绑定目的蓝牙设备:

sudo rfcomm bind /dev/rfcomm0 E0:A6:70:8C:A3:02

注意:上面的这个地址是目的蓝牙设备的硬件地址。

接着连接:

sudo cat >/dev/rfcomm0

这是目的蓝牙主机就会弹出一个对话框要求输入pin码,随便输入一个,然后主机就会弹出一个对话框,只要输入的和刚才一致就可以通过验证。之后我们发现我的手机已经显示了成功配对的标记了。

参考技术A  一,蓝牙存储设备
  
  蓝牙适配器: ISSC芯片, USB接口(市面上还有其他的一些品牌,大多没有问题)
  
  蓝牙手机:索爱T628
  
  蓝牙耳机:Jabra BT250(大陆地区型号是FS258,大概照顾中国人对BT的特殊理解和258的吉利数字)
  
  1,加载蓝牙适配器
  
  插入USB口之后,可以使用lsusb命令,看到:
  
  Bus 004 Device 003: ID 1131:1001 Integrated System Solution Corp.
  
  这是,运行hciconfig可以看到:
  
  hci0: Type: USB
  
  BD Address: 00:11:67:02:1A:03 ACL MTU: 678:8 SCO MTU: 48:5
  
  DOWN
  
  RX bytes:142289 acl:884 sco:0 events:823 errors:0
  
  TX bytes:13302 acl:494 sco:0 commands:151 errors:0
  
  运行:
  
  hciconfig hci0 up
  
  可以激活借口(这一步不做,hcitool scan无法运行)
  
  3,配置bluez
  
  默认的配置文件放在/etc/bluetooth目录
  
  hcid.conf和pin不需要修改,安全方式已经被设置成auto,这是为了方便连接,用户可以自己修改,推荐不做修改,以防止有些设备连接不上。
  
  4,重启bluetooth服务。
  
  /etc/rc.d/init.d/bluetooth stop
  
  /etc/rc.d/init.d/bluetooth start
  
  5,扫描设备
  
  运行hcitool scan可以得到:
  
  Scanning ...
  
  00:01:EC:0C:D2:00 Tree's T628
  
  6,修改配置文件:
  
  修改/etc/bluetooth/rfcomm.conf
  
  将里面的:
  
  device 11:22:33:44:55:66;
  
  修改成hcitool scan的结果,也就是:
  
  device 00:01:EC:0C:D2:00
  
  保存退出。
  
  7,创建设备:
  
  运行
  
  rfcomm_create_dev。
  
  8,添加通道:
  
  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 00:01:EC:0C:D2:00 1
  
  9,连接手机:
  
  hcitool cc 电话的地址
  
  也就是
  
  hcitool cc 00:01:EC:0C:D2:00
  
  这时候,可以看到手机上的蓝牙连接呈联通状态。
  
  10,从计算机发送文件:
  
  obex-send abc.jpg
  
  操作系统会弹出提示框,让你选择要发送的目标。
  
  同时可以看到手机会弹出提示框,询问是否接受文件。
  
  11,手机的配置:
  
  需要在手机上进行一下配置:
  
  连接->蓝牙->匹配装置->添加装置。
  
  会自动扫描到PC上的适配器。
  
  如果需要填入识别码就填写123。上面已经设置了。
  
  这时候,可以看到手机已经成功的添加蓝牙装置。
  
  12,从手机发送文件。
  
  在PC机上启动obex-server,会看到系统托盘出现一个小图标。
  
  完成上面的工作后,可以进入手机的:
  
  多媒体->我的影集
  
  选择一张图片。
  
  然后,“发送”->“通过蓝牙”
  
  看到有刚才扫描到的蓝牙适配器。
  
  然后,就可以发送文件了。
  
  13,使用软件管理手机信息。
  
  参考gnokii软件的文档
  
  二、蓝牙耳机。
  
  1,同时按住jabra 250上面的“电话键”和“音量增大键”,大约8秒,看到蓝灯常亮
  
  1,扫描耳机,得到bdaddress
  
  hcitool scan
  
  3,配置工作:
  
  modprobe snd_bt_sco
  
  hciconfig hci0 void 0x0060
  
  btsco bdaddress (这里的bdaddress就是扫描出来的结果)
  
  btsco运行后,会弹出对话框,要求输入耳机的pin,jabra 250为0000,可以在说明书上找到。
  
  4,建立联接后,设备被映射成/dev/dsp1。
  
  以beep为例,
  
  插件->输出,选择使用alsa驱动,点开“首选项”,音频设置部分就可以看到btsco:hw0,1之类的信息,选择这个即可。
  
  然后播放一首歌,尝试一下无线的快乐吧。
  
  然后适当的配置你所要使用的播放器之类的就可以了。本回答被提问者和网友采纳
参考技术B service bluetooth start 开始服务
service bluetooth stop/restart 停止服务/重启服务

或者

/etc/rc.d/bluetooth start
start/stop/restart/status

怎样使用ADB命令强制关闭蓝牙!

//命令行测试蓝牙
1. 命令行控制蓝牙开关
adb shell
cd /data/data/com.android.providers.settings/databases
sqlite3 settings.db
select * from secure where name="bluetooth_on"; (查看是否打开)
update secure set value=1 where name="bluetooth_on"; (这里的value=1是打开,0是关闭)
select * from secure where name="bluetooth_on"; (确认是否更改成功)
reboot <重启手机生效>
参考技术A adb shell service call bluetooth_manager 6 #打开蓝牙
adb shell service call bluetooth_manager 8 #关闭蓝牙

以上是关于怎样在Linux中使用蓝牙的主要内容,如果未能解决你的问题,请参考以下文章

怎样使用ADB命令强制关闭蓝牙!

Android怎样监听蓝牙耳机的按键事件

手机蓝牙怎样配对

hc-05蓝牙模块6条引脚与单片机怎样连接

android中怎样判断蓝牙是不是连接

手机怎样显示蓝牙耳机的电量