无法设置esp8266 arduino的仅限站模式

时间:2016-05-02 08:10:46

标签: c arduino esp8266

WIFI_AP模式下一切顺利,但在WIFI_STA模式下,它仍处于WIFI_STA_AP模式。

如何仅在没有软件访问点的情况下将WiFi设置为工作站。

  if(wmode == "AP") {
     Serial.println("Starting in AP mode");
     WiFi.mode(WIFI_AP);
     WiFi.softAP(ssid, pwd);
     WiFi.softAPConfig(charToIPAddress(ip), charToIPAddress(gateway), mask); 
  } else if (wmode == "STA") {
     Serial.println("Starting in STA mode");
     WiFi.mode(WIFI_STA);
     WiFi.begin(ssid, pwd);
     WiFi.config(charToIPAddress(ip), charToIPAddress(gateway), mask);
  }

编辑:这不是关于wmode,这段代码的if语句工作正常,re:arduino字符串类操作符(简写)

1 个答案:

答案 0 :(得分:4)

当您使用WiFi.begin而不仅仅是设置它时,ESP8266似乎是OR模式参数,并且还记住之前的模式(例如,通过重新启动)。调用WiFi.disconnect();后跟WiFi.softAPdisconnect(true);应明确告诉ESP禁用当前正在运行的所有WiFi操作 - 无论是基础架构模式还是AP模式 - 然后您可以定义它应该是什么模式。