Ubuntu下蓝牙的操作

         Linux 下有若干个蓝牙协议栈,目前生存状况比较健康的是bluez和affix,后者大概是Nokia支持的吧,前者则是目前蓝牙的Linux官方版本,集成在 Linux内核之中,也就是说,如果你有一个比较新的2.6内核,那么,你多半已经支持蓝牙了,而如果还不支持的话,重新编译一下也就好了。

        内核的协议栈支持主要包含这么几个部分:
        (1)HCI:这个是最底层的了,称为 Host Control Interface,之所以称为 HCI 是源于蓝牙的应用模型的。蓝芽是连接智能外设的无线接口,接口的一侧是设备,另一侧就是主机 (Host) 了,采用类似记法的还有 USB, IEEE1394,所以,从设计初衷来看,这几个东东都是针对差不多的市场的,当然,各有所长了。一个蓝牙适配器是否能被驱动起来,就看 HCI 的支持性了。最常见的蓝牙适配器就是这类 USB 接口的了,对于大部分标准的蓝牙设备,它的驱动模块是: hci-usb,对于我们的 2.6 内核,插入这个适配器,该模块就被自动加载了。
        (2)在 HCI 之上是 L2CAP,Logical Link Control and Adaptation Protocal 这一层的功能承上启下,向上层提供异步数据传输的链路控制功能,所谓异步,就是不存在一个主时钟来同步所有传输的一种传输方式,通常用于数据的传输;与之相反,同步传输是完全与时钟同步的,通常用在诸如语音或是多媒体通话之中,在蓝牙中,语音同步传输也是被支持的,bluez 协议栈中的 SCO 就是支持同步模式的。
       (3)L2CAP之上有两个协议被较广地使用着:RFCOMM和BNEP,前者用于取代传统的串行口,包括串行口上的各种应用,比如,传真和拨号上网、打印机、文件图片等数据传输;后者则可以提供一个以太网接口,更适于计算机组网。自然地,对于手机和计算机之间,RFCOMM 总是更常被用到。


在笔记本上插入蓝牙适配器(USB)之后:

1、lsusb

此命令列出USB设备信息。

2、hciconfig

此命令可以看到蓝牙主控设备的相关信息(设备号)。

3、sudo /etc/init.d/blutooth restart

此命令用于打开蓝牙设备。

4、sudo hciconfig [设备号] up

此命令用于激活蓝牙。

5、下面可以使用hcitool命令来操作蓝牙了(hcitool --help来查看相关命令帮助信息)。

       hcitool scan       可以扫描蓝牙设备(非低功耗)

       hcitool lescan    可以扫描低功耗蓝牙设备

       扫描过之后可以得到蓝牙设备的硬件地址和设备名称。

6、下面可以使用rfcomm命令来连接蓝牙设备了(rfcomm --help来查看相关命令帮助信息)。

       首先、sudo rfcomm bind /dev/rfcomm0 [目的设备硬件地址]       绑定目的设备;

       然后、sudo cat >/dev/rfcomm0       连接目的设备。

       如果需要配对的话,还要输入配对信息(PIN码)。

       在配对完成之后我们需要删除绑定(否则在下次使用时会提示设备正忙),命令如下:sudo rfcomm release /dev/rfcomm0。

7、下面就要进行各种传输工作了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值