最新版蓝牙模块说明书
蓝牙模块软件说明书
目 录
1. 低功耗蓝牙(BLE )4.1 模块简介............................................................1 1.1. 功能简介...........................................................................................1 1.2. 主要功能特点.....................................................................................1 1.3. 模组电气特性.....................................................................................2 1.4. 模组蓝牙功耗对照表...........................................................................2 1.5. 工作模式示意图..................................................................................3 1.6. 模块脚位图.........................................................................................4 1.6.1. 模块 7x7 脚位图................................................................................4 1.6.2. 模块 5x5 脚位图................................................................................6 1.7. 引脚功能.............................................................................................6 1.7.1 模块 7x7 引脚功能..............................................................................6 1.7.2. 模块 5x5 引脚功能..............................................................................8 2. 模块软件指令说明..........................................................................................11 2.1. 命令表................................................................................................11 2.2. SPI 软件命令格式说明................................................................................15 2.2.1. SPI 写命令.......................................................................................15 2.2.2. SPI 读命令.......................................................................................15 2.3. UART 命令格式说明............................................................................ 16 2.3.1. UART 读写命令.................................................................................16 2.3.2. UART 接收 BLE 数据..........................................................................17
2.4. 蓝牙软件读写说明.......................................................................................17 2.4.1. 模块 UUID 说明.................................................................................17 2.4.2. 模组蓝牙通道操作软件说明...................................................................... 17 2.5. 命令说明.............................................................................................18 3.APP 工具使用说明....................................................................................35 3.1.APP 读取及设置模组参数.......................................................................36 3.2. 接收发送透传数据.................................................................................37 4. 联系我们.................................................................................................38 5. 文件修订说明...........................................................................................39
1. 低功耗蓝牙( BLE )1 4.1 模块简介
1.1. 功能简介
蓝牙模块支持从机模式。支持桥接模式(透传模式)和直驱模式。模块通过初始设置后会自动进行广播,已打开特定 APP 的手机会对其进行扫描和对接,成功之后便可以通过 BLE 协议对其进行控制。
桥接模式:用户 CPU 可以通过模块的通用 UART 或 SPI 和移动设备进行双向通讯,用户也可以通过特定的指令,对模块的蓝牙参数进行管理控制。用户数据的具体含义由上层应用程序自行定义。移动设备可以通过 APP 对模块进行写操作,写入的数据将通过 UART 或 SPI 发送给用户的 CPU。模块收到来自用户 CPU数据包后,将自动转发给移动设备。此模式下的开发,用户必须负责主 CPU 的代码设计,以及智能移动设备端 APP 代码设计。
直驱模式 :用户对模块进行简单外围扩展,APP 通过 BLE 协议直接对模块进行驱动,完成智能移动设备对模块的监管和控制。此模式下的软件开发,用户只须负责智能移动设备端 APP 代码设计。
1.2. 主要功能特点
使用简单,无需任何蓝牙软件协议栈应用经验。 支持多连接蓝牙数据传输功能。
支持三种连接蓝牙连接方案:模块作为从机连接四个主机、模块作为主机连接四个从机、模块主从一体能同时连接两个主机两个从机。
用户接口使用通用 UART 设计,全双工双向通讯,最低波特率支持 75bps,最高支持波特率 375000bps。
同时支持桥接模式和直接驱动模式(无需额外 CPU) ;直驱模式支持 SPI/UART接口。
默认 40ms 连接间隔。随着连入设备的增加,后连入的设备连接间隔会逐步递增 25ms 。
支持 AT/SPI 指令软件复位模块,获取 MAC 地址。
支持 AT/SPI 指令调整蓝牙连接间隔,控制不同的转发速率。(动态功耗调整) 支持 APP/SPI/UART 指令调整发射功率,修改广播间隔/连接超时时间/产品连接延迟,修改 UART 波特率,修改模块名,均会掉电保存。
UART 数据包长度,可以是 80byte 以下(含 80byte)的任意长度。(自动分包) 多连支持同时连接 4 个设备双向通信 80byte/s。(如需长时间收发数据,最多支持同时连接 3 个设备)
支持 APP/SPI/AT 修改模块名称,掉电保存,修改 UART 波特率,产品识别码,自定义广播内容,广播周期,均掉电保存。
支持移动设备 APP/SPI/AT 对模块进行远程复位,设置发射功率。 支持移动设备 APP/SPI/AT 调节蓝牙连接间隔,掉电保存。(动态功耗调整) APP/SPI/AT 均可操作所有 IO 外扩。
支持连接状态,广播状态提示脚/普通 IO 灵活配置。
16 个双向可编程 IO,全低功耗运行。 (照明控制,遥控玩具,等各种输入输出开关量应用)
2 路 ADC 输入(12 bit),使能/禁止,采样周期自由配置,可以设定均值滤波。(测温湿度,光度等应用)
四路可编程 PWM 输出(最高 2MHz)。(调光,调速等应用) 模块端 RSSI 连续采集。(寻物防丢报警应用) 支持模块电量提示,电量读取。(设备电量提醒) 支持内部 RTC 实时时钟,APP 端可随时同步校准。
支持 IO 配置和输出状态保存功能,可自定义默认的初始化状态。
支持浅恢复和深度恢复模式,灵活恢复用户数据,而保留产品必须配置。 支持从 UART/SPI 获取蓝牙连接状态(连接,正常断线和超时断线)提示。 支持低电平使能模式和脉宽使能模式,支持远程关机。 极低功耗的待机模式。
1.3. 模组电气特性
调制模式:GFSK
接收灵敏度:-96dBm (典型值)
频率范围:2402~2480MHZ(2.4G ISM band) 输出功率设置:-20~+5 dBm(可通过软件编程设定) 工作温度:-20℃~+70℃ 储存温度:-30℃~+85℃ 工作湿度:
工作电流:
Active-Mode RX: 5.9 mA max
Active-Mode TX at 0 dBm: 6.1 mA max Active-Mode TX at +5 dBm: 9.1 mA max Active-Mode 2.3 mA avg Standby: 1 µA (0.13µA avg ) 有效接收距离:
60 米 (发射功率设定 0 dBm,以模块与 iPhone 6S 手机面对面自由空间测试) 80 米 (发射功率设定+5 dBm,以模块与 iPhone 6S 手机面对面自由空间测试)
1.4. 模组蓝牙功耗对照表
1.5. 工作模式示意图
1.6. 模块脚位图 1.6.1. 模块 7x7 脚位图
HY-264001
HY-264002
HY-2640
1.6.2. 模块 5x5 脚位图
HY-264008
1.7. 引脚功能
1.7.1 模块 7x7 引脚功能
1.7.2. 模块 5x5 引脚功能
SEL 引脚选择通讯模式
表 1 - 3
2. 模组指令说明
2.1. 命令表
2.2. I SPI 命令格式说明
SPI 协议采用消息机制来反馈数据,数据读在中断信号线“INT”为低电平时有效。 SPI 协议采用一问一答方式交互数据,数据的读取及写入由寄存器的读写属性决定。 SPI 数据由数据头、数据长度、寄存器地址、数据、校验五个部分组成。
数据头: 固定为 0xFE。 寄存器地址: 参考表 2-1
数据长度: 寄存器地址(1 字节)+数据内容长度(n 字节) 校验: 数据长度^寄存器地址^数据 1^数据 2^...数据 n SPI 软件数据格式:
字节 1:0xFE (数据头) 字节 2:数据长度 字节 3:寄存器地址 字节 4:数据内容 ...
字节 n:数据内容 字节 n + 1:校验
2.2.1. SPI 写命令
△a-b >= 600 us △a-c > △b-c 示例:
2.2.2. SPI 读命令
SPI 读请求
△a-b >= 600 us △a-c > △b-c SPI 读数据
△a-b >= 600 us
示例:
2.3. T UART 命令格式说明
1.UART 发送AT 指令(具体指令参照表2-1),若指令正确则会返回AT+OK\r\n,若错误则会返回错误状态。
2.UART 的读取及写入由寄存器的读写属性决定。
3. 查询具有读属性的寄存器在对应的 AT 指令后加“? ”即可读取到相应的内容。
注意:所有 AT 指令都以“\r\n”结尾。
2.3.1. UART 读写命令 示例:
UART 写:AT+NV_ADDR=1\r\n 模块回传数据:AT+OK\r\n UART 读:AT+NV_ADDR=?\r\n 模块回传数据:AT+OK\r\n1\r\n
△a-b >= 600 us △c-d
2.3.2. UART 接收 BLE 数据
1. 当 WAKEUP 引脚处于低电平状态时,模块收到数据后会直接发送 UART 数据到 MCU 。
2. 当 WAKEUP 引脚处于高电平状态时,模块收到数据后会反复拉高拉低 INT引脚,直到 MCU 拉低 WAKEUP 引脚为止,当 MCU 拉低 WAKEUP 引脚后会发送UART 数据到 MCU。
2.4. 蓝牙读写说明
2.4.1. 模块 UUID 说明
2.4.2. 模组蓝牙通道操作说明
1. 操作方法举例:查询当前系统状态
第一步:向 REG(UUID1005)写入 0x07(寄存器地址)。
第二步:向 REG_READ(UUID1004)读取,会返回 0x05,表示当前处于从机已经连接状态。
2. 操作方法举例:查询当前命令状态
第一步:向 REG(UUID1005)写入 0x06(寄存器地址)。
第二步:向 REG_READ(UUID1004)读取,会返回 0x01,表示最近一次命令正确。
3. 操作方法举例:设置模组名称
第一步:向 REG(UUID1005)写入 0x06(寄存器地址)。 第二步:向 REG_WRITE(UUID1003)写入0x62,0x6c,0x75,0x65,0x74,0x6f,0x6f,0x74,0x68
第三步:断开连接,重新连接后名字变成“bluetooth ”
注:1. 其他寄存器操作及写入内容请看 2.5 命令说明。
2. 目前 2640 多连接透传有订制功能,所以如果用户去读取未开放的命令则 REG_READ(UUID1004)将全部为 0xFF
2.5. 命令说明
注意:UART 模式:数据均为 ASCII 格式
SPI 模式:以下数据为发送 SPI 指令的数据内容,数据均为 HEX 格式 。 (SPI 数据发送格式请参照 2.2 SPI 命令格式说明)
2.5.1. 数据模式选择(0x02)
字符模式:模组会将收到的 UART 数据直接发送到蓝牙接收端。
十六进制模式:模组会将收到的 UART 数据转以 HEX 格式发送到蓝牙接收端。默认为字符模式。 AT 指令:
字符模式:AT+MOD=0\r\n 十六进制模式:AT+MOD=1\r\n 读取数据模式:AT+MOD=?\r\n SPI 数据:
字符模式: 0x00 十六进制模式:0x01 读取数据模式:不填入数据 2.5.2. 查看当前命令状态(0x06) AT 指令:
无
SPI 数据:
读取当前命令状态:不填入数据
SPI 数据读取返回内容,数据内容长度为 1,数据内容对应如表 2-2。
2.5.3. 查看系统状态(0x07) AT 指令:
读取系统状态:AT+SYS_STATE=?\r\n SPI 数据:
读取系统状态:不填入数据
数据内容长度为 1,数据内容的低四位对应连接当前设备的连接数量。 数据内容的高 4 位对应 表 2-3
2.5.4. 模块接收到的蓝牙数据长度(SPI )(0x0B ) AT 指令: 无 SPI 数据:
读取蓝牙数据长度:不填入数据数据内容长度为 4。
数据内容字节 1~字节 4 分别表示接收到设备 0~设备 3 的蓝牙数据长度。 2.5.5. UART 波特率设置(0x0D ) AT 指令:
设置波特率:AT+BAUD=n\r\n (参数参照表 2-4) 读取波特率:AT+BAUD=?\r\n SPI 数据:
设置波特率:n (参数参照表 2-4) 读取波特率:不填入数据
2.5.6. BLE 模块名称设置(0x0E ) AT 指令:
设置模块名称:AT+NAME=xxxxxxx\r\n 读取模块名称:AT+NAME=?\r\n SPI 软件数据:
设置模块名称:以 HEX 形式写入模块名称(ASCII 形式数据) 读取模块名称:不填入数据
注意:长度不能超过 18 个字节
2.5.7. 本机 MAC 地址读取(0x11) AT 指令:
读取本机 MAC 地址:AT+DEVID=?\r\n
SPI 数据:
读取本机 MAC 地址:不填入数据 2.5.8. 读取已连入的设备 0 MAC 地址(0x50) AT 指令:
读取已连接的设备 0 MAC 地址:AT+DEV0=?\r\n SPI 数据:
读取已连接的设备 0 MAC 地址:不填入数据 2.5.9. 读取已连入的设备 1 MAC 地址(0x51) AT 指令:
读取已连接的设备 1 MAC 地址:AT+DEV1=?\r\n SPI 数据:
读取已连接的设备 1 MAC 地址:不填入数据 2.5.10. 读取已连入的设备 2 MAC 地址(0x52) AT 指令:
读取已连接的设备 2 MAC 地址:AT+DEV2=?\r\n SPI 数据:
读取已连接的设备 2 MAC 地址:不填入数据 2.5.11. 读取已连入的设备 3 MAC 地址(0x53) AT 指令:
读取已连接的设备 3 MAC 地址:
AT+DEV3=?\r\n
SPI 数据:
读取已连接的设备 3 MAC 地址:不填入数据 2.5.12. 读取模块与设备 0 连接的连接角色(0x54) AT 指令:
读取与已连接的设备 0 连接的连接角色: AT+DEV0_ROLE=?\r\n SPI 数据:
读取与已连接的设备 0 连接的连接角色:不填入数据 2.5.13. 读取模块与设备 1 连接的连接角色(0x55) AT 指令:
读取与已连接的设备 1 连接的连接角色:AT+DEV1_ROLE=?\r\n SPI 数据:
读取与已连接的设备 1 连接的连接角色:不填入数据 2.5.14. 读取模块与设备 2 连接的连接角色(0x56) AT 指令:
读取与已连接的设备 2 连接的连接角色:AT+DEV2_ROLE=?\r\n SPI 数据:
读取与已连接的设备 2 连接的连接角色:不填入数据 2.5.15. 读取模块与设备 3 连接的连接角色(0x57) AT 指令:
读取与已连接的设备 3 连接的连接角色:AT+DEV3_ROLE=?\r\n SPI 数据:
读取与已连接的设备 3 连接的连接角色:不填入数据 2.5.16. 状态 0 寄存器(0x1D ) AT 指令:
读取状态 0 寄存器:AT+FUNSTATE0=?\r\n SPI 数据:
读取状态 0 寄存器:不填入数据 返回数据长度为 1,数据对应内容请参照
2.5.17. 状态 1 寄存器(0x1E ) AT 指令:
设置状态 1 寄存器:AT+FUNSTATE1=n\r\n (参数参照表 2-6) 读取状态 1 寄存器:AT+FUNSTATE1=?\r\n SPI 数据:
设置状态 1 寄存器:n (参数参照表 2-6) 读取状态 1 寄存器:不填入数据
2.5.18. 发射功率寄存器(0x24) AT 指令:
设置发射功率:AT+TX=n\r\n (参数参照表 2-8) 读取发射功率:AT+TX=?\r\n SPI 数据:
设置发射功率:n (参数参照表 2-8) 读取发射功率:不填入数据
2.5.19. 广播间隔(0x26)
AT 指令:
设置广播间隔:AT+ADV_INTERVAL=n\r\n 读取广播间隔:AT+ADV_INTERVAL=?\r\n SPI 数据:
设置广播间隔:字节 1:填入数据低位,字节 2:填入数据高位。 读取广播间隔:不填入数据
注: n 取值范围为:32-24000,每单位/625us,实际对应时间为 20ms-15000ms(15s ),以大端模式发送。
2.5.20. 连接间隔(0x27) AT 指令:
设置连接间隔:AT+CON_INTERVAL=n\r\n 读取连接间隔:AT+CON_INTERVAL=?\r\n SPI 数据:
设置连接间隔:字节 1:填入数据低位,字节 2:填入数据高位。 读取连接间隔:不填入数据
注: n 取值范围为:16-3200,每单位/1.25ms,实际对应时间为 20ms-4000ms(4s ),以大端模式发送。
IOS 设置时,此项参数不得超过 1578,最小不小于 17(对应 20-2s)否则 IOS 系统采用默认参数,(需要开启 BLE_TRANS_SPEED),此参数需在设置角色之前设置,下次开机依然有效。
2.5.21. 广播开关(0x29) AT 指令:
设置广播开关:AT+ADV=n\r\n(参数参照表 2-11) 读取广播开关:AT+ADV=?\r\n SPI 数据:
设置广播开关:n (参数参照表 2-11) 读取广播开关:不填入数据
2.5.22. 断开连接(0x1C ) AT 指令:
设置断开当前连接:AT+DISCON=n\r\n SPI 数据:
设置断开当前连接:n
注: n 取值范围为:0-3,分别代表了已连入设备的索引号。
2.5.23. 软件复位(0x2A ) AT 指令:
设置软件复位:AT+SOFT_RST=1\r\n SPI 数据:
设置软件复位:0x01 2.5.24. 软件版本号(0x3D ) AT 指令:
读取软件版本号:AT+VERION=?\r\n SPI 数据:
读取软件版本号:不填入数据
2.5.25. 清空蓝牙数据缓存(SPI )(0x3E ) AT 指令: 无 SPI 数据:
清空蓝牙数据缓存:n (填入任意值) 2.5.26. 蓝牙从机延迟(0x42)
AT 指令:
设置从机延迟:AT+SLAVE_LATENCY=n\r\n 读取从机延迟:AT+SLAVE_LATENCY=?\r\n SPI 数据:
设置从机延迟:字节 1:填入数据低位, 字节 2:填入数据高位 读取从机延迟:不填入数据
注:从机延迟取值范围是 0-499 个单位
2.5.27. 连接超时(0x43) AT 指令:
设置连接超时时间:AT+CONN_TIMEOUT=n\r\n 读取连接超时时间:AT+CONN_TIMEOUT=?\r\n SPI 数据:
设置连接超时时间:字节 1:填入数据低位, 字节 2:填入数据高位 读取连接超时时间:不填入数据
注:连接超时取值范围是 10-1000 个单位,每个单位为 10ms
2.5.28. 广播数据(0x47) AT 指令:
设置广播数据:AT+ADV_MFR_SPC=xxxx\r\n 读取广播数据:AT+ADV_MFR_SPC=?\r\n
SPI 数据:
设置广播数据:xxx 读取广播数据:不填入数据
注:广播数据长度最长不超过 22 个字节。
2.5.29. 读取设备 0 RSSI(0x58)
AT 指令:
读取 RSSI 值:AT+RSSI_READ0=?\r\n
SPI 数据:
读取 RSSI 值:不填入数据
注:该功能为订制功能,用户可根据需要订制。
2.5.30. 读取设备 1 RSSI(0x59)
AT 指令:
读取 RSSI 值:AT+RSSI_READ1=?\r\n
SPI 数据:
读取 RSSI 值:不填入数据
注:该功能为订制功能,用户可根据需要订制。
2.5.31. 读取设备 2 RSSI(0x5A )
AT 指令:
读取 RSSI 值:AT+RSSI_READ2=?\r\n
SPI 数据:
读取 RSSI 值:不填入数据
注:该功能为订制功能,用户可根据需要订制。
2.5.32. 读取设备 3 RSSI(0x5B )
AT 指令:
读取 RSSI 值:AT+RSSI_READ3=?\r\n
SPI 数据:
读取 RSSI 值:不填入数据
注:该功能为订制功能,用户可根据需要订制。
2.5.33. RSSI 获取周期设置(0x12)
AT 指令:
设置 RSSI 获取周期:AT+RSSI_PERIOD=n\r\n
读取 RSSI 获取周期:AT+RSSI_PERIOD=?\r\n
SPI 数据:
设置 RSSI 获取周期:字节 1:填入数据低位,字节 2:填入数据高位。 读取 RSSI 获取周期:不填入数据
注:1. 周期值为十进制数据,取值范围为 20ms-5000ms,以大端模式发送数据。
该功能为订制功能,用户可根据需要订制。
2.5.34. IO0 读写(0x2C )
AT 指令:
设置 IO0 输出电平:AT+IO0=n\r\n(以 HEX 格式发送)
读取 IO0 电平:AT+IO0=?\r\n
SPI 数据:
设置 IO0 输出电平:n
读取 O0 电平:不填入数据
注: IO0 读写寄存器可对 IO0_0-IO0_7 进行读操作和写操作。
数据以 HEX 格式发送,并且数据的每一位对应一个 IO 口。数据的最低位对应 IO0_0,依次往上推。
往寄存器对应位写 1 表示输出高电平,0 表示输出低电平。
读寄存器对应位为 1 表示当前为高电平,0 表示当前为低电平。
该功能为订制功能,用户可根据需要订制。
2.5.35. IO1 读写(0x2D )
AT 指令:
设置 IO1 输出电平:AT+IO1=n\r\n(以 HEX 格式发送)
读取 IO1 电平:AT+IO1=?\r\n
SPI 数据:
设置 IO1 输出电平:n
读取 IO1 电平:不填入数据
注: IO1 读写寄存器可对 IO1_0-IO1_7 进行读操作和写操作。
数据以 HEX 格式发送,并且数据的每一位对应一个 IO 口。数据的最低位对应 IO1_0,依次往上推。
往寄存器对应位写 1 表示输出高电平,0 表示输出低电平。
读寄存器对应位为 1 表示当前为高电平,0 表示当前为低电平。
该功能为订制功能,用户可根据需要订制。
2.5.36. IO2 读写(0x2E )
AT 指令:
设置 IO2 输出电平:AT+IO2=n\r\n(以 HEX 格式发送)
读取 IO2 电平:AT+IO2=?\r\n
SPI 数据:
设置 IO2 输出电平:n
读取 IO2 电平:不填入数据
注: IO2 读写寄存器可对 IO2_0-IO2_2 进行读操作和写操作。
数据以 HEX 格式发送,并且数据的每一位对应一个 IO 口。数据的最低位对应 IO2_0,依次往上推。
往寄存器对应位写 1 表示输出高电平,0 表示输出低电平。
读寄存器对应位为 1 表示当前为高电平,0 表示当前为低电平。
该功能为订制功能,用户可根据需要订制。
2.5.37. IO3 读写(0x2F )
AT 指令:
设置 IO3 输出电平:AT+IO3=n\r\n(以 HEX 格式发送)
读取 IO3 电平:AT+IO3=?\r\n
SPI 数据:
设置 IO3 输出电平:n
读取 IO3 电平:不填入数据
注: IO3 读写寄存器可对 IO3_0-IO3_1 进行读操作和写操作。
数据以 HEX 格式发送,并且数据的每一位对应一个 IO 口。数据的最低位对应 IO3_0,依次往上推。
往寄存器对应位写 1 表示输出高电平,0 表示输出低电平。
读寄存器对应位为 1 表示当前为高电平,0 表示当前为低电平。
该功能为订制功能,用户可根据需要订制。
2.5.38. IO0 方向(0x30)
AT 指令:
设置 IO0 输入输出方向:AT+DIR0=n\r\n(以 HEX 格式发送)
读取 IO0 方向:AT+DIR0=?\r\n
SPI 数据:
设置 IO0 输入输出方向:n
读取 IO0 方向:不填入数据
注: IO0 方向寄存器可对 IO0_0-IO0_7 输入输出方向进行设置和读取。
数据以 HEX 格式发送,并且数据的每一位对应一个 IO 口。数据的最低位对应 IO0_0,依次往上推。
往寄存器对应位写 1 表示输出,0 表示输入。
读寄存器对应位为 1 表示输出,0 表示输入。
该功能为订制功能,用户可根据需要订制。
2.5.39. IO1 方向(0x31)
AT 指令:
设置 IO1 输入输出方向:AT+DIR1=n\r\n(以 HEX 格式发送)
读取 IO1 方向:AT+DIR1=?\r\n
SPI 数据:
设置 IO1 输入输出方向:n
读取 IO1 方向:不填入数据
注: IO1 方向寄存器可对 IO1_0-IO1_7 输入输出方向进行设置和读取。
数据以 HEX 格式发送,并且数据的每一位对应一个 IO 口。数据的最低位对应 IO1_0,依次往上推。
往寄存器对应位写 1 表示输出,0 表示输入。
读寄存器对应位为 1 表示输出,0 表示输入。
该功能为订制功能,用户可根据需要订制。
2.5.40. IO2 方向(0x32)
AT 指令:
设置 IO2 输入输出方向:AT+DIR2=n\r\n(以 HEX 格式发送)
读取 IO2 方向:AT+DIR2=?\r\n
SPI 数据:
设置 IO2 输入输出方向:n
读取 IO2 方向:不填入数据
注: IO2 方向寄存器可对 IO2_0-IO2_2 输入输出方向进行设置和读取。
数据以 HEX 格式发送,并且数据的每一位对应一个 IO 口。数据的最低位对应 IO2_0,依次往上推。
往寄存器对应位写 1 表示输出,0 表示输入。
读寄存器对应位为 1 表示输出,0 表示输入。
该功能为订制功能,用户可根据需要订制。
2.5.41. IO3 方向(0x33)
AT 指令:
设置 IO3 输入输出方向:AT+DIR3=n\r\n(以 HEX 格式发送)
读取 IO3 方向:AT+DIR3=?\r\n
SPI 数据:
设置 IO3 输入输出方向:n
读取 IO3 方向:不填入数据
注: IO3 方向寄存器可对 IO3_0-IO3_1 输入输出方向进行设置和读取。
数据以 HEX 格式发送,并且数据的每一位对应一个 IO 口。数据的最低位对应 IO3_0,依次往上推。
往寄存器对应位写 1 表示输出,0 表示输入。
读寄存器对应位为 1 表示输出,0 表示输入。
该功能为订制功能,用户可根据需要订制。
2.5.42. PWM0 频率设置(0x34)
AT 指令:
设置 PWM0 频率:AT+PWM0_PER=n\r\n(以十进制格式发送)
读取 PWM0 频率:AT+PWM0_PER=?\r\n
SPI 数据:
设置 PWM0 频率:n
读取 PWM0 频率:不填入数据
注:PWM 频率设置范围为 1KHz-2MHz
该功能为订制功能,用户可根据需要订制。
2.5.43. PWM1 频率设置(0x35)
AT 指令:
设置 PWM1 频率:AT+PWM1_PER=n\r\n(以十进制格式发送) 读取 PWM1 频率:AT+PWM1_PER=?\r\n
SPI 数据:
设置 PWM1 频率:n
读取 PWM1 频率:不填入数据
注:PWM 频率设置范围为 1KHz-2MHz
该功能为订制功能,用户可根据需要订制。
2.5.44. PWM2 频率设置(0x36)
AT 指令:
设置 PWM2 频率:AT+PWM2_PER=n\r\n(以十进制格式发送) 读取 PWM2 频率:AT+PWM2_PER=?\r\n
SPI 数据:
设置 PWM2 频率:n
读取 PWM2 频率:不填入数据
注:PWM 频率设置范围为 1KHz-2MHz
该功能为订制功能,用户可根据需要订制。
2.5.45. PWM3 频率设置(0x37)
AT 指令:
设置 PWM3 频率:AT+PWM3_PER=n\r\n(以十进制格式发送) 读取 PWM3 频率:AT+PWM3_PER=?\r\n
SPI 数据:
设置 PWM3 频率:n
读取 PWM3 频率:不填入数据
注:PWM 频率设置范围为 1KHz-2MHz
该功能为订制功能,用户可根据需要订制。
2.5.46. PWM0 占空比(0x4A )
AT 指令:
设置 PWM0 占空比:AT+PWM0_DUTY=n\r\n(以十进制格式发送) 读取 PWM0 占空比:AT+PWM0_DUTY=?\r\n
SPI 数据:
设置 PWM0 占空比:n
读取 PWM0 占空比:不填入数据
注:PWM 占空比设置范围 1-99,单位为%
2.5.47. PWM1 占空比(0x4B )
AT 指令:
设置 PWM1 占空比:AT+PWM1_DUTY=n\r\n(以十进制格式发送) 读取 PWM1 占空比:AT+PWM1_DUTY=?\r\n
SPI 数据:
设置 PWM1 占空比:n
读取 PWM1 占空比:不填入数据
注:PWM 占空比设置范围 1-99,单位为%
该功能为订制功能,用户可根据需要订制。
2.5.48. PWM2 占空比(0x4C )
AT 指令:
设置 PWM2 占空比:AT+PWM2_DUTY=n\r\n(以十进制格式发送) 读取 PWM2 占空比:AT+PWM2_DUTY=?\r\n
SPI 数据:
设置 PWM2 占空比:n
读取 PWM2 占空比:不填入数据
注:PWM 占空比设置范围 1-99,单位为%
该功能为订制功能,用户可根据需要订制。
2.5.49. PWM3 占空比(0x4D )
AT 指令:
设置 PWM3 占空比:AT+PWM3_DUTY=n\r\n(以十进制格式发送) 读取 PWM3 占空比:AT+PWM3_DUTY=?\r\n
SPI 数据:
设置 PWM3 占空比:n
读取 PWM3 占空比:不填入数据
注:PWM 占空比设置范围 1-99,单位为%
该功能为订制功能,用户可根据需要订制。
2.5.50. 实时时钟(0x2B )
AT 指令:
设置实时时钟:AT+UTC_TIME=ssmmhhDDMMY1Y1Y2Y2\r\n (以 HEX 格式发送)
UART 设置 UTC 时钟格式:
ss :秒
mm :分
hh :时
DD: 日
MM :月
Y1Y1:年(低位)
Y2Y2:年(高位)
例如:设置时间 2016-01-01 12:30:00
AT+UTC_TIME=001E0C0101E007\r\n
读取实时时钟:AT+UTC_TIME=?\r\n
例如:读取时间 2016-01-01 12:30:00
模组返回为:AT+OK\r\n2016-01-01\r\n12:30:00\r\n SPI 数据:
设置实时时钟:xxxx
读取广播开关:不填入数据
SPI 实时时钟设置及读取格式(HEX ):
字节 1:秒
字节 2:分
字节 3:时
字节 4:日
字节 5:月
字节 6:年(低位)
字节 7:年(高位)
注:该功能为订制功能,用户可根据需要订制。
2.5.51. ADC 配置寄存器(0x1F )
AT 指令:
设置 ADC 配置寄存器:AT+ADCCFG=n\r\n (参数参照表 2-7) 读取 ADC 配置寄存器:AT+ADCCFG=?\r\n SPI 数据:
设置 ADC 配置寄存器:n (参数参照表 2-7) 读取 ADC 配置寄存器:不填入数据
2.5.52. 获取 ADC 值(0x20) AT 指令:
读取 ADC 值:AT+ADCVAL=?\r\n SPI 数据:
读取 ADC 值:不填入数据
注:返回的 AD 值未转化为电压值,需用户自行转换
该功能为订制功能,用户可根据需要订制。
2.5.53. 电池电量百分比(0x41) AT 指令:
读取电池电量百分比:AT+BAT_LEVEL=?\r\n
SPI 数据:
读取电池电量百分比:不填入数据
注:该功能为订制功能,用户可根据需要订制。
2.5.54. 非易失存储器地址(0x21) AT 软件指令:
设置非易失存储器地址:AT+NV_ADDR=n\r\n (n 取值范围 0-8) 读取非易失存储器地址:AT+NV_ADDR=?\r\n SPI 数据:
设置非易失存储器地址:AT+NV_ADDR=n\r\n (n 取值范围 0-8) 读取非易失存储器地址:不填入数据
注:该功能为订制功能,用户可根据需要订制。
2.5.55. 非易失存储器数据长度(0x22) AT 指令:
设置非易失存储器数据长度:AT+NV_DAT_LEN=n\r\n (n 取值范围 1-90) 读取非易失存储器数据长度:AT+NV_DAT_LEN=?\r\n SPI 数据:
设置非易失存储器数据长度:n (n 取值范围 1-64) 读取非易失存储器数据长度:不填入数据
注:该功能为订制功能,用户可根据需要订制。
2.5.56. 非易失存储器数据(0x23) AT 指令:
设置非易失存储器数据:AT+NV_DATA=xxxx\r\n 读取非易失存储器数据:AT+NV_DATA=?\r\n SPI 数据:
设置非易失存储器数据:存储数据内容(HEX 格式) 读取非易失存储器数据:不填入数据
注:1. 在写入和读取非易失存储器数据前,应先设置非易失存储器地址和非易失存储器数据长度。
2. 注意数据长度不应超过 20。
该功能为订制功能,用户可根据需要订制。 2.5.57. 读写设备 0 蓝牙数据(0x5C ) AT 指令:
AT+D0=xxx\r\n SPI 数据:
写入蓝牙数据:写入要发送的数据内容 读取蓝牙数据:不填入数据
注:1. 该指令只会将数据发往已连入的设备 0 中。
2.UART 发送透传数据,允许 UART 每包最大数据 80 个字节(包括 AT 指令)。 3.SPI 发送透传数据,允许 SPI 每包最大数据 80 个字节。 4. 模组会自动分包,以每包 20 个字节的形式进行蓝牙数据发送。
5. 透传数据最大间隔 = (最大数据量(总字节(不包括 AT 指令))/20 )* 蓝牙最大发送间隔 。 6. 应减少出现每包透传数据的间隔远小于蓝牙的最大连接间隔的情况,容易导致数据丢失。 7.UART 透传数据发送量计算方法,计算数据发送量方法如下:
HEX 模式下:实际发送字节数 =( 数据包总字节数 - AT 指令(10 个字节))/2 字符模式下:实际发送字节数 = 数据包总字节数 - AT 指令(10 个字节) 8. 数据发送间隔不应低于 250ms
2.5.58. 读写设备 1 蓝牙数据(0x5D ) AT 指令:
AT+D1=xxx\r\n SPI 数据:
写入蓝牙数据:写入要发送的数据内容
读取蓝牙数据:不填入数据
注:1. 该指令只会将数据发往已连入的设备 1 中。
2.UART 发送透传数据,允许 UART 每包最大数据 80 个字节(包括 AT 指令)。 3.SPI 发送透传数据,允许 SPI 每包最大数据 80 个字节。 4. 模组会自动分包,以每包 20 个字节的形式进行蓝牙数据发送。
5. 透传数据最大间隔 = (最大数据量(总字节(不包括 AT 指令))/20 )* 蓝牙最大发送间隔 。 6. 应减少出现每包透传数据的间隔远小于蓝牙的最大连接间隔的情况,容易导致数据丢失。 7.UART 透传数据发送量计算方法,计算数据发送量方法如下:
HEX 模式下:实际发送字节数 =( 数据包总字节数 - AT 指令(10 个字节))/2 字符模式下:实际发送字节数 = 数据包总字节数 - AT 指令(10 个字节) 8. 数据发送间隔不应低于 250ms
2.5.59. 读写设备 2 蓝牙数据(0x5E ) AT 指令:
AT+D2=xxx\r\n SPI 数据:
写入蓝牙数据:写入要发送的数据内容 读取蓝牙数据:不填入数据
注:1. 该指令只会将数据发往已连入的设备 2 中。
2.UART 发送透传数据,允许 UART 每包最大数据 80 个字节(包括 AT 指令)。 3.SPI 发送透传数据,允许 SPI 每包最大数据 80 个字节。 4. 模组会自动分包,以每包 20 个字节的形式进行蓝牙数据发送。
5. 透传数据最大间隔 = (最大数据量(总字节(不包括 AT 指令))/20 )* 蓝牙最大发送间隔 。 6. 应减少出现每包透传数据的间隔远小于蓝牙的最大连接间隔的情况,容易导致数据丢失。 7.UART 透传数据发送量计算方法,计算数据发送量方法如下:
HEX 模式下:实际发送字节数 =( 数据包总字节数 - AT 指令(10 个字节))/2 字符模式下:实际发送字节数 = 数据包总字节数 - AT 指令(10 个字节) 8. 数据发送间隔不应低于 250ms
2.5.60. 读写设备 3 蓝牙数据(0x5F ) AT 指令:
AT+D3=xxx\r\n SPI 数据:
写入蓝牙数据:写入要发送的数据内容 读取蓝牙数据:不填入数据
注:1. 该指令只会将数据发往已连入的设备 3 中。
2.UART 发送透传数据,允许 UART 每包最大数据 80 个字节(包括 AT 指令)。 3.SPI 发送透传数据,允许 SPI 每包最大数据 80 个字节。 4. 模组会自动分包,以每包 20 个字节的形式进行蓝牙数据发送。
5. 透传数据最大间隔 = (最大数据量(总字节(不包括 AT 指令))/20 )* 蓝牙最大发送间隔 。 6. 应减少出现每包透传数据的间隔远小于蓝牙的最大连接间隔的情况,容易导致数据丢失。 7.UART 透传数据发送量计算方法,计算数据发送量方法如下:
HEX 模式下:实际发送字节数 =( 数据包总字节数 - AT 指令(10 个字节))/2 字符模式下:实际发送字节数 = 数据包总字节数 - AT 指令(10 个字节) 8. 数据发送间隔不应低于 250ms
2.5.61. UART 向所有设备发送透传数据(/) AT 指令:
发送 UART 透传数据: AT+DATA=xxx\r\n SPI 数据:
无
注:1. 该指令会将数据发送所有已连入的设备中。
2.UART 发送透传数据,允许 UART 每包最大数据 80 个字节(包括 AT 指令)。 3. 模组会自动分包,以每包 20 个字节的形式进行蓝牙数据发送。
4.UART 透传数据最大间隔 = (UART 最大数据量(总字节(不包括 AT 指令))/20 )* 蓝牙最大发送间隔 。
5. 应减少出现每包串口透传数据的间隔远小于蓝牙的最大连接间隔的情况, 这样容易导致数据丢失。 6. 透传数据发送量计算方法,计算数据发送量方法如下:
HEX 模式下:实际发送字节数 =( 数据包总字节数 - AT 指令(10 个字节))/2 字符模式下:实际发送字节数 = 数据包总字节数 - AT 指令(10 个字节) 7. 数据发送间隔不应低于 250ms 2.5.62. UART 接收透传数据说明
UART 模式下,模组收到蓝牙数据后会以 Dn:xxxxxxx 的形式发送给 MCU。 其中 Dn 表示连接到模组的设备标号。n 的范围为:0~3。
3.APP 工具使用说明
我司免费提供 APP 透传模块软件的技术支持。IOS 用户可以通过苹果的App Store 搜索“TTC-BLE 数传”,下载安装使用。安卓用户可以通过腾讯应用宝搜索“BLE 数传模块”,下载安装使用。如果需要自行开发 APP 软件,可以联络我司业务人员索取相关平台的 SDK。APP 使用范围 Android4.3 以上的版本或 iphone 4s 以上的版本。
3.1.APP 读取及设置模组参数
操作说明:
①APP 会向模组获取当前页面的信息。 ②APP 会读取当前参数信息。 ③选择或填入需要设置的参数。 ④APP 会设置该参数到模组中。
操作说明:
①清空发送计数值,清空接收内容和接 收计数值。
②显示接收到的数据内容。 ③输入需要发送的数据。 ④开启/关闭定时发送数据功能。 ⑤修改定时发送数据的间隔时间。 ⑥选择发送及显示的格式(ASCII/HEX)。 ⑦单次发送数据。