在 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 String 类运算符(速记)
最佳答案
当您使用 WiFi.begin 而不是仅仅设置它时,ESP8266 似乎是 OR 模式参数,并且还会记住它之前处于什么模式(例如,通过重启)。调用 WiFi.disconnect();
然后调用 WiFi.softAPdisconnect(true);
应该明确告诉 ESP 禁用所有当前正在运行的 WiFi 操作 - 无论是基础设施模式还是 AP模式 - 然后你可以定义它应该是什么模式。
关于无法设置esp8266 arduino的Station only模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36977881/