启动树莓派3进入Raspbian系统桌面环境后,在桌面的右上角显示有蓝牙图标,如下图的赤色框。
在蓝牙图标上右击鼠标弹出子菜单,共有“Turn Off Bluetooth”、“Make Discoverable”、“Add Device…”、“Remove Device…”4个菜单选项。

点击“Add Device…”子菜单选项,进入蓝牙设备搜索界面。打开手机蓝牙,开放检测功能,这样才能被树莓派找到,找到设备后,在Add New Device界面中,选择手机,点击Pair按钮,进行配对。

配对过程会弹出确认窗口,点击ok确认。
配对成功后弹出下面的窗口提示,剖析该当是SDP涌现了问题,我们来抓抓log剖析一下。剖析蓝牙的数据包协议,我们须要一款软件来赞助剖析:Frontline ,去http://www.fte.com/ 官方网站下载,在Windows本地安装Frontline 的安装包。
http://www.fte.com/support/CPAS- ... %20BPA%20600&iid=21下载地址。
在手机中进入开拓者选项,并开启开拓者选项,打开蓝牙数据包日志。
在树莓派的蓝牙子菜单中点击Make Discoverable,然后打开手机蓝牙,进行scan,能够扫描到树莓派蓝牙设备,设备名称为raspberrypi(AD55)。
点击进行配对,配对完成后,查看树莓派蓝牙支持的profile,创造只有共享联系人 service,如下图所示。
将手机中的btsnoop_hci.log文件拷贝到电脑,修正后缀为.cfa文件,双击btsnoop_hci.cfa文件打开。
剖析packet,Raspbian操作系统利用的BlueZ支持的bluetooth spec为4.1。
但是在inquiry result中只支持AVRCP、GAP profile。
在SDP中得到的结果也是只支持AVRCP、GAP profile,因此导致SDP完成后断线。
系统自带的蓝牙管理软件功能不是很强大,为了更便于利用,安装Blueman。Blueman是一个GTK蓝牙管理器,能够高效管理BlueZ API,并简扮装备连接和操作。
sudo apt-get install blueman
测试文件发送,树莓派能够发送得手机,但是手机不能够发送到树莓派,问题在于树莓派SDP中不包含OPP profile的service record。
总结:
树莓派Raspbian操作系统的蓝牙功能还不是很完善,至少用户体验是很差的,还存在很多问题。如果要支持OPP,A2DP,DUN等profile须要自己配置,配置过程也非常繁芜。
以上图文内容均是EEWORLD论坛网友:shenlan1986原创,在此感谢。
欢迎微博@EEWORLD
如果你也写过此类原创干货请关注微信"大众年夜众号:EEWORLD(电子工程天下)回答“投稿”,也可将你的原创发至:bbs_service@eeworld.com.cn,一经入选,我们将帮你登上头条!
与更多行业内网友进行互换请上岸EEWORLD论坛。





