nordic蓝牙连接流程有哪些,连接过程有那些数据在交互?分别从主从机角度给出一个详细的交互数据流
时间: 2024-04-03 10:36:22 浏览: 146
Android 蓝牙A2DP 初始化init,协议连接,andio连接,非常详细的从btif-bta-btm-hci 数据流程走
5星 · 资源好评率100%
Nordic蓝牙连接流程可以分为三个阶段:广播、连接请求和连接确认。在这三个阶段中,数据的交互包括广播数据、连接请求数据、连接响应数据、连接更新数据和连接终止数据。
下面分别从主机和从机的角度给出一个详细的交互数据流:
1. 主机(Central)角度
1.1 广播阶段
- 主机向周围的设备发送 SCAN_REQ 命令,以请求设备发送广播数据。
- 从机收到 SCAN_REQ 命令后,发送广播数据包 ADV_IND,包括设备名称、服务 UUID 和设备地址等信息。
1.2 连接请求阶段
- 主机向指定的从机发送 CONNECT_REQ 命令,包括主机的设备地址和连接参数(例如连接间隔和超时时间)等信息。
- 从机收到 CONNECT_REQ 命令后,发送连接响应包 CONNECT_RESP,包括从机的设备地址、连接参数和设备的随机数等信息。
1.3 连接确认阶段
- 主机收到 CONNECT_RESP 包后,发送连接确认命令 LL_CONNECTION_UPDATE_REQ,包括主机的随机数、连接参数和设备的加密信息等信息。
- 从机收到 LL_CONNECTION_UPDATE_REQ 命令后,发送连接确认包 LL_CONNECTION_UPDATE_RSP,包括从机的随机数、连接参数和设备的加密信息等信息。
1.4 连接更新阶段
- 主机和从机交替发送 LL_CONNECTION_UPDATE_REQ 和 LL_CONNECTION_UPDATE_RSP 命令,协商新的连接参数,例如连接间隔和超时时间等。
1.5 连接终止阶段
- 主机或从机可以向对方发送连接终止包 LL_TERMINATE_IND,以关闭连接。连接终止包包括连接终止原因和设备的加密信息等信息。
2. 从机(Peripheral)角度
2.1 广播阶段
- 从机发送 ADV_IND 广播数据包,包括设备名称、服务 UUID 和设备地址等信息。
- 主机通过 SCAN_REQ 命令请求从机发送广播数据。
2.2 连接请求阶段
- 主机向从机发送 CONNECT_REQ 命令,包括主机的设备地址和连接参数(例如连接间隔和超时时间)等信息。
- 从机收到 CONNECT_REQ 命令后,发送连接响应包 CONNECT_RESP,包括从机的设备地址、连接参数和设备的随机数等信息。
2.3 连接确认阶段
- 主机收到 CONNECT_RESP 包后,发送连接确认命令 LL_CONNECTION_UPDATE_REQ,包括主机的随机数、连接参数和设备的加密信息等信息。
- 从机收到 LL_CONNECTION_UPDATE_REQ 命令后,发送连接确认包 LL_CONNECTION_UPDATE_RSP,包括从机的随机数、连接参数和设备的加密信息等信息。
2.4 连接更新阶段
- 主机和从机交替发送 LL_CONNECTION_UPDATE_REQ 和 LL_CONNECTION_UPDATE_RSP 命令,协商新的连接参数,例如连接间隔和超时时间等。
2.5 连接终止阶段
- 主机或从机可以向对方发送连接终止包 LL_TERMINATE_IND,以关闭连接。连接终止包包括连接终止原因和设备的加密信息等信息。
以上就是Nordic蓝牙连接流程中的数据交互流程,分别从主机和从机的角度给出了详细的交互数据流。
阅读全文