LuatOS-Air AT应用指南--蓝牙指令流程

概述
本模块支持BLE 蓝牙,目前BLE 蓝牙支持扫描热点,数据收发,以及发起广播等功能
硬件上支持蓝牙功能的模块型号如下:
Air720UH_NF:支持
Air720UH_NFC:不支持
Air720UH_NA:不支持
Air720UG_NAC:不支持
Air720UG_NAM:支持
Air724UG_NFM:支持
Air724UG_NFC:不支持
Air724UG_NAT:不支持
Air724UG_NA:支持
Air722UG_NFC:不支持
Air722UG_NFM:支持

蓝牙相关AT指令
打开/关闭 蓝牙指令:AT+BTCOMM=ENABLE
描述:

​ 此命令用于打开/关闭蓝牙

语法规则:

命令类型 语法 返回
设置命令 AT+BTCOMM=ENABLE,[,< mode >] OK
查询命令 AT+BTCOMM=ENABLE? +BTCOMM:ENABLE=,
OK
参数定义:

参数 定义 取值 对取值的说明
打开蓝牙 1 字符串参数
关闭蓝牙 0 字符串参数
从模式 0 字符串参数
主模式 1 字符串参数
举例:

AT+BTCOMM=ENABLE,1,0

OK

AT+BTCOMM=ENABLE,0,0

OK

如果失败会返回:ERROR或+CME ERROR:
设置BLE设备名称:AT+BLECOMM=NAME
描述:
此命令,用于设置BLE设备名称,参数是设备名称,最长26byte
语法规则:

语法规则:

命令类型 语法 返回
设置命令 AT+BLECOMM=NAME, OK
查询命令 AT+BLECOMM=NAME? +BTCOMM: NAME=
OK
参数定义:

参数 定义 取值 对取值的说明
参数为设备名,最长不能超过26字节; 只允许使用英文、 数字、 下划 线; - ASCII
举例:

AT+BLECOMM=NAME,LuatOS-Air_Air724UG

OK

AT+BLECOMM=NAME?

+BLECOMM: NAME=LuatOS-Air_Air724UG
OK
如果失败会返回:ERROR或+CME ERROR:
设置广播包数据:AT+BLEADV=ADVDATA
描述:

​ 此命令,用于设置广播包数据,有2个参数

语法规则:

命令类型 语法 返回
设置命令 AT+BLEADV=ADVDATA,, OK
查询命令 AT+BLEADV=ADVDATA? +BLEADV: DATA=,
OK
参数定义:

参数 定义 取值 对取值的说明
数据长度 ---- 十六进制数据长度
数据内容,最长不能超过31字节 十六进制数字符串参数
举例:

AT+BLEADV=ADVDATA,5,04ff010203

OK

AT+BLEADV=ADVDATA?

+BLEADV: DATA=04ff010203
OK

如果失败会返回:ERROR或+CME ERROR:
设置响应包数据:AT+BLEADV=SCANRSPDATA
描述:

​ 此命令,用于设置响应包数据,有2个参数

语法规则:

命令类型 语法 返回
设置命令 AT+BLEADV=SCANRSPDATA,, OK
查询命令 AT+BLEADV=SCANRSPDATA? +BLEADV: DATA=,
OK
参数定义:

参数 定义 取值 对取值的说明
数据长度 ---- 十六进制数据长度
数据内容,最长不能超过31字节 十六进制数字符串参数
举例:

AT+BLEADV=SCANRSPDATA,5,04ff010203

OK

AT+BLEADV=SCANRSPDATA?

+BLEADV: DATA=04ff010203
OK

如果失败会返回:ERROR或+CME ERROR:
打开/关闭 蓝牙广播指令:AT+BLEADV=ENABLE
描述:

​ 此命令,用于开关广播,有一个参数

语法规则:

命令类型 语法 返回
设置命令 AT+BLEADV=ENABLE, OK
查询命令 AT+BLEADV=ENABLE? +BLEADV: ENABLE=
OK
参数定义:

参数 定义 取值 对取值的说明
关闭广播 0 数字
打开广播 1 数字
举例:

AT+BLEADV=ENABLE,0

OK

AT+BLEADV=ENABLE,1

OK

如果失败会返回:ERROR或+CME ERROR:
连接状态上报指令:+BLEIND=CONNECT
描述:

​ 此命令,用于上报连接状态

语法规则:

命令类型 语法
URC上报 +BLEIND=CONNECT[,

]
+BLEIND=CONNECT FAIL
参数定义:

参数 定义 取值 对取值的说明

对端设备地址 字符串 设备地址(小端排序,共6个字节),例如:40:45:DA:33:22:11 举例:

+BLEIND=CONNECT,40:45:DA:33:22:11

断开连接状态上报指令:+BLEIND=DISONNECT
描述:

​ 此命令,用于上报断开连接状态

语法规则:

命令类型 语法
URC上报 +BLEIND=DISONNECT[,

]
参数定义:

参数 定义 取值 对取值的说明

对端设备地址 字符串 设备地址(小端排序,共6个字节),例如:40:45:DA:33:22:11 举例:

+BLEIND=DISONNECT,40:45:DA:33:22:11

打开/关闭 蓝牙扫描指令:AT+BLESCAN=ENABLE
描述:

​ 此命令,用于开关扫描,有一个参数

语法规则:

命令类型 语法 返回
设置命令 AT+BLESCAN=ENABLE, OK
查询命令 AT+BLESCAN=ENABLE? +BLESCAN: ENABLE=
OK
参数定义:

参数 定义 取值 对取值的说明
关闭广播 0 数字
打开广播 1 数字
举例:

AT+BLESCAN=ENABLE,0

OK

AT+BLESCAN=ENABLE,1

OK

如果失败会返回:ERROR或+CME ERROR:
扫描结果上报指令:+BLEIND=SCAN
描述:

​ 此命令,用于上报扫描结果

语法规则:

命令类型 语法
URC上报 +BLEIND=SCAN,

,< addrtype>,,
参数定义:

参数 定义 取值 对取值的说明

设备蓝牙地址 字符串 设备地址(小端排序,共6个字节),例如:40:45:DA:33:22:11 设备蓝牙地址类型 0 public 1 random 信号强度 数值 -128~127 广播原始数据 16进制字符串 最长31个字节 举例:

+BLEIND=SCAN,40:45:DA:33:22:11,0,-75,0201060E094C7561745F4169723732345547

蓝牙连接指令:AT+BLECOMM=CONNECT
描述:

​ 此命令,用于连接蓝牙,有两个参数

语法规则:

命令类型 语法 返回
设置命令 AT+BLECOMM=CONNECT,,

OK
查询命令 AT+BLECOMM=CONNECT? +BTCOMM: CONNECT=,

OK
参数定义:

参数 定义 取值 对取值的说明
连接状态 0 断开状态
1 连接状态

设备蓝牙地址 字符串 设备地址(小端排序,共6个字节),例如:40:45:DA:33:22:11 设备蓝牙地址类型 0 public 1 random 举例:

AT+BLECOMM=CONNECT,0,40:45:DA:33:22:11

OK

如果失败会返回:ERROR或+CME ERROR:
蓝牙断开连接指令:AT+BLECOMM=DISCONNECT
描述:

​ 此命令,用于断开连接蓝牙

语法规则:

命令类型 语法 返回
设置命令 AT+BLECOMM=DISCONNECT OK
参数定义:

举例:

AT+BLECOMM=DISCONNECT

OK

如果失败会返回:ERROR或+CME ERROR:
蓝牙发现服务指令:AT+BLECOMM=FINDSERVICE
描述:

​ 此命令,用于发现蓝牙包含的服务

语法规则:

命令类型 语法 返回
设置命令 AT+BLECOMM=FINDSERVICE OK
参数定义:

举例:

AT+BLECOMM=FINDSERVICE

OK

如果失败会返回:ERROR或+CME ERROR:
服务uuid上报指令:+BLEIND=FINDSERVICE
描述:

​ 此命令,用于上报服务uuid

语法规则:

命令类型 语法
URC上报 +BLEIND=FINDSERVICE,<uuid_s>
参数定义:

参数 定义 取值 对取值的说明
<uuid_s> 服务uuid 十六进制字符串 ------------
举例:

+BLEIND=FINDSERVICE,fee0

蓝牙发现服务内特征指令:AT+BLECOMM=FINDCHARACTERISTIC
描述:

​ 此命令,用于发现蓝牙服务包含的特征

语法规则:

命令类型 语法 返回
设置命令 AT+BLECOMM=FINDCHARACTERISTIC, <uuid_s> OK
参数定义:

参数 定义 取值 对取值的说明
<uuid_s> 服务uuid 十六进制字符串 ------------
举例:

AT+BLECOMM=FINDCHARACTERISTIC,fee0

OK

如果失败会返回:ERROR或+CME ERROR:
特征uuid上报指令:+BLEIND=FINDCHARACTERISTIC
描述:

​ 此命令,用于上报服务包含的特征uuid

语法规则:

命令类型 语法
URC上报 +BLEIND=FINDCHARACTERISTIC,<uuid_c>
参数定义:

参数 定义 取值 对取值的说明
<uuid_c> 特征uuid 十六进制字符串 ------------
举例:

+BLEIND=FINDCHARACTERISTIC,fee1
+BLEIND=FINDCHARACTERISTIC,fee2
打开/关闭 通知指令:AT+BLECOMM=NOTIFICATION
描述:

​ 此命令,用于开关通知,有两个参数

语法规则:

命令类型 语法 返回
设置命令 AT+BLECOMM=NOTIFICATION, <uuid_c>, OK
参数定义:

参数 定义 取值 对取值的说明
关闭广播 0 数字
打开广播 1 数字
<uuid_c> 特征uuid 十六进制字符串 ------------
举例:

AT+BLECOMM= NOTIFICATION,fee2,1

OK

AT+BLECOMM= NOTIFICATION,fee2,0

OK

如果失败会返回:ERROR或+CME ERROR:
发送数据指令:AT+BLECOMM=SENDATA
描述:

​ 此命令,用于发送数据

语法规则:

命令类型 语法 返回
设置命令 AT+BLECOMM=SENDDATA,<uuid_c>,, OK
参数定义:

参数 定义 取值 对取值的说明
<uuid_c> 特征uuid 十六进制字符串 ------------
数据长度 数值 十六进制数据长度
数据内容,最长不能超过244字节 十六进制数字符串参数
举例:

AT+BLECOMM=SENDDATA,fee2,10,31323334353637383930
OK

如果失败会返回: + BLECOMM:ERR=error
数据上报指令:+BLEIND=DATA
描述:

​ 此命令,用于上报接收到的数据

语法规则:

命令类型 语法
URC上报 +BLEIND=DATA,<uuid_c>,,
参数定义:

参数 定义 取值 对取值的说明
<uuid_c> 特征uuid 十六进制字符串 ------------
数据长度 数值 十六进制数据长度
数据内容,最长不能超过244字节 十六进制数字符串参数
举例:

+BLEIND=DATA,“fee1”,10,“31323334353637383930”
蓝牙MAC地址读写指令:AT+BTMAC
描述:

​ 此命令,用于蓝牙MAC地址读写

语法规则:

命令类型 语法 返回
设置命令 AT+BTMAC=

OK
查询命令 AT+BTMAC? +BTMAC:

OK
参数定义:

参数 定义 取值 对取值的说明

设备蓝牙地址 字符串 设备地址(小端排序,共6个字节),例如:40:45:DA:33:22:11 举例:

AT+BTMAC=40:45:DA:33:22:11

OK

AT+BTMAC?

+BTMAC:40:45:DA:33:22:11
OK

如果失败会返回:ERROR或+CME ERROR:
蓝牙从模式测试/使用流程

  1. 下载手机蓝牙测试工具 nrf connect
  2. 通过串口发送指令 AT+BTCOMM=ENABLE
    AT+BTCOMM=ENABLE,1,0

OK
3.设置广播模块名称(需要在广播关闭状态下发送)
AT+BLECOMM=NAME,AIRM2M_LuatOS-Air

OK
4.设置广播包数据(需要在广播关闭状态下发送)
AT+BLEADV=ADVDATA,8,02010604ff010203

OK
此处数据段(04ff010203 )含义是长度为04,标识为manufacturer specific data(ff)的数据,详情请见BLE广播协议

5.设置响应包数据(需要在广播关闭状态下发送)
AT+BLEADV=SCANRSPDATA,3,020A04

OK
6.打开广播
AT+BLEADV=ENABLE,1

OK
7.连接蓝牙
​ i.打开第一步下载的nrf connect 安卓应用

​ ii.查看蓝牙和广播信息(当前信息是根据上述AT来的,如果字节修改了其他值则看到的不一样)
在这里插入图片描述

图(1).寻找蓝牙和功能点介绍
在这里插入图片描述

图(2).广播内容介绍

在这里插入图片描述

图(3).当前蓝牙服务介绍

8.测试蓝牙
​ i.手机给蓝牙发送数据
在这里插入图片描述

​ 图(4).手机给模块发送数据

​ 通过上述 图(3) 特征值为fffe 的特征发送数据(4321),串口数据会吐出

04 03 02 01
ii.模块给中心设备(手机)发送数据

AT+BLECOMM=SENDDATA,8910,5,“3132333435”
OK
手机收到
在这里插入图片描述

图(5).手机收到模块发送的数据

相关资料以及购买链接
相关开发板购买链接

Air724UG开发板

Air724 开发板使用说明

相关软件资料下载

常见问题
1.开发板搜不到手机蓝牙
手机默认蓝牙不是BLE蓝牙需配置为BLE蓝牙,可下载nRF类似软件。
蓝牙种类
在这里插入图片描述

2.AT命令设置的广播数据,重启后数据不会保存吗,每次上电都要重新设置吗
是的,模块不会保存

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

l531798151

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值