|
1 引言
EL08是基于Telink蓝牙TLSR8208芯片(支持蓝牙5.0)的高性能、低成本物联网蓝牙透传从机模组,同时满足SIG发布的BLE标准协议。模组的控制方式灵活,可通过串口和功能性引脚进行控制,同时支持移动端远程控制。
本文主要描述了EL08透传从机模组的标准使用流程,并给出常见注意事项。
图1.1 EL08模组示意图
2 环境搭建
2.1硬件环境搭建
2.1.1 LSD4BT-EVBTSTD001系列(绿色)开发板硬件连接
跳帽短接P25处模组MODE_CTL引脚与底板右边GND排针,短接模组引脚U0_TX、U0_RX与底板串口芯片的RX、TX引脚,短接底板USB供电排针,如下图2.1所示。
供电方式使用Type-A转Micro-B USB线。
图2.1 EL08绿色开发板连接示意图
跳帽短接P26处模组PWR_CTL引脚与底板右边GND排针,短接模组引脚U0_TX、U0_RX与底板串口芯片的RX、TX引脚,短接底板USB供电排针,如下图2.2所示。
供电方式使用Type-A转Micro-B USB线。
图2.2 E55绿色开发板连接示意图
2.1.2 L-BTKEB00-EVK04系列(黑色)开发板硬件连接
跳帽短接P2处模组22引脚(MODE_CTL)与底板GND排针,短接模组引脚17、18与底板串口芯片的RX1、TX1引脚,短接底板P11排针给模组供电,SW1开关拨至VBUS端,如下图2.2所示。
供电方式使用Type-A转Type-C USB线。
图2.3 EL08黑色开发板连接示意图
跳帽短接P2处模组23引脚(PWR_CTL引脚)与底板GND排针,短接模组引脚17、18与底板串口芯片的RX1、TX1引脚,短接底板P11排针给模组供电,SW1开关拨至VBUS端,如下图2.3所示。
供电方式使用Type-A转Type-C USB线。
图2.4 E55黑色开发板连接示意图
2.2 软件环境搭建
串口调试助手可选用任意一款支持16进制发送和接收的串口调试工具。
波特率默认:115200。
注意:EL08黑色开发板有2个串口,用户需选择Enhanced COM Port。
图2.5 EL08黑色开发板串口选择
3 Andriod APP连接EL08
本章节以Andriod nRF Connect APP作为主机,EL08模组作为从机,给出主从机间完整通信流程。
图3.1 nRF Connect APP
图3.2 主从机间完整通信流程
3.1 EL08串口指令使用介绍
本小节以指令ID=0x001“写保存ADV Interval”为例,广播间隔advInterval=200ms。详细的协议帧结构如下图3.3所示。
图3.3 EL08协议帧结构
发送:AA 70 6C 11 12 00 02 40 01
返回:AA 41 1D 11 13 00 01 00
(1)70 6C:CRC16,可通过CRC在线计算工具得出。
如下图3.4所示,对话框中输入除包头字段、CRC16字段外的其他字段“11 12 00 02 40 01”,计算结果(HEX)=6C70。指令中需按小端顺序填写,即70 6C。
图3.4 CRC在线计算工具
(2)12 00:命令字=指令类型(2)+指令ID(001),按小端模式组帧为0012,那么按小端顺序传输,实际指令中要填写为12 00。
3.2 通信示例
3.2.1 EL08从机模组参数设置
(1)读取MAC地址
发送:AA 76 74 11 34 00 00
返回:AA 25 7A 11 35 00 08 00 00 00 55 03 38 C1 A4 //MAC地址00 55 03 38 C1 A4
(2)设置广播间隔为200ms
发送:AA 70 6C 11 12 00 02 40 01
返回:AA 41 1D 11 13 00 01 00
(3)设置发射功率为最大12dbm
发送:AA 74 AA 11 20 00 01 00
返回:AA C0 DC 11 21 00 01 00
(4)设置广播数据为02 01 06 06 09 31 32 33 34 35
发送:AA A8 5C 11 72 00 0A 02 01 06 06 09 31 32 33 34 35
返回:AA 93 44 11 73 00 01 00
(5)设置设备名称为12345
发送:AA B0 AF 11 00 00 05 31 32 33 34 35
返回:AA 8E EB 11 01 00 01 00
(6)读取连接参数
发送:AA EA C9 11 94 00 00
返回:AA 1D E9 11 95 00 09 00 08 00 10 00 00 00 90 01
//min_interval=0x08×7.5ms=10ms,max_interval=0x10×7.5ms=16×7.5ms=120ms,latency=0,timeout=0x0190×1.25ms=400×10ms=4s
3.2.2 APP扫描并连接模组
图3.5 APP扫描并连接模组
连接成功建立之后,EL08模组串口会自动上报相关事件:
返回:AA AE 97 11 16 70 06 4A B6 31 1A 92 58
//事件ID=0x701,代表有主机连接,主机MAC地址=4A B6 31 1A 92 58
返回:AA BF 9D 11 46 70 01 80
//事件ID=0x704,实时MTU更新,MTU=0x80=128bytes
返回:AA 39 BF 11 66 70 06 28 00 00 00 F4 01
//事件ID=0x706,连接参数更新,Interval=0x28×1.25ms=40×1.25ms=50ms;Latency=0;Timeout=0x01F4×1.25ms=500×10ms=5s。
返回:AA 92 0A 11 66 70 06 06 00 00 00 F4 01
//事件ID=0x706,连接参数更新,Interval=0x06×1.25ms=7.5ms;Latency=0;Timeout=0x01F4×1.25ms=500×10ms=5s。
返回:AA 19 5A 11 66 70 06 10 00 00 00 90 01
//事件ID=0x706,连接参数更新,Interval=0x10×1.25ms=16×1.25ms=20ms;Latency=0;Timeout=0x0190×1.25ms=400×10ms=4s。
3.2.3 APP使能notify
APP端需使能从机FE62接收通道,允许从机通过该通道主动上报数据。
图3.6 APP使能FE62接收通道
3.2.4 APP发送数据给EL08模组
图3.7 APP发送数据9876543210给EL08
EL08模组串口事件上报:
返回:AA 74 97 11 36 70 07 61 FE 98 76 54 32 10
//事件ID=703,代表收到数据98 76 54 32 10,接收通道特征值uuid=FE 61
3.2.5 EL08模组发送数据给APP
指令ID=0x00A,代表EL08从机发送数据给主机,特征值uuid=FE 62,数据值为31 32 33 34 35
发送:AA DF 01 11 A0 00 07 62 FE 31 32 33 34 35
返回:AA F8 01 11 A1 00 01 00
图3.8 APP收到模组发送的数据12345
3.2.6 APP断开连接
图3.9 APP断开连接
EL08从机收到连接断开事件:
返回:AA E5 55 11 26 70 01 00
4 E55主机连接EL08从机
本章节将以利尔达E55模组作为主机,EL08模组作为从机,给出从机间完整通信流程。
图4.1主从机间完整通信流程
4.1 EL08从机模组参数设置
(1)读取MAC地址
发送:AA 76 74 11 34 00 00
返回:AA 25 7A 11 35 00 08 00 00 00 55 03 38 C1 A4 //MAC地址为00 55 03 38 C1 A4
(2)设置广播间隔为200ms
发送:AA 70 6C 11 12 00 02 40 01
返回:AA 41 1D 11 13 00 01 00
(3)设置发射功率为最大12dbm
发送:AA 74 AA 11 20 00 01 00
返回:AA C0 DC 11 21 00 01 00
(4)设置广播数据为02 01 06 06 09 31 32 33 34 35
发送:AA A8 5C 11 72 00 0A 02 01 06 06 09 31 32 33 34 35
返回:AA 93 44 11 73 00 01 00
(5)设置设备名称为12345
发送:AA B0 AF 11 00 00 05 31 32 33 34 35
返回:AA 8E EB 11 01 00 01 00
(6)读取连接参数
发送:AA EA C9 11 94 00 00
返回:AA 1D E9 11 95 00 09 00 08 00 10 00 00 00 90 01
//min_interval=0x08×7.5ms=10ms,max_interval=0x10×7.5ms=16×7.5ms=120ms,latency=0,timeout=0x0190×1.25ms=400×10ms=4s。
4.2 E55主机模组参数设置
(1)设置扫描参数
扫描间隔62.5ms,扫描窗口占空比95%,扫描模式主动扫描,扫描时使用的是PHY_1MBPS,一次扫描任务持续的最长时间是2s,不允许重复上报,单次扫描,要过滤的广播值是02 01 06 06 09 31 32 33 34 35。
发送:01 FC 34 2F 00 64 00 5F 01 01 07 92 32 14 00 01 00 00 00 0A 02 01 06 06 09 31 32 33 34 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
返回:04 fc 34 01 00
(2)设置连接参数
扫描间隔62.5ms,扫描窗口占空比95%,扫描时使用的是PHY_1MBPS,连接失败监测超时10s,citv_min=10ms,citv_max=100ms,latency=0,timeout=4s。
发送:01 FC 36 0F 00 64 00 5F 01 64 00 08 00 50 00 00 00 90 01
返回:04 fc 36 01 00
4.3 E55主机扫描并连接EL08从机模组
(1)E55主机扫描周围环境中符合过滤条件的从机广播包
发送:01 FC 01 01 01
返回:04 FC 01 01 00
返回:04 FC 82 15 00 00 00 00 55 03 38 C1 A4 DD 0A 02 01 06 06 09 31 32 33 34 35
//收到广播,广播特性可扫描、可连接,静态公开地址类型,广播设备的地址00 55 03 38 C1 A4,广播的接收信号强度-34dbm,广播数据的字节数10,广播数据02 01 06 06 09 31 32 33 34 35。
返回:04 FC 83 02 00 00
注:如果主机事先已经获取到了从机的MAC地址,那么可跳过扫描,直接使用从机MAC地址建立连接。
(2)E55主机连接EL08从机
发送:01 FC 02 07 00 00 55 03 38 C1 A4
返回:04 FC 02 01 00
返回:04 FC 84 0E 09 00 55 03 38 C1 A4 00 00 00 00 00 00 00
返回:04 FC 84 0E 00 00 55 03 38 C1 A4 01 50 00 00 00 90 01 //ID=0x84,连接建立事件,连接间隔=100ms
返回:04 FC 89 09 00 00 55 03 38 C1 A4 67 00 //ID=0x89,MTU更新事件,MTU=103
返回:04 FC 89 09 00 00 55 03 38 C1 A4 67 00
返回:04 FC 86 0D 00 00 55 03 38 C1 A4 50 00 00 00 90 01 //ID=0x86,连接参数更新事件
返回:04 FC 8A 07 00 00 55 03 38 C1 A4 //ID=0x8A,服务发现完成事件
连接建立成功后,EL08模组串口会自动上报相关事件:
返回:AA 67 05 11 16 70 06 7F 50 1F 38 C1 A4
//事件ID=0x701,代表有主机连接,主机MAC地址=7F 50 1F 38 C1 A4
返回:AA FA D1 11 46 70 01 6B
//事件ID=0x704,实时MTU更新,MTU=0x6B=107bytes
返回:AA 09 30 11 66 70 06 50 00 00 00 90 01
//事件ID=0x706,连接参数更新,Interval=100ms,Latency=0,Timeout=4s
4.4 E55主机使能notify
E55主机需使能从机FE62接收通道,允许从机通过该通道主动上报数据。
发送:01 FC 15 08 00 55 03 38 C1 A4 62 FE
返回:04 FC 15 01 00
4.5 E55主机给EL08从机发数据
写特征值(UUID),从机MAC地址=00 55 03 38 C1 A4,要写的特征值通道的UUID=FE 61,无需确认即可执行下一次写操作,发送数据11 22 33。
发送:01 FC 13 0D 00 55 03 38 C1 A4 61 FE 01 03 11 22 33
返回:04 FC 13 01 00
EL08从机收到E55主机发来的数据11 22 33:
返回:AA D7 25 11 36 70 05 61 FE 11 22 33
// 事件ID=703,代表收到数据112233,接收通道特征值uuid=FE 61
4.6 EL08从机给E55主机发数据
指令ID=0x00A,代表EL08从机发送数据给主机,特征值uuid=FE 62,数据值为31 32 33 34 35。
发送:AA DF 01 11 A0 00 07 62 FE 31 32 33 34 35
返回:AA F8 01 11 A1 00 01 00
E55主机收到EL08从机发来的数据31 32 33 34 35:
返回:04 FC 8C 10 00 00 55 03 38 C1 A4 01 62 FE 05 31 32 33 34 35
4.7 E55主机断开连接
发送:01 FC 03 06 00 55 03 38 C1 A4
返回:04 FC 03 01 00
返回:04 FC 85 08 00 00 55 03 38 C1 A4 16
//ID=0x85,连接断开,断开原因本机主动断开连接
EL08从机收到连接断开事件:
返回:AA E5 55 11 26 70 01 00
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|