查看: 281|回复: 0

[应用笔记] EL08透传从机模组应用指导

[复制链接]

108

主题

163

帖子

618

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
618
发表于 2023-7-10 09:52:50 | 显示全部楼层 |阅读模式
  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
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表