ESP32C3 BLE参数设置问题
-
- Posts: 2
- Joined: Sun Aug 06, 2023 3:28 pm
ESP32C3 BLE参数设置问题
关于EPS32-C3的BLE设置。连接间隙min100,max300,latency4,timeout600。但设置后出现了一些情况。我在client端设的,连接server后10秒左右会自动切换到原始设置,就是min16,max32,latency0,timeout400,在server端做了一下改动才不会自己变,client端我没找到相应的设置,这个可以在client端设一下,参数别自己调整吗?另外还有一个问题,就是设置了新的BLE参数后,server的verify要发好久,ciient端才会回复,大概20s左右。而且看cilent端的打印,这20s就没看到server package信息,是设置了BLE的那几个参数后,还有一些参数需要修改嘛?
-
- Posts: 2
- Joined: Sun Aug 06, 2023 3:28 pm
Re: ESP32C3 BLE参数设置问题
设置和实际连接时的打印,连接间隙设置成min100max300后,实际上变成了min0max0,为啥会这样?
-
- Posts: 41
- Joined: Thu May 04, 2023 3:49 am
Re: ESP32C3 BLE参数设置问题
根据BLE spec,Min connection interval,Max connection interval,Slave latency,Supervision timeout需要满足一定条件,不是所有的值都可以使用。
你所提供的参数min100,max300,latency4,timeout600是10进制还是16进制的?需要算一下该参数是否符合要求。
连接参数最终由central(连接发起者)决定,其中interval会取Max connection interval的最大值。
可以通过以下两种方式更新连接参数:
在发起连接时,可以使用“esp_ble_gap_set_prefer_conn_params”来设置连接参数。
Central也可以在连接后使用“esp_ble_gap_update_conn_params”来更新连接参数。请注意,连接参数必须符合BLE spec的要求。
下面是 BLE spec 对连接参数要求的说明:
The Supervision_Timeout in milliseconds shall be larger than (1 + Max_Latency) × Subrate_Factor × Connection_Interval_Max × 2
你所提供的参数min100,max300,latency4,timeout600是10进制还是16进制的?需要算一下该参数是否符合要求。
连接参数最终由central(连接发起者)决定,其中interval会取Max connection interval的最大值。
可以通过以下两种方式更新连接参数:
在发起连接时,可以使用“esp_ble_gap_set_prefer_conn_params”来设置连接参数。
Central也可以在连接后使用“esp_ble_gap_update_conn_params”来更新连接参数。请注意,连接参数必须符合BLE spec的要求。
下面是 BLE spec 对连接参数要求的说明:
The Supervision_Timeout in milliseconds shall be larger than (1 + Max_Latency) × Subrate_Factor × Connection_Interval_Max × 2
-
- Posts: 41
- Joined: Thu May 04, 2023 3:49 am
Re: ESP32C3 BLE参数设置问题
如果你还有疑问的话,可以提供一些日志来进一步分析。
Who is online
Users browsing this forum: No registered users and 197 guests