乐鑫技术交流
直播中

jackhui

13年用户 1166经验值
私信 关注
[问答]

ESP8266即使在CWAUTOCONN=0时也能自动连接到网络,为什么?

我在工业产品中使用 ESP 8266 wifi 模块进行车间数据收集。
车间里大约有 200 台设备,包括 ESP8266。
有时,某些设备的 wifi 连接到接入点会丢失。
我尝试通过每 30 秒定期调用 AT CIPSTATUS 来检测连接丢失。
If a connection loss is detected i issue the at command ATCWJAP_CUR="ssid,"password" command to reconnect.
但是,我看到 ESP 模块正在尝试自动重新连接,而无需等待我的 AT CWJAP_CUR 命令。
下面是一个终端输出窗口,显示了上述情况。请注意,有两个 AP 具有相同的 ssid 和相同的密码。
AT

OK
在GMR
AT版本:1.4.0.0(May 5, 2017 16:10:59)
SDK版本:2.1.0(116b762)
编译时间:May 5, 2017 16:37:48
OK
WIFI 断开连接
在 cwmode_def=1 时

OK
AT CWAUTOCONN=0 //AUTOCON 为 0

OK

AT+CWJAP_CUR="efatech","efatech1435"    //Connected to AP
WIFI连接
WIFI有IP

OK
WIFI 断开连接 //AP 已从其 web 界面关闭,ESP 已断开连接


OK
WIFI 断开连接 //AP 从 web 界面和 ESP 自动连接到它。
WIFI连接
WIFI有IP


如上所述,即使 AP 再次打开,ESP 也会自动重新连接,即使 ATOCONN 为 0。
但我不希望有这种行为。有人可以评论自动重新连接的原因吗?我怎么能诊断它。?

回帖(1)

陈杰

2024-7-15 16:56:44
首先,我们来分析一下问题。在这种情况下,ESP8266在CWAUTOCONN=0的情况下仍然自动连接到网络。这可能是由于以下原因:

1. ESP8266模块的固件版本可能存在问题。在某些情况下,固件可能存在bug,导致自动重连功能不正常。

2. ESP8266模块可能在接收到信号较弱的WiFi网络时,自动尝试连接到其他信号较强的网络。

3. 模块可能在检测到连接丢失后,尝试自动重连,而不是等待AT CWJAP_CUR命令。

为了解决这个问题,我们可以尝试以下步骤:

1. 检查ESP8266模块的固件版本,确保使用的是最新版本。如果需要,可以更新固件。

2. 在AT+CWAUTOCONN命令中设置CWAUTOCONN=0,以禁用自动重连功能。这将确保模块在连接丢失时不会自动尝试连接到其他网络。

3. 在您的代码中,定期检查WiFi连接状态。如果检测到连接丢失,立即发送AT+CWJAP_CUR命令以重新连接到指定的SSID和密码。

4. 为了避免模块在连接到错误的AP,确保您的网络配置正确,包括SSID和密码。同时,检查车间内的其他设备是否使用了相同的SSID和密码,以避免干扰。

5. 如果问题仍然存在,可以尝试使用其他品牌的WiFi模块,以排除硬件问题。

通过以上步骤,您应该能够解决ESP8266在CWAUTOCONN=0时仍然自动连接到网络的问题。同时,确保您的车间设备之间的网络连接稳定,以避免数据收集过程中的中断。
举报

更多回帖

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