|
一、调试BLE——nrfconnect/Light Blue BLE
该示例展示了如何在WB81 开发板(仅作为低功耗蓝牙从机角色)和手机(仅作为低功耗蓝牙主机角色)之间建立 连接,以及如何在 BLE 透传模式下传输数据。
一般来讲,BLE GATT主从机间通信流程可简述为以下几个阶段,具体如图1.1所示:
图1.1 BLE GATT主从机间完整通信流程
1.1 手机端下载BLE调试助手
例如nRF connect。详细APP介绍可查阅《nRF Connect、Light Blue BLE调试APP简介》
1.2 模组端 开启广播
1.2.1 开启广播示例
AT+BLEINIT=2 //初始化BLE
AT+BLEGATTSSRVCRE //创建服务
AT+BLEGATTSSRVSTART //开启服务
AT+BLEADDR? //MAC地址
AT+BLEADVPARAM=50,50,0,0,7,0,, //设置广播参数
AT+BLEADVDATA="0201060A09457370726573736966030302A0" //设置广播数据
AT+BLEADVSTART //开启广播
1.2.2 串口指令详解
广播数据
AT+BLEADVDATA=<adv_data>
1.3 nRF扫描
开启BLE广播,然后打开 nRF Connect APP,靠近模块即可发现模块正处于广播模式。
图1.2广播数据详情
AT+BLEADVDATA="0201060A09457370726573736966030302A0"设置的广播参数可以在广播数据里看到,对应关系如图1.3所示。Type是一个具有共用标准的取值,具体多少代表什么含义可到蓝牙联盟官网查询。
图1.3 广播参数对应关系
1.4 nRF连接
点击connect建立连接如图1.4,点击disconnect断开连接
图1.4 连接模组
连接成功,模组端返回
+BLECONN:0,"61:d6:33:7b:80:8c"
+BLECONNPARAM:0,0,0,6,0,500
+BLECONNPARAM:0,0,0,36,0,500
查询服务&服务端发现特征
AT+BLEGATTSSRV? //查询服务
+BLEGATTSSRV:1,1,0xA002,1
+BLEGATTSSRV:2,1,0xA003,1
OK
AT+BLEGATTSCHAR? //服务端发现特征
+BLEGATTSCHAR:"char",1,1,0xC300,0x02
+BLEGATTSCHAR:"desc",1,1,1,0x2901
+BLEGATTSCHAR:"char",1,2,0xC301,0x02
+BLEGATTSCHAR:"desc",1,2,1,0x2901
+BLEGATTSCHAR:"char",1,3,0xC302,0x08
+BLEGATTSCHAR:"desc",1,3,1,0x2901
+BLEGATTSCHAR:"char",1,4,0xC303,0x04
+BLEGATTSCHAR:"desc",1,4,1,0x2901
+BLEGATTSCHAR:"char",1,5,0xC304,0x08
+BLEGATTSCHAR:"char",1,6,0xC305,0x10
+BLEGATTSCHAR:"desc",1,6,1,0x2902
+BLEGATTSCHAR:"char",1,7,0xC306,0x20
+BLEGATTSCHAR:"desc",1,7,1,0x2902
+BLEGATTSCHAR:"char",1,8,0xC307,0x02
+BLEGATTSCHAR:"desc",1,8,1,0x2901
+BLEGATTSCHAR:"char",2,1,0xC400,0x02
+BLEGATTSCHAR:"desc",2,1,1,0x2901
+BLEGATTSCHAR:"char",2,2,0xC401,0x02
+BLEGATTSCHAR:"desc",2,2,1,0x2901
OK
注:<char_prop>服务特征的属性可以参考文章最后的表3-1服务特征属性查询表
1.4.1 串口指令详解
广播数据
1.5 nRF使能notify
此时在手机nRF端选择 Properties 为 NOTIFY 或者 INDICATE 的服务特征使能,使能成功后模组开始侦听 Properties 为 NOTIFY 或者 INDICATE 的服务特征通道。这里使能0xC306,注意此处使能后的图标变化,如图1.5
图1.5 使能0xC306
使能成功,模组端返回
+WRITE:0,1,7,1,2,\0
注:WB81模组默认 Properties 为 NOTIFY 或者 INDICATE 的服务特征是 0xC305 和 0xC306
1.6 数据交互
1.6.1 模组发送数据
串口助手发送数据12345678
AT+BLESPPCFG=1,1,7,1,5 //配置SPP参数 ,TX和RX的服务序号以及服务特征序号
OK
AT+BLESPP //SPP透传
OK
>
12345678
□
+++ //退出SPP透传,取消回车换行发送
注:配置SPP参数中的TX服务序号以及服务特征序号,要和1.5主机使能notify中使能的通道对应,对应关系如下图蓝色框图。
监听通道使能才能接收到串口助手发来的数据,如图1.6
图1.6 APP接收数据
1.6.2手机APP发数据
点击UUID 0xC304,write下发“3132333435”
串口助手接收到手机APP发来的数据12345。
+WRITE:1,1,5,,5,12345
1.7 断开连接
AT+BLEDISCONN=0 //断开连接
+BLEDISCONN:0,"7f:b0:12:fb:15:5d"
OK
二、调试BT——e调试
该示例展示了如何在WB81 开发板(仅作为经典蓝牙从机角色)和手机(仅作为经典蓝牙主机角色)之间建立 连接,以及如何在 BLE 透传模式下传输数据。
2.1 手机端下载Class BT调试助手——e调试
2.2 模组端开启从机广播模式
AT+LINITBT=1 //初始化蓝牙配置
AT+BTINIT=1 //初始化蓝牙
AT+BTSPPINIT=2 //spp协议—S初始化
AT+LBTSCANPARAM=2,”WB81” //设置 Classic Bluetooth 扫描模式为可发现可连接,设备名称为WB81
AT+BTSECPARAM=3,1,"9527" //安全参数设置设置 io_cap 为 NoInputNoOutput,pin_type OK 为 fixed,pin_ccode 为 9527
AT+BTSPPSTART //开启BTSPP协议
2.3 手机端扫描连接
e调试APP,支持经典模式和低功耗模式,在此示例中选择经典模式,在经典蓝牙的扫描列表里可以看到WB81的设备信息,点击之后确认如图2.1
图2.1经典模式
第一次连接,会出现如下配对界面,点击配对如图2.2
图2.2 连接配对
连接成功,模组端返回
+BTSPPCONN:0,"20:31:1c:47:9a:1e"
2.4 数据交互
2.4.1 模组端发送数据
串口发送数据112233445566778899
AT+BTSPPSEND //开启透传
OK
>
◇112233445566778899
+++ //退出SPP透传,取消回车换行发送
手机接收到模组发来的数据如图2.3
图2.3 手机端接收到数据
2.4.2 手机APP发送数据
在发送框输入数据点击发送,串口助手接收到手机APP发来的数据123456789。 +BTDATA:9,123456789
2.5 断开连接
AT+BTSPPDISCONN=0 //断开连接
+BTSPPDISCONN:0,"20:31:1c:47:9a:1e"
OK
三、服务特征属性查询表
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|