ESP8266:Wifi连接,但没有互联网接入

时间:2017-11-11 09:24:34

标签: iot esp8266 arduino-esp8266

我正在尝试将我的ESP8266 NodeMCU连接到我的Mobile Hotspot Wifi

当我尝试使用笔记本电脑连接到ESP Wifi时,它说Wifi已连接,无法访问互联网。 这意味着,ESP正确获取Wifi_SSID和密码。

为什么ESP无法连接到互联网?

我使用Arduino IDE将代码上传到ESP8266。 我已将以下代码上传到ESP8266。

#include <FirebaseArduino.h>
    #include <ESP8266WiFi.h>
    // Set these to run example.
    #define WIFI_SSID "OnePlus3"
    #define WIFI_PASSWORD ""
    #define FIREBASE_DB_URL "https://my_db_url.firebaseio.com/"
    #define FIREBASE_DB_SECRET_KEY "fakezaSyDsdadasddwGClaAy8ltYgywwo6i_VzXgY"

void setup() {
  Serial.begin(115200);

  pinMode(D1, OUTPUT);
  pinMode(D2, OUTPUT);
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }

  Firebase.begin(FIREBASE_DB_URL, FIREBASE_DB_SECRET_KEY);
  Firebase.stream("/automation");  
}


void loop() {
  if (Firebase.failed()) {
    Serial.println("streaming error");
    Serial.println(Firebase.error());
  }

  if (Firebase.available()) {
     FirebaseObject event = Firebase.readEvent();
     String eventType = event.getString("type");
     eventType.toLowerCase();
     Serial.print(eventType);
     if (eventType == "put") {
      String path = event.getString("path");
      String data = event.getString("data");
      if (path.equals("/fan/value")) {
        if (data.equals("off")) {
          digitalWrite(D1, HIGH);
        } else {
          digitalWrite(D1, LOW);
        }
      } else if (path.equals("/light/value")) {
        if (data.equals("off")) {
          digitalWrite(D2, HIGH);
        } else {
          digitalWrite(D2, LOW);
        }
      } 
     }
  }   
}

1 个答案:

答案 0 :(得分:0)

排除 ESP8266 无法连接到 WiFi 的故障 无法连接到 WiFi 网络可能是由某些因素造成的。其中我强调:

1 - ESP8266 在初始化期间具有其 GPIO 初始状态的特殊性。由于目的是连接到互联网,我建议您只将 ESP8266 与电源和通信连接分开。如果您有 NodeMCU,则只能使用 USB 电缆。

2 - 错误填写路由器的访问数据会导致连接错误。请注意,您必须在代码中输入 WLAN SSID 和 WLAN PASS 信息,它们分别是您网络的名称和密码。值得记住的是,这些字符的捕获是区分大小写的。

3 - 如果您的路由器未连接到 Internet,那么您将通过本地 IP 的串行监视器获得反馈,但您将无法确认访问 Google 服务器。使用您的智能手机或计算机进行测试,并检查您的互联网连接是否一切正常。

4 - 这很困难,但我已经看到与互联网提供商不兼容。要解决,请在不同的网络上进行测试。我建议我们将您的智能手机用作 WiFi 路由器进行测试。您甚至可以快速轻松地检查连接的设备。

您可以在巴西葡萄牙语的此链接 (Eduardo Castro) 中了解更多信息: https://www.filipeflop.com/blog/como-conectar-o-esp8266-a-internet/