功能设定:
- 针对i.MX6UL,编写Freescale Yocto Linux 系统下的 dual –mode WIFI/BT芯片driver(推荐使用Realtek RTL8723BS,也可以选择其它的dual-mode 芯片);
- 采用SDIO接口与i.MX6UL连接.;
设备:
- i.MX6UL 开发板
- Marvell 88W8787模块
准备工作:
- 接上电源线和串口线,串口在linux下被识别为/dev/ttyUSBx,可通过串口软件(例如minicom)打开串口,串口设置为波特率为115200,8位,无校验,1位停止位,无硬件控制流。
- 将模块插入到SD卡座后上电,等待系统正常启动。
- 等待进入登录界面时,输入root登录
- 系统将自动加载Marvell 88W8787的驱动模块
WIFI功能配置与使用:
- 通过iwconfig命令可以看到识别到的设备mlan0,此时还未关联到无线路由。
- 参照/etc/wpa_supplicant.conf,添加一个无线路由的配置,例如我的无线路由采用WPA-PSK认证,可添加如下配置
# Only WPA-PSK is used. Any validcipher combination is accepted.
network={
ssid="你的网络名称,此处需要修改"
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP WEP104WEP40
psk="你的WIFI密码,此处需要对应修改"
priority=2
}
执行
wpa_supplicant -i mlan0-c /etc/wpa_supplicant.conf &
等待关联成功,连接成功之后,通过udhcpc命令获取地址,并测试一下ping外网是否可通。
蓝牙功能配置与操作:
- 通过命令hciconfighci0 up,使能之后就可以使用蓝牙设备。
- 启动蓝牙设备服务进程 /usr/lib/bluez5/bluetooth/bluetoothd &
- 通过hcitool扫描附近的设备,此时要把手机蓝牙打开
- 记住扫描的设备的设备地址,可以通过l2ping做一个测试
- 通过rfcomm,创建一个连接到手机蓝牙的通道
mknod/dev/rfcomm0 c 216 0
chmod 666/dev/rfcomm0
6、连接到扫描到的手机
rfcomm connect/dev/rfcomm0 xx:xx:xx:xx:xx:xx [channel]
channel可选,可以通过sdptool browse xx:xx:xx:xx:xx:xx来查询手机蓝牙支持的服务及它的channel
可以找到服务名为 “Headset Audio Gateway”并看到它的通道为1,然后连接手机的该功能
rfcomm connect/dev/rfcomm0 xx:xx:xx:xx:xx:xx 1 &
在手机端确认下配对,即可显示连上电话音频。
7、minicom打开该通道,通过AT指令来控制手机接打电话等功能
minicom -D/dev/rfcomm0
然后输入拨打电话的AT指令
ATD10086
即可拨打电话10086
视频演示: