我一直试图使用Arduino的ESP8266WiFi库来设置一个与web服务器相结合的访问点。我使用的是安装了ESP8266固件的NodeMCU Huzzah模块(最新的主机)。
使用softAP设置AP很好,我也可以向它断言PSK并选择使用哪个信道(我选择了流量最少的信道,在本例中是ch 11)。问题是,当试图从连接的设备访问web服务器时,总是会出现超时异常。ESP的IP在本例中为192.168.4.1,端口为80。
我已经尝试连接ESP到另一个AP (家庭路由器)在STA模式,我能够成功地连接到ESP通过给定的IP地址。
来总结这一切:
下面是我与AP一起设置web服务器的方式:
安装程序中的:
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
[...]
ESP8266WebServer server(80);
[...]
Serial.print("Setting soft-AP ... ");
WiFi.disconnect(true);
WiFi.mode(WIFI_AP);
delay(100);
boolean result = WiFi.softAP("TestAP", "0123456789", 11); // This does of course return true, and the access point shows up on my device
if(result == true)
{
Serial.println("Access Point Ready");
Serial.println(WiFi.softAPIP()); // Prints 192.168.4.1
}
else
{
Serial.println("Access Point Failed!");
}
[...]
server.on("/", [](){
server.send(200, "text/html", webPage);
delay(1000);
});
[...]
server.begin();
循环中的:
server.handleClient();
以前有没有其他人这么做过,让它成功了?我在这里到底做错了什么?
发布于 2017-02-17 09:25:55
好吧,看来我已经弄明白了.
一直以来,我都在用智能手机连接ESP AP,并试图访问web服务器。我试着用我的电脑连接,由于这个世界上所有的愚蠢,它起作用了。
为什么我不能通过电话联系对我来说是个谜,也许有人能告诉我这里发生了什么.
发布于 2019-09-19 19:08:48
基本上,在某些android设备上,会像评论中提到的那样,寻找保持连接的通知。
如果你不接受保持连接,你的手机仍然会显示为“连接到外互联网”,并且页面不会加载,一旦你接受了保持连接的通知,你就可以加载你的wemos页面了。
在基于android nvidia的平板电脑上,这并不是必需的,但在我的摩托罗拉智能手机上,直到我接受了那个盒子,它才能工作。
https://stackoverflow.com/questions/42293002
复制相似问题