无法设置esp8266 arduino的Station only模式

Can't set Station only mode of esp8266 arduino

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 语句工作正常,回复:arduino 字符串 class 运算符 (shorthand)

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