You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Arduino Uno R3+ESP8266的WiFi.status()返回1的含义及解决方法

WiFi.status()返回值1的含义

ESP8266 Arduino核心的WiFi库中,状态码1对应常量WL_NO_SSID_AVAIL,含义是当前设备扫描范围内找不到你代码中指定SSID的WiFi网络。

对应解决方法

1. 修正代码逻辑错误

你当前的代码存在逻辑缺陷,会直接导致连接失败:
你把WiFi.mode(WIFI_STA)、WiFi.begin()这类初始化连接的代码放在了loop()函数中,每5秒就会重置一次WiFi模式、中断正在进行的连接进程,导致永远无法完成正常连接。
修正后的参考代码如下:

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>

// WiFi CREDENTIALS
const char *ssid = "xxxx";
const char *password = "xxxx";

void setup() {
  Serial.begin(115200);
  Serial.println();
  // WiFi模式设置仅需执行一次
  WiFi.mode(WIFI_STA);
  Serial.println("Connect to: ");
  Serial.println(ssid);
  // 首次连接逻辑放在setup中
  WiFi.begin(ssid, password);
  // 等待首次连接完成
  delay(15000);
}
    
void loop(){ 
  Serial.println();
  Serial.print("WiFi状态码:");
  Serial.println(WiFi.status());
  Serial.print("WL_CONNECTED对应值:");
  Serial.println(WL_CONNECTED);

  if (WiFi.status() == WL_CONNECTED) {
    Serial.println("From ESP Connected!");
    delay(5000);
  } else {
    Serial.println("From ESP Not Connected! 尝试重连中...");
    WiFi.begin(ssid, password);
    delay(15000);
  }
}

2. 排查目标WiFi网络限制

你测试手机热点可正常连接,说明硬件、代码基础逻辑没有问题,可从以下维度排查原WiFi的问题:

  • 确认代码中填写的SSID完全正确,区分大小写,没有多余空格或特殊字符错误
  • 确认目标WiFi是2.4G频段,ESP8266不支持5G WiFi频段
  • 确认路由器没有开启SSID隐藏、MAC地址过滤、AP隔离等限制陌生设备接入的规则
  • 确认路由器接入的设备数量没有达到上限,可先断开几个不用的设备再尝试连接

内容的提问来源于stack exchange,提问作者felixbmmm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 01:06:03