主控芯片/架构 imx6ul/cortex-a7
平台信息+平台厂家信息 nxp
WIFI模块/芯片型号 RTL8723BU
作业系统(linux/android/...) linux
Kernel Version 4.1.15
关于RTL8723bu wifi+BT的驱动移植请参考
https://blog.csdn.net/qq_22902919/article/details/80647181
这里主要讲讲linux下RTL8723bu 蓝牙功能的使用
1.使用PS命令确认dbus已经在后台运行
87 dbus dbus-daemon --system
87为进程号,不同平台PID可能不能,如果没有运行
在/etc/init.d下使用./S30dbus start运行
2.装载驱动之前请使用命令lsusb确认usb已经被识别
然后使用命令insmod rtk_btusb.ko装载蓝牙驱动
3.hciconfig -a
此时蓝牙状态为down,使用hciconfig hci0 up piscan 激活蓝牙
3.开启蓝牙服务bluetoothd -C &
4.开启obexd服务,obexd -r /mnt -a -n &
若出现如上报错
则export DBUS_SESSION_BUS_ADDRESS="unix:path=/var/run/dbus/system_bus_socket"
然后需要修改开发板/usr/share/dbus-1/services目录下的org.bluez.obex.service文件,如果没有则创建一个,往这个文件里添加如下内容
[D-BUS Service]
Name=org.bluez.obex
Exec=/bin/false
SystemdService=dbus-org.bluez.obex.service
然后修改开发板目录下/usr/share/dbus-1/system.conf文件
<policy context="default">
<allow own="org.bluez.obex"/>
</policy>
如图所示
然后重新运行·无报错后,使用命令ps确认bluetoothd和obexd已经运行
5.接着使用bluetoothctl配对蓝牙设备,使用bluetoothctl命令,在bluetoothctl环境下键入命令
discoverable on //打开蓝牙可连接可被发现属性
scan on //扫描蓝牙
scan off //扫描到目标设备后关闭扫描
agent NoInputNoOutput
default-agent
pair 目标蓝牙MAC
quit //成功后退出
6.使用obexctl命令与手机做收发文件实验
obexctl,在obex环境下键入命令
connect 目标蓝牙MAC
若出现以下报错,则在开发板目录/etc/dbus-1/system.d/bluetooth.conf文件下增加一行
<allow send_destination="org.bluez.obex"/>
如图所示
obexctl命令如下所示
重新连接蓝牙设备就可以与手机进行收发文件的实验了