乐鑫技术交流
直播中

徐磊

7年用户 918经验值
私信 关注
[问答]

请问模组ESP32-WROOM-32U或模组ESP32-WROOM-32UE能否自动从AP1切换到AP2?

1、请问模组ESP32-WROOM-32U或模组ESP32-WROOM-32UE能否自动从AP1切换到AP2?即当发现AP2的信号比AP1的信号好时,模组自动连接到AP2。(AP支持802.11r协议)
2、模组ESP32-WROOM-32U或模组ESP32-WROOM-32UE在TCP连接状态下有没有办法获得802.11帧?是通过esp_err_t esp_wifi_set_csi_rx_cb注册的CALLBACK函数还是通过esp_err_t esp_wifi_set_promiscuous_rx_cb注册的CALLBACK函数获得802.11帧的内容?还是通过其它方式获得。我主要想通过这个功能获得网络中由AP发送的带有RSSI、SSID和MAC的广播帧。这样方便我在不同的AP中切换。
3、EPS32在获得802.11帧时TCP收发是否会停止?
4、正常情况下,连接AP这个过程,从发送连接指令到连接完成需要多长时间?
                     

回帖(1)

旧念

2024-6-22 15:31:29
1. ESP32-WROOM-32U 和 ESP32-WROOM-32UE 模组本身并不支持自动从 AP1 切换到 AP2。但是,您可以使用 ESP-IDF(Espressif IoT Development Framework)提供的 API 来实现这个功能。您可以在连接到 AP1 后,定期检查 AP2 的信号强度,并在信号强度高于 AP1 时,手动断开与 AP1 的连接并连接到 AP2。

2. 在 TCP 连接状态下,您可以通过以下两种方式获取 802.11 帧:

   a) 使用 esp_wifi_set_csi_rx_cb() 注册的 CALLBACK 函数:这个函数可以让您接收到 CSI(Channel State Information)数据,但这些数据主要用于评估信道质量,而不是直接获取 802.11 帧。

   b) 使用 esp_wifi_set_promiscuous_rx_cb() 注册的 CALLBACK 函数:这个函数可以让您接收到所有经过 ESP32 的 802.11 帧,包括广播帧。您可以在这个回调函数中解析这些帧,提取 RSSI、SSID 和 MAC 等信息。

3. 您提到的 EPS32 可能是一个拼写错误。如果您指的是 ESP32,那么请参考上述关于 ESP32-WROOM-32U 和 ESP32-WROOM-32UE 的答案。

总之,ESP32-WROOM-32U 和 ESP32-WROOM-32UE 模组本身不支持自动切换 AP,但您可以使用 ESP-IDF 提供的 API 实现这个功能。在 TCP 连接状态下,您可以使用 esp_wifi_set_promiscuous_rx_cb() 注册的 CALLBACK 函数来获取 802.11 帧,从而实现在不同 AP 之间的切换。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分