Linux下如何使用蓝牙

上一篇 / 下一篇  2008-04-07 20:58:21 / 个人分类:Linux

蓝牙是多家移动设备制造商选择的无线协议,是一种短距离无线传输技术。它拥有多项吸引人的特性,最重要的是它在数据传输上的低能耗。目前市场上设备中运行的蓝牙协议有三个版本:分别是版本 1.1、1.2 AFH 和 2.0+EDR。新版本的协议与旧版本完全兼容。

使用蓝牙

在使用蓝牙之前,先要确认你所使用的内核是否已经加入蓝牙支持,各大Linux厂商的发行版的内核一般都带有蓝牙支持。

首先加载模块:

#modprobe hci_usb (我这里使用的是usb接口的蓝牙适配器)

#modprobe rfcomm

开启蓝牙服务

#/etc/rc.d/init.d/bluetooth start

打开设备接口:

#hciconfig hci0 up

查看设备状态:

#hciconfig -a

hci0: Type: USB

BD Address: 00:10:60:A3:68:9F ACL MTU: 192:8 SCO MTU: 64:8

UP RUNNING PSCAN ISCAN

……

这里将会列出本地蓝牙接口的一些信息,其中最重要的就是BD Address 接口地址,远程蓝牙设备就是通过这个地址访问本地的。

使用蓝牙耳机

还是加载模块

#modprobe snd_bt_sco

将蓝牙耳机置为发现模式,然后进行搜索

#hcitools scan

Scanning ……

00:0E:07:1C:AE:1D JBR250

当然,你得到的输出不会和上面一样,JBR250是耳机名,00:0E:07:1C:AE:1D是耳机的MAC地址,记下这个地址,后面还将用到。

#hciconfig hci0 voice 0x0060

#btsco 刚才记下的MAC地址

此时会出现设备配对窗口让你输入PIN码,蓝牙耳机的PIN码一般都是固定的,可以从说明书上找到。

当连接建立后,对应蓝牙耳机的音频设备会被映射到/dev/dsp1,现在我们可以开始测试了。

在终端下输入aplay——D plughw: Headset sound.wav播放一段声音文件,如果还没有听到声音,请检查你的耳机是不是还需要按下一个接听键。

如果一切顺利,您就可以使用XMMS或者其他播放器向蓝牙耳机播放音乐了。

发送与接收文件

下面我们简单介绍一下如何利用OBEX协议给手机传送文件。

OBEX作为一种通用的数据交换协议,并不是蓝牙特有的协议,因此Linux基本的蓝牙栈中没有提供对OBEX的支持,我们还需要第三方的工具软件来实现文件的发送。这种工具软件很多,以KDE环境下的KdeBluetooth为例介绍。

KdeBluetooth是开源社区中正在开发的一个蓝牙通讯工具,提供了蓝牙OBEX服务,文件传输客户端,和一套蓝牙配置工具。

首先到你需要到KdeBluetooth的官方网站http://kde-bluetooth.sourceforge.net/下载并安装最新的工具包。

这里提供一些具体的安装方法:

http://docs.kde.org/development/en/extragear-pim/kdebluetooth/download.packages.html 提供了SuSe的RPM包,你可以使用rpm命令直接安装该RPM包;也可以去http://fred.hexbox.de/debian/下载最新的源代码包自己编译。当然,最简单的办法就是使用Red Flag Linux桌面5.0,该发行版已经预装了KdeBluetooth,可以直接使用。

安装后该工具后可以在控制台中直接输入kbluetoothd启动,也可以依次点击开始菜单-〉应用程序-〉网络-〉蓝牙通讯。启动后系统托盘中会出现一个蓝牙图。

图标右键点击选取“发送文件”便会打开文件发送窗口,此时开始自动搜索远程蓝牙设备,并将提供了OBEX服务的设备列在窗口中。如果搜索过程结束却没有任何设备名列出,请确认你的手机是否已经开启蓝牙。

将需要发送的文件拖入“待发送的文件”窗口中,在“远程设备选择”窗口中选择发送对象(就是刚才提到的手机),然后单击“发送”按钮。如果你是第一次与手机传送文件,这时就需要进行配对,手机会要求输入PIN码(即配对码,由用户输入,不得超过16字节),输入确认后主机也会出现PIN窗口,将刚才手机上的PIN码再次输入,两次PIN码输入一致则配对结束,文件便开始传送。

从手机接收文件也很简单,依次点击系统托盘中的蓝牙图标-〉本地蓝牙配置-〉本地服务配置,确认是否已经打开了OBEX文件传送服务,通过“启动”按钮打开列表中相应的服务。然后打开手机的文件管理器,选择通过蓝牙发送,等待手机搜索到主机,发送。这是主机将会弹出窗口询问是否同意接收,选择“是”则开始接收。同样,如果您是第一次从手机接收文件,也需要进行配对,只不过这次KdeBluetooth会预先给出一个PIN码并显示在窗口中,你只需将显示在窗口中的PIN码正确无误的输入到手机上就可以了。

除了发送文件,KdeBluetooth还提供了一系列图形化的配置管理工具替代命令行工具:

查看远程设备:将会定期搜索周边的蓝牙设备,即时将结果显示出来。

查看连接信息:查看当前蓝牙设备的连接状态,也可以手动关闭一个已经存在的连接。

串口通讯工具:KdeBluetooth提供的一个基于串口的文本通信工具,利用该工具的客户端可以相互发送和接收文本信息。


TAG: Linux

 

评分:0

我来说两句

Open Toolbar