设备蓝牙命令
1.环境准备
- 通讯测试软件:sscom32
- 对接工装光电头
OP系列蓝牙模块AT命令通讯协议
只支持通过串口(对接工装光电头)进行通讯。
AT命令格式
- AT指令,属于字符行指令,按行解析(即以回车换行\r\n 作为指令结尾)
- AT指令建议一律使用大写字符(部分模块支持大小写),指令前缀为 AT+可分为参数设置指令与读取指令
- 设置指令格式:AT+= 操作成功返回:OK\r\n 失败返回:ERR\r\n
- 读取指令格式:AT+ 操作成功返回:+:\r\nOK\r\n失败返回:ERR\r\n
- 指令错误或不支持,返回 ERR\r\n 或 ERROR\r\n
命令列表
注:所有指令以\r\n为结束符,请在串口助手中勾选“加回车换行”复选框,或输入完整指令,如:AT+BLENAME\r\n;以下AT指令集在不断完善中,有新增功能,请联系我们进行沟通。
| 指令 | 对应功能 | 返回值 | 备注 |
|---|---|---|---|
AT |
AT测试,通讯正常返回ok | \r\nok\r\n |
|
AT+RESET |
芯片保存配置后重启 | \r\nok\r\n |
|
AT+RESTORE |
芯片恢复出厂设置并重启 | \r\nok\r\n |
|
AT+VER |
查询模块软件版本 | \r\n +VER=**** \r\nOK |
|
AT+BLENAME |
查询当前BLE蓝牙名 | \r\n +NAME=**** \r\nOK |
|
AT+SPPNAME |
查询当前SPP蓝牙名 | \r\n +NAME=**** \r\n OK |
仅在BLE&SPP双模版本中生效 |
AT+BLEMAC |
查询模块BLE MAC地址 | \r\n +MAC:********** \r\n OK |
|
AT+SPPMAC |
查询模块SPP MAC地址 | \r\n +MAC:********** \r\n OK |
仅在BLE&SPP双模版本中生效 |
AT+BAUD |
查询系统的波特率 | \r\n +BAUD=**** \r\n OK |
|
AT+UUID |
查询芯片的所有UUID | ||
AT+MODE |
查询支持的模式 | \r\n +MODE=* \r\n OK |
仅在BLE&SPP双模版本中生效0 代表支持BLE1 代表支持BLE&SPP |
AT+SECURITY |
查询配对状态 | \r\n +SECURITY=* \r\n OK |
0 代表取消密码配对1 代表打开简易配对2 代表打开密码配对 |
AT+PIN |
查询配对密码 | \r\n +PIN=****** \r\n OK |
|
AT+ADVDATA |
查询广播包数据 | \r\n +ADVDATA:*** \r\n OK |
|
AT+ADVPARAM |
查询广播间隔 | \r\n +ADVPARAM:*** \r\n OK |
|
AT+LPM |
查询低功耗状态 | \r\n +LPM=* \r\n OK |
低功耗模式仅在BLE版本的从机模式下生效0 代表处于非低功耗模式1 代表处于低功耗模式 |
AT+LOG |
查询芯片Log状态 | \r\n +LOG=* \r\n OK |
0 代表关闭由芯片主动输出的Log信息1 代表打开由芯片主动输出的Log信息 |
AT+LED |
查询LED状态口显示方式 | \r\n +LED:X \r\n OK |
0 代表未连接时熄灭(低电平),连接后常亮(高电平)1 代表未连接时快闪,连接后常亮(均为方波输出)(芯片默认设置为1) |
AT+ROLE |
查询芯片当前角色 | \r\n +ROLE=**** \r\n OK |
SERVER 代表当前角色为从机(芯片默认)CLIENT 代表当前角色为主机 |
AT+VBAT |
查询VAT电压 | \r\n +PIN=****** \r\n OK |
查询VAT电压,如3.3V则返回330 |
AT+BAUD=XXXX |
设置串口波特率,复位生效 | \r\nok\r\n |
参数2400、4800、9600 等,详见2.3 |
AT+MODE=X |
设置模式 | \r\n +MODE=* \r\n OK |
仅在BLE&SPP双模版本中生效0 代表BLE单模式1 代表BLE&SPP双模 |
AT+BLENAME=XXXX |
设置BLE通道蓝牙名,复位生效 | \r\nok\r\n |
|
AT+SPPNAME=XXXX |
设置SPP通道蓝牙名,复位生效 | \r\nok\r\n |
|
AT+SECURITY=0 |
取消配对,复位生效 | \r\nok\r\n |
|
AT+SECURITY=1 |
打开简易配对,复位生效 | \r\nok\r\n |
|
AT+SECURITY=2 |
打开密码配对,复位生效 | \r\nok\r\n |
|
AT+PIN=XXXXXX |
设置配对密码为XXXXXX,复位生效 | \r\nok\r\n |
BLE通道密码需为6位数字;(默认密码:000000) |
AT+BLEMAC=XXXX |
设置BLE MAC地址(12位16进制数值),复位生效 | \r\nok\r\n |
|
AT+SPPMAC=XXXX |
设置SPP MAC地址(12位16进制数值),复位生效 | \r\nok\r\n |
仅在BLE&SPP双模版本中生效 |
AT+ADV=X |
开启和关闭广播,复位生效 | \r\nok\r\n |
0 代表处于关闭1 代表处于打开(默认状态) |
AT+ADVDATA=XXX |
设置广播包数据 | \r\nok\r\n |
|
AT+ADVPARAM=X |
设置广播间隔 10<=X<=4000,单位ms | \r\nok\r\n |
间隔越长,功耗越低,连接时间越长 |
AT+RFPWR |
设置发射功率0-9 | \r\nok\r\n |
设置发射功率(默认等级是9) |
AT+LED=X |
设置LED指示灯 | \r\nok\r\n |
0 代表代表未连接时熄灭(低电平),连接后常亮(高电平)1 代表未连接时快闪(均为方波输出),连接后常亮(高电平) |
AT+LPM=0 |
关闭低功耗,复位生效 | \r\nok\r\n |
|
AT+LPM=1 |
打开低功耗,复位生效 | \r\nok\r\n |
仅在BLE低功耗从机模式下生效 |
AT+ROLE=X |
设置芯片角色,复位生效 | \r\nok\r\n |
用于主从模式切换 |
AT+CONN=XXX |
主机角色主动发起连接操作 | \r\nok\r\n |
XXX代表欲连接的从设备的MAC地址 |
AT+SLEEP |
设置软关机 | \r\nok\r\n |
|
AT>X |
切到指定通道 | \r\nok\r\n |
0 代表主机通道8 代表BLE从机通道9 AT指令通道10 SPP通道 |
AT+DISC=X |
主机或从机主动断开连接操作 | \r\nok\r\n |
0 代表主机主动断开连接8 代表BLE从机主动断开连接10 代表SPP从机主动断开连接注:执行此命令前,需先执行AT>9切到AT指令通道 |
AT+LOG=X |
打开或关闭由芯片主动输出的 Log信息 | \r\nok\r\n |
0 代表关闭由芯片主动输出的Log信息1 代表打开由芯片主动输出的Log信息 |
只在主机功能用的AT指令
| 指令 | 对应功能 | 返回值 | 备注 |
|---|---|---|---|
AT+ROLE |
查询芯片当前角色 | \r\nok\r\n |
|
AT+ROLE=1 |
设置为主机 | \r\nok\r\n |
|
AT+ROLE=0 |
设置为从机 | \r\nok\r\n |
|
AT+ROLE |
查询当前是主机还是从机 | 主机返回"CLIENT"从机返回"SERVER" | |
AT+SCAN=1 |
开启扫描 | \r\nok\r\n |
|
AT+SCANM=0,0 |
设置主机模式搜索设备的个数和设置主机模式搜索设备超时时间(UNIT:秒) | \r\nok\r\n |
0 =< 搜索个数 <= 15(默认值是 5)0 =< 超时时间 <= 40(默认值是 5)默认返还5,5 |
AT+SCANPARAM=0,0,0 |
设置扫描方式,扫描周期,扫描窗口 | \r\nok\r\n |
第一个值:0:被动扫描 1:主动扫描(默认是1)第二个值:设置主机扫描周期长短(默认是20)第三个值:设置主机扫描窗口大小(默认是15)注:扫描周期的值需大于扫描窗口 |
AT+CLRBIND |
清空已保存的从机地址 | \r\nok\r\n |
|
AT+TARGETUUID |
设置要连接的UUID(服务/特征) | \r\nok\r\n |
设置要连接的UUID(服务/特征),必须包含 NOTIFY,WRITE/WRITE NO RESPONSE属性,否则会连接失败 |
波特率列表
本芯片支持的串口波特率列表为:2400、4800、9600、14400、19200、38400、56000、57600、115200、230400、256000、460800、530000、1000000。
3. 蓝牙透传的详细说明—BLE
3.1 BLE 的 UUID 说明
插入图片
- 服务 UUID 是
18F0。 - 特征 1 的 UUID 是
2AF0,属性是notify。 - 特征 2 的 UUID 是
2AF1,属性是write。
查询芯片当前的UUID情况,使用如下查询指令:
AT+UUID\r\n
UUID支持16位或128位。如果需要使用其他的UUID,芯片支持自定义UUID,操作详情如下:
AT+UUID=[UUID序号],[目标UUID值]\r\n
AT+RESET\r\n
举例说明:
-
把图片上标注为“3”的UUID改为
FF47,具体操作如下:AT+UUID=3,FF47\r\n AT+RESET\r\n -
把图片上标注为“3”的UUID改为
00112233445566778899AABBCCDDEEFF,具体操作如下:AT+UUID=3,FFEEDDCCBBAA99887766554433221100\r\n //需要逐字节(即每两个字符)倒序输入 AT+RESET\r\n //修改完成后,手机端需重新配对或重启蓝牙方可显示正常
其他:如要恢复芯片默认UUID,只需要执行AT+RESTORE恢复芯片出厂设置即可。
3.2 BLE 的测试说明
APP Android端测试, 推荐使用我司的Demo app(在Demo APP目录下,目前只支持BLE模式,SPP模式还在开发中)
其他专业测试软件:nRF Connect(Android版本在此目录有提供,IOS版本可在App Store自行下载)。
APP IOS端测试推荐使用“BLE Tools”软件,可以直接在“APP Store”里面搜索下载。
如有APP定制化需求,可随时与我们联系开发。
测试步骤如下:
我们使用的是BLETools(IOS版本,在App Store中下载)
- 启动 BLETools app;
- 点到对应蓝牙名的设备,如“TD5322A”,点击连接。
- 连上芯片之后的界面可以看到名字和服务。
- 找到需要的服务,也就是
FF01; - 点击“监听”;
- 从串口端发送测试字符(如用电脑的串口调试工具来模拟);
- 手机显示已收到相关字符。
- 找到需要的服务,也就是
FF02; - 点击“写入”;
- 输入测试字符;
- 蓝牙透传会把相关数据转出去,从蓝牙芯片串口端发送(可用电