UA288 是低功耗蓝牙2.4模块。该模块集成了高性能的2.4GHz RF收发器、丰富特性的基带处理器、ARM968E-S MCU和多种外设接口。内置160KBytes Flash和20KBytes RAM,支持可编成协议,满足客户订制化应用。
|
模块最小系统
|
参考原理图
5V-3V电平转换参考电路 1
|
5V-3V电平转换参考电路 2
● 支持蓝牙 4.2从机模式。
● 支持微信AirSync协议。
● 默认配置:
工作模式:默认透传模式,若使用AT指令,请切换到指令模式;;
UART参数:9600,8bit 数据位,无校验位,1 位停止位; 蓝牙名称:BleSerialPort;
广播间隔:“80,80”,即max=50ms,min=50ms;
连接间隔:“36,24,2,100”,即max=36,min=24,latency=2,timeout=300
(max=45ms,min=30ms,latency=2,timeout=1000ms)。
● 可以用引脚使能串口,切换工作状态和睡眠状态。
● 可以用指令切换AT指令模式和透传模式。
● 可以用AT指令配置参数。
● 0dBm 发射功率下,空旷地带通信距离可达40m。
● 每帧数据包最高支持20字节。
● 休眠电流:参考第11章
● 供电范围:1.55~3.6V,建议为3.0 V供电。
● 外形尺寸:18mm*12mm*1.7mm
● 应用范围:
蓝牙健康产品穿戴设备智能家居蓝牙玩具灯控产品蓝牙转串口产品。
从端 Service UUID:0xFFB0
特征值 UUID:0xFFB1 Properties:Write Without Response 特征值 UUID:0xFFB2 Properties:Read Notify
BLE模块与MCU,通过串口(UART)通信。默认端口特性:波特率9600,数据位8,停止位1,校验位None。
透传模式,BLE模块负责把MCU发送过来的数据原封不动转发给APP。APP发送给BLE 模块的数据,也是直接转发给MCU。
指令模式,可以通过AT命令对模块进行设置,在APP端发送AT指令或者在电脑端的串口助手发送AT指令均可以设置。
指令模式与透传模式切换
上电默认透传模式,在该模式下,发送“+++”,返回“AT+ok Mode=AT Mode\r\n”进入指令模式,此时可以使用AT指令进行设置、读取操作。
在指令模式下,输入“AT+exit\r\n”返回“AT+ok Mode=Normal\r\n”进入透传模式,此时发送任何数据都会直接透明传输。
注意:发送“+++”切换模式时,只发送3个“+”,不要有其他字符,包括“\r\n” 也不能有。
1 |
GND |
地 |
14 |
P16 |
通用IO/ UART2_TX |
2 |
EXT_ANT |
需要时可外接天线 |
15 |
P13 |
通用IO/ PWM3 |
3 |
GND |
地 |
16 |
P33 |
通用IO/ ADC3 |
4 |
GND |
地 |
17 |
P12 |
通用IO/ PWM2 |
5 |
P31 |
通用IO/ ADC1 |
18 |
GND |
地 |
6 |
P32 |
通用IO/ ADC2 |
19 |
P10 |
通用IO/PWM0 |
7 |
P14 |
通用IO/ PWM4 |
20 |
P07 |
通用IO/ SPI_NSS |
8 |
VCCBAT |
电源 |
21 |
P06 |
通用IO/ SPI_MISO |
9 |
GND |
地 |
22 |
P05 |
通用IO/ SPI_MOSI |
10 |
RSTN |
低电平复位 |
23 |
P04 |
通用IO/ SPI_CCK |
11 |
P00 |
通用IO/ UART1_TX |
24 |
P03 |
通用IO/ I2C_SDA |
12 |
P01 |
通用IO/ UART1_RX |
25 |
P02 |
通用IO/ I2C_SCL |
13 |
P17 |
通用IO/ UART2_RX |
26 |
GND |
地 |
串口开关:24PIN(P03),高电平进入串口透传模式;低电平进入低功耗模式;悬空为串口透传模式。使能转换必须要有电平切换。(注意:低功耗模式下无法串口透传)
状态指示灯:15PIN(P17),未连接状态为高电平,连接状态为低电平。
MCU中断唤醒:14PIN(P16),默认为低电平,收到APP发来数据时为高电平,接收完成后为低电平。
开关机控制:16PIN(P13),低电平进入DEEP SLEEP模式,高电平正常工作,悬空为正常工作。
|
注:上电默认透传模式,在透传模式下要切换到指令模式发送“+++”。指令模式下发送AT命令要以“\r\n”结束,使用串口助手操作时,需要勾选“发送新行”选项。
命令 |
说明 |
“AT+setBR 9600\r\n” |
设置波特率 |
“AT+getName\r\n” |
读取蓝牙名 |
“AT+setName=bleName\r\n” |
设置蓝牙名 |
“AT+getAddr\r\n” |
读取蓝牙地址 |
“AT+setAddr=112233445566\r\n” |
设置蓝牙地址 |
“AT+getStatus\r\n” |
读取蓝牙状态 |
“AT+setAdvInt 80 100\r\n” |
设置广播间隔 |
“AT+setConnInt 36242300 \r\n ” |
设置连接间隔 |
“AT+disConnect\r\n” |
断开连接 |
“AT+reStart\r\n” |
重启模块 |
“AT+getPara\r\n” |
获取配置参数 |
“AT+exit\r\n” |
退出指令模式(切换到透传模式); 在透传模式下要切换到指令模式 发送“+++”。 |
“AT+shutDown\r\n” |
关闭模块 |
“AT+reStore\r\n” |
恢复出厂设置 |
“AT+getInfo\r\n” |
查询版本信息 |
“AT+help\r\n” |
指令帮助 |
命令说明:需要手动重启后生效。
例:“AT+setBR 9600\r\n” (“\r\n”为结束符不做输入,但是每条指令后都需加换行符其值为 0D 0A ,下同)
十六进制:41 54 2B 73 65 74 42 52 20 39 36 30 30 0D 0A(每个数之间没有空格,有的软件会自动忽略空格的可以添加空格,下同)
回复: “AT+ok\r\n” (操作成功)
“AT+err_code\r\n” (操作失败, err_code具体参见“命令错误返回参数说明”)
波特率设置范围:(参数不符合的情况,提示错误)
2400,4800,9600,19200,38400,57600,115200
9.3读取蓝牙设备名
称例: “AT+getName\r\n”
十六进制:41 54 2B 67 65 74 4E 61 6D 65 0D 0A
回复: “AT+ok=bleName\r\n” (操作成功)
“AT+err_code\r\n” (操作失败, err_code具体参见“命令错误返回参数说明”)
命令说明:需要手动重启后生效。
例: “AT+setName=bleName\r\n”(如设置为SENSSUN FAT)
十六进制:41 54 2B 73 65 74 4E 61 6D 65 3D 62 6C 65 4E 61 6D 65 0D 0A
回复: “AT+okrestart effect!\r\n” (操作成功,需发重启命令,重启后生效) “AT+err_code\r\n” (操作失败, err_code具体参见“命令错误返回参数说明”)
例: “AT+getAddr\r\n”
十六进制:41 54 2B 67 65 74 41 64 64 72 0D 0A
回复: “AT+okFF:11:22:33:66:FF\r\n” (操作成功)
“AT+err_code\r\n” (操作失败, err_code具体参见“命令错误返回参数说明”)
例:“AT+setAddr=112233445566\r\n”
十六进制:41 54 2B 73 65 74 41 64 64 72 3D 31 31 32 32 33 33 34 34 35 35 36
36 0D 0A
回复: “AT+okrestart effect!\r\n” (操作成功,需发重启命令,重启后生效) “AT+err_code\r\n” (操作失败, err_code具体参见“命令错误返回参数说明”)
9.7读取蓝牙模块的状态:广播/已连接
例: “AT+getStatus\r\n”
十六进制:41 54 2B 67 65 74 53 74 61 74 75 73 0D 0A
回复:“AT+ok status_code\r\n”(操作成功),status_code如下:
00 |
模块处于空闲状态 |
01 |
模块处于广播状态 |
02 |
模块处于连接状态 |
03 |
带响应扫描 |
04 |
不带响应扫描 |
“AT+err_code\r\n” (操作失败, err_code具体参见“命令错误返回参数说明”)
命令说明:需要手动重启后生效。
例: “AT+setAdvInt 80 100\r\n” (最小间隔80*0.625ms, 最大间隔100*0.625ms) 十六进制:41 54 2B 73 65 74 41 64 76 49 6E 74 20 38 30 20 31 30 30 0D 0A
(广播间隔最大最小值,“min<=max”, 80~16000 即 50ms~10000ms) 回复: “AT+okrestart effect!\r\n” (操作成功,需发重启命令,重启后生效)
“AT+err_code\r\n” (操作失败, err_code具体参见“命令错误返回参数说明”)
命令说明:立即生效,不要频繁设置,否则可能掉线。
例: “AT+setConnInt 36 24 23 00\r\n ”(参数分别为max, min, latency, timeout)
十六进制:41 54 2B 73 65 74 43 6F 6E 6E 49 6E 74 20 33 36 32 34 32 33 30 30 0D 0A
例子中,最大间隔36*1.25ms,最小间隔24*1.25ms,潜伏期 2, 连接超时300*10ms. 最小连接间隔和最大连接间隔:取值范围均为:0x0006~0x0C80
(7.5ms~4000ms),min<=max。
Latency:取值范围为:0x0000~0x01F3(0~499)。
连接超时:取值范围为:0x000A~0x0C80。连接间隔必须小于连接超时时间,即: [max*1.25 * (1+latency)] < 10 * timeout。
回复: “AT+ok\r\n” (操作成功,不用重启,立即生效)
“AT+err_code\r\n” (操作失败, err_code具体参见“命令错误返回参数说明”)
9.10 断开蓝牙模块连接
例: “AT+disConnect\r\n”
十六进制:41 54 2B 64 69 73 43 6F 6E 6E 65 63 74 0D 0A
回复: “AT+ok\r\n” (操作成功)
“AT+err_code\r\n” (操作失败, err_code具体参见“命令错误返回参数说明”)
例: “AT+reStart\r\n”
十六进制:41 54 2B 64 69 73 43 6F 6E 6E 65 63 74 0D 0A
回复: “AT+ok restart now \r\n” (操作成功,自动立即重启)
例: “AT+getPara\r\n”
十六进制:41 54 2B 67 65 74 50 61 72 61 0D 0A
回复: “AT+ok uart 9600,8,N,1; adv 120 160; con 36,24,2,300.\r\n” (操作成功) ,返回参数包括串口、广播间隔、连接间隔。
9.13退出指令模式例: “AT+exit\r\n”
十六进制:41 54 2B 65 78 69 74 0D 0A
回复: “AT+ok Mode=Normal\r\n” (操作成功,切换到透传模式)
例: “AT+shutDown\r\n”
十六进制:41 54 2B 73 68 75 74 44 6F 77 6E 0D 0A
回复: “AT+ok power off now!\r\n” (操作成功)
例: “AT+reStore\r\n”
十六进制:41 54 2B 72 65 53 74 6F 72 65 0D 0A
回复: “AT+ ok restart now\r\n” (操作成功)
9.16 查询版本信息
例: “AT+getInfo\r\n”
十六进制:41 54 2B 67 65 74 49 6E 66 6f 0D 0A 回复: “AT+ok HW=UA288-BLE-JXKJ,SW=V0.2”
例:“AT+help\r\n”
十六进制:41 54 2B 68 65 6C 70 0D 0A
回复AT+ok Help: system_shutdown setBR
getName setName getAddr setAddr getStatus setAdvInt setConnInt disConnect reStore reStart getPara getInfo exit
help
err_code |
含义 |
“06” |
上一个操作未结束 |
“07” |
指令的参数不合法 |
“08” |
模块处于未连接状态 |
“09” |
模块处于连接状态 |
“10” |
模块正在广播 |
“11” |
操作失败 |
广播间隔 100ms:165ua
广播间隔 500ms:40ua
广播间隔 1000ms:20ua
深度睡眠电流(无广播):3uA
最高温度:<250℃ 过炉次数:≤2次
炉温曲线