ESP8266 (Adafruit Huzzah) 立即断开与 WiFi 的连接,STA 断开连接:203

问题描述 投票:0回答:1

我在窗外有一个专为“传感器社区”倡议制作的 PM 传感器,连接到 ESP8266,该传感器连接到中继器,用于中继我的家庭网络。昨天早上我注意到它突然不再发布这些值了。

今天我重新刷新了开发板,这是一个带有 ESP8266 的 Adafruit Huzzah,使用 ESP82666 库中的基本示例 WiFiClientBasic 打开 WiFi 的串行调试。

    void setup() {
        Serial.begin(115200);
        // We start by connecting to a WiFi network
        WiFi.mode(WIFI_STA);
        WiFiMulti.addAP(ssid, password);
        Serial.println();
        Serial.println();
        Serial.print("Wait for WiFi... ");
        while (WiFiMulti.run() != WL_CONNECTED) {
            Serial.print(".");
            delay(500);
        }
        Serial.println("");
        Serial.println("WiFi connected");
        Serial.println("IP address: ");
        Serial.println(WiFi.localIP());
        delay(500);
    }

调试不断产生此错误:

[WIFI]连接BSSID:SSID:频道:6(-39)
扫描完成
状态:0 -> 2 (b0)
状态:2 -> 3 (0)
状态:3 -> 0 (12)
无线网络事件:1
STA 断开连接:203
重新连接
扫描完成
状态:0 -> 2 (b0)
状态:2 -> 3 (0)
状态:3 -> 0 (12)
无线网络事件:1
STA 断开连接:203
重新连接

另一块具有相同配置的 ESP8266 板(LOLIN Wemos)拒绝连接。连接到同一网络的其他设备(我的 2 台笔记本电脑、一台 Android 平板电脑、一台 Raspberry Pi)没有任何问题。

中继器运行 DHCP,将 IP 释放给其他设备没有问题。在开发板和/或中继器上为 ESP8266 分配静态 IP 没有任何效果。

我不是网络专家,但这些是中继器(相当旧的Digicom REW300)的主要配置。

WLAN 状态基础设施客户端 ---(已连接)
信号强度 54%
通道频段 2.4GHz (G+N) 通道 6
速率 13Mbps (MCS1)
加密 WPA2-PSK
中继器状态
WLAN 状态 AP ---(已启用)
自动评分
加密 WPA2-PSK

我还看了中继器上的日志:

3 月 19 日 16:01:12 DIGICOM-REW300-Z01 user.warn 内核:wlan0-vxd:无线客户端已取消验证 - “ESP8266 的 MAC 地址”
3 月 19 日 16:01:13 DIGICOM-REW300-Z01 user.warn 内核:wlan0-vxd:无线客户端已取消身份验证 - “ESP8266 的 MAC 地址”
3 月 19 日 16:01:15 DIGICOM-REW300-Z01 user.warn 内核:wlan0-vxd:无线客户端已取消身份验证 - “ESP8266 的 MAC 地址”

我最近没有更改中继器的设置,但是昨天早上 ISP 用更新的路由器更改了主路由器。我认为这可能是问题所在,但无论如何,ESP8266 并不是直接连接到它(距离太远),而是连接到根本没有改变的中继器。而且:如果我把ESP8266放在里面,它可以毫无问题地连接到主路由器。似乎是新路由器和旧中继器的组合导致了该问题,并且仅适用于 ESP8266。与旧路由器唯一不同的是,新路由器只有G+N频段,而旧路由器有B+G+N,我认为无论如何都不重要,因为它可以直接连接,并且旧的中继器是B+G+N。

Espressif 的官方文档说错误 203 是 ASSOC_FAIL,这是一个相当通用的错误。

我做了进一步的测试:如果中继器与我的手机相连,则 ESP8266 会连接。 所以:

ESP8266 到中继器到 WAN(损坏)
ESP8266 到 WAN(OK)
ESP8266 到中继器到手机到 WAN(OK)

esp8266 esp8266wifi
1个回答
0
投票

也许添加这些行可以帮助...

WiFi.setAutoReconnect(true);
WiFi.persistent(true);

这里是重新连接和状态连接的示例

© www.soinside.com 2019 - 2024. All rights reserved.