查看: 944|回复: 1

[应用笔记] E55 EVK快速上手指南

[复制链接]

108

主题

163

帖子

618

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
618
发表于 2022-5-16 10:48:21 | 显示全部楼层 |阅读模式
一.背景
为了方便描述,本文中的主、从机都使用E55主从一体开发板、搭配sscom串口调试助手,其中E55模块型号L-BTMEB55-G0SP4。
本文主要描述客户使用E55主从一体模块时,最常用的一些功能及相关指令介绍。
如果客户想了解开发板操作使用,请参考文章AN-5117 主、从机间透传通信之小白上手指南
如果客户想了解具体主从机间通信流程?请参考文章AN-5102 主从机完整通信流程介绍、通信参数配置建议
二. 作为从机角色

1.读取一些模块固有参数

1.1 读取MAC地址
发→◇01 FC F0 01 00
收←◆04 FC F0 08 00 00 05 80 E3 38 C1 A4        //从机MAC地址是05 80 E3 38 C1 A4。

1.2 读取固件版本
发→◇01 FC F0 01 03
收←◆04 FC F0 07 00 03 52 65 76 30 31       //固件版本是Rev01。

1.3 读取源码版本
发→◇01 FC F0 01 02
收←◆04 FC F0 0D 00 02 76 31 2E 31 2E 32 32 30 34 31 35   //源码版本是v1.1.220415。

1.4 设置设备名称
发→◇01 FC 38 07 00 6C 69 65 72 64 61        //设置设备名称是lierda
收←◆04 FC 38 01 00

2.设置广播参数

2.1 设置广播间隔是1s
发→◇01 FC 32 04 01 01 40 06      //1s=1000ms=1000000us,1000000us÷625us=1600=0x640,注意指令中每个≥ 2 字节的独立数据单元, 都应以低字节序传输,所以要填0x40 06。
收←◆04 FC 32 01 00

2.2 设置广播数据
发→◇01 FC 32 11 05 01 0E    02 01 06     03 03 60 FE     06 FF 73 6C 61 76 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00          // 02 01 06字段,是协议规定每个广播包必须包含的;03 03 60 FE字段,是利尔达从机固定广播字节,03代表是服务类型,60FE代表服务的UUID值是FE60。在原先基础上,新增1个厂商自定义类型数据,有效长度len是6,数据类型type是0xFF,代表厂商自定义数据类型;具体广播数据值vale是0x73 6C 61 76 65,字面意思是slave。

[16:12:57.879]收←◆04 FC 32 01 00
3.设置连接参数
发→◇01 FC 36 09 03   08 00   08 00   00 00   B0 04         //设置初始最小、最大连接间隔是10ms,初始从机潜伏是0次,初始连接丢失监测超时时间是12s。
收←◆04 FC 36 01 00

4.设置配对密码
发→◇01 FC 3C 08 00 01    31 32 33 34 35 36             //设置配对密码是123456
收←◆04 FC 3C 01 00

至此,从机参数已配置完毕,下一步等待被主机连接,主从机间进行相互通信。

5.更新连接参数(待连接建立后,主机、从机都可发起更新连接参数,将连接参数更新成目标值)
发→◇01 FC 04 0E    5D 0E 74 38 C1 A4     08 00   50 00   00 00    90 01     // 注意MAC地址要填主机的MAC地址(如何获取主机MAC地址?连接建立后,上报的0x84连接建立事件中会上报对方主机的MAC地址),最小连接间隔设置成10ms,最大连接间隔设置成100ms,其他不变。
收←◆04 FC 04 01 00
收←◆04 FC 86 0D 00 5D 0E 74 38 C1 A4 50 00 00 00 90 01        //0x86连接更新事件上报,00代表连接参数更新成功,对方设备地址是5D 0E 74 38 C1 A4,连接间隔是100ms,从机潜伏次数是0次,连接丢失监测超时是4s.

6. 更新MTU(被E55主机连接,不需要从机更新MTU,因为主机默认连接建立成功会更新一次MTU)
发→◇01 FC 10 07 5D 0E 74 38 C1 A4        //更新MTU是103bytes,此处MAC地址要填主机的。
收←◆04 FC 10 01 00

7.写特征值(UUID)
从机给主机写数据:
发→◇01 FC 13 0D 5D 0E 74 38 C1 A4 62 FE 00 03 77 88 99             ////从机通过0xFE62上行通道给主机写数据778899,注意MAC地址要填主机的,UUID要填从机的notify通道UUID值,选择无需确认就能执行下一次操作。
收←◆04 FC 13 01 00

主机收到从机发来的数据:
收←◆04 FC 8C 0E 00 05 80 E3 38 C1 A4 01 62 FE 03 77 88 99    //主机收到0x8C事件,对方从机MAC地址是05 80 E3 38 C1 A4,收到的数据类型是notify,UUID是FE62,数据长度是3bytes,内容是778899。

8.断开连接
发→◇01 FC 03 06 5D 0E 74 38 C1 A4                //注意此处MAC地址要填对方主机的。
收←◆04 FC 03 01 00
04 FC 85 08 00 5D 0E 74 38 C1 A4  13    //0x85连接断开事件上报,0x13代表断开原因是对方主机主动断开连接。

三. 作为主机角色

1.读取一些模块固有参数

1.1读取MAC地址
发→◇01 FC F0 01 00
收←◆04 FC F0 08 00 00 5D 0E 74 38 C1 A4        //主机MAC地址是5D 0E 74 38 C1 A4

1.2读取固件版本
发→◇01 FC F0 01 03 □
收←◆04 FC F0 07 00 03 52 65 76 30 31      //固件版本是Rev01。

1.3 读取源码版本
发→◇01 FC F0 01 02
收←◆04 FC F0 0D 00 02 76 31 2E 31 2E 32 32 30 34 31 35           //源码版本是v1.1.220415。

2. 设置扫描参数

2.1设置扫描间隔
发→◇01 FC 34 04 01 A0 00     5A    //设置扫描间隔是100ms,扫描占空比是90%。
收←◆04 FC 34 01 00

2.2设置扫描模式
发→◇01 FC 34 02 02 01       //设置扫描模式为主动扫描。
收←◆04 FC 34 01 00

2.3 设置扫描RSSI阈值
发→◇01 FC 34 02 05 BC       //设置扫描阈值是-60dBm。
收←◆04 FC 34 01 00  

2.4 设置是否允许重复上报
发→◇01 FC 34 02 08 00        //设置一次扫描任务中不允许重复上报,即多次主机多次收到某个从机广播包,那么只在第一次收到时上报应用层,之后再收到广播包时不上报。
收←◆04 FC 34 01 00

2.5 设置扫描任务执行方式
发→◇01 FC 34 02 09 01          //设置为连续扫描。
收←◆04 FC 34 01 00

2.6 设置过滤广播要查找的字节数
发→◇01 FC 34 21 0A 0E   02 01 06 03 03 60 FE 06 FF 73 6C 61 76 65   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00           //收到的广播包中要过滤的字节数是14bytes,过滤内容是02 01 06 03 03 60 FE 06 FF 73 6C 61 76 65
收←◆04 FC 34 01 00

3. 设置连接参数
发→◇01 FC 36 0F 00 A0 00 5A 01 C8 00 08 00 08 00 00 00 B0 04         //设置扫描间隔是100ms,扫描占空比是90%,扫描时使用的PHY是PHY_1MBPS,连接失败监测超时是20s(代表当应用层已知晓从机MAC地址,不扫描,MCU直接给模块发0x02发起连接指令,如果模块20s内未跟从机成功建立连接,那么判定本次连接失败),设置初始最小、最大连接间隔是10ms,初始从机潜伏是0次,初始连接丢失监测超时时间是12s(代表连接建立后,主机12s内未收到从机的数据包,那么判定连接已断开)。
收←◆04 FC 36 01 00

至此,主机参数已配置完毕,下一步开始扫描周围从机,当扫描到想要的从机时,对其发起连接,待连接建立成功,相互收发数据。数据收发完毕,主机断开连接。

4.开始扫描
发→◇01 FC 01 01 01            //开始扫描
收←◆04 FC 01 01 00
收←◆04 FC 82 19 00 00 00 05 80 E3 38 C1 A4 D5 0E 02 01 06 03 03 60 FE 06 FF 73 6C 61 76 65            //0x82收到广播事件上报,经过广播数据过滤,只有广播数据=0x02 01 06 03 03 60 FE 06 FF 73 6C 61 76 65的广播包被上报给应用层。

5.发起连接
发→◇01 FC 02 07 00 05 80 E3 38 C1 A4            //发起连接
收←◆04 FC 02 01 00
收←◆04 FC 84 0E 00 05 80 E3 38 C1 A4 01 08 00 00 00 B0 04            //0x84连接建立事件上报,对方从机设备地址是05 80 E3 38 C1 A4 ,本机角色是主机,连接间隔是10ms,从机潜伏次数是0次,连接丢失监测超时是12s.
04 FC 89 09 00 05 80 E3 38 C1 A4 67 00           //0x89 MTU更新事件上报,对方从机MAC地址是05 80 E3 38 C1 A4,MTU最大传输单元值是103bytes,即每次数据传输量应≤100bytes。(E55作为主机角色时,建立连接后会自动更新MTU至最大103bytes,无需应用层发指令更新)
收←◆04 FC 8E 03 00 80 00        //0x8E配对请求事件上报。

6.输入从机配对密码
发→◇01 FC 3C 08 01 01 31 32 33 34 35 36           //输入从机配对密码是123456
收←◆04 FC 3C 01 00
收←◆04 FC 8F 08 00 00 05 80 E3 38 C1 A4      //0x8F配对状态上报事件,00代表配对成功。
收←◆04 FC 8A 07 00 05 80 E3 38 C1 A4          //0x8A服务发现完成事件上报,00代表服务发现成功。

7. 更新连接间隔
发→◇01 FC 04 0E 05 80 E3 38 C1 A4 08 00 50 00 00 00 90 01            //注意MAC地址要填从机的MAC地址,最小连接间隔设置成10ms,最大连接间隔设置成100ms,其他不变。
收←◆04 FC 04 01 00
收←◆04 FC 86 0D 00 05 80 E3 38 C1 A4 40 00 00 00 90 01    //0x86连接更新事件上报,00代表连接参数更新成功,对方从机MAC地址是05 80 E3 38 C1 A4,连接间隔是100ms,从机潜伏次数是0次,连接丢失监测超时是4s.

8.使能notify
发→◇01 FC 15 08 05 80 E3 38 C1 A4    62 FE              //使能notify,注意这里要填对方从机的MAC地址,UUID填对方从机的notify通道对应的UUID值。
收←◆04 FC 15 01 00

9.写特征值(UUID)
主机给从机写数据:
发→◇01 FC 13 10   05 80 E3 38 C1 A4   61 FE 00 06 11 22 33 44 55 66           //主机通过0xFE61下行通道给从机写数据,注意MAC地址要填从机的,UUID要填从机的write 通道UUID值,选择无需确认就能执行下一次操作。
[14:18:33.814]收←◆04 FC 13 01 00
从机收到主机发过来的数据:
收←◆04 FC 8C 11 00 5D 0E 74 38 C1 A4 00 61 FE 06 11 22 33 44 55 66    //从机收到0x8C事件,对方主机MAC地址是5D 0E 74 38 C1 A4,收到的数据类型是write,UUID是FE61,数据长度是6bytes,内容是112233445566。

10.断开连接
发→◇01 FC 03 06 05 80 E3 38 C1 A4  □            //断开连接,注意MAC地址要填对方从机的。
收←◆04 FC 03 01 00

04 FC 85 08 00 05 80 E3 38 C1 A4  13         //0x85连接断开事件上报,0x13代表断开原因是对方从机主动断开连接。

四. 参考文档

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

2

帖子

10

积分

助理工程师

Rank: 1

积分
10
发表于 2022-7-2 10:46:33 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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