准备工作:a. 在http://www.bluez.org/download/下载 bluez-libs-2.25.tar.gz 和 bluez-utils-2.25.tar.gz压缩包。b.ARM-LINUX-GCC 3.3.2版本,在终端中arm-linux-gcc -v查看。c.我的板子上是扬创出厂时的内核版本2.6.13。
具体步骤:
1.重新编译内核开启对蓝牙USB模块的支持:make menuconfig 后按"Y"选中:L2CAP protocol support,SCO links support,RFCOMM protocol support,RFCOMM TTY support,BNEP protocol support,HIDP protocol support,另外在Bluetooth device drivers 里选上HCI USB driver,保存后,make uImage。按扬创手册把内核烧写到板子上。
2.在PC端交叉编译blueZ库和工具包:
(1 ) #mkdir /home/225blueZ //在home下建立225blueZ目录
#tar -xzvf bluez-libs-2.20.tar.gz -C /home/225blueZ //解压库文件到225blueZ目录下
#cd bluez-libs-2.25 //进入解压得到的目录bluez-libs-2.25
#./configure --host=arm-linux CC=arm-linux-gcc //这里我用的是3.3.2的编译器版本
#make all
#make install //这里都是采用的默认安装,后面的步骤会把库和工具一起下载到开发板上
(2) #cd /home/225blueZ
#tar -xzvf bluez-utils-2.20.tar.gz -C /home/225blueZ //解压utils
#cd bluez-utils-2.25
#./configure --host=arm-linux CC=arm-linux-gcc --disable-test --disable-cups --disable-pcmia
#make all
#make install
(3)在(1)(2)步骤中得到的库和工具在/usr/local下bin,include,lib,sbin,share目录;/etc下的bluetooth目录;/var/lib下的bluetooth目录,把这些目录拷贝到开发板对应的目录,到此bluez安装成功,注意拷贝的时候/usr/local/的lib目录中的5个库文件和pkgconfig文件夹一定要全部拷贝开发板对应的位置。
3.把USB插入板子USB HOST1中,超级终端里显示:
usb 1-1: new full speed USB device using s3c2410-ohci and address 3
在开发板中/usr/local/bin/中和/usr/local/sbin/中都是可执行文件,如果提示权限不够请用 chmod +x XXX 改变可执行文 件权限。
(1)进入sbin/中 执行 ./hcid 这样打开手机就可以找到板子的blueZ(0)
(2)在bin目录下 执行./hcitool scan 可以查看手机地址和用户名
(3)./sdptool browse 查看手机开启的服务