Web Server + APP 不工作? Web 服务器 + STAT 做
WebServer + AP not working? WebServer + STA does
我一直在尝试使用适用于 Arduino 的 ESP8266WiFi 库来设置一个与网络服务器结合的接入点。我正在使用安装了 NodeMCU 固件的 ESP8266 Huzzah 模块(最新主控)。
使用 softAP 设置 AP 工作正常,我还可以向其声明 PSK 并选择要使用的频道(我选择了流量最少的频道,在本例中为 ch 11)。问题是当尝试从连接的设备访问 Web 服务器时,它总是以超时异常结束。 ESP 的 IP 在本例中为 192.168.4.1,端口为 80。
我已经尝试在 STA 模式下将 ESP 连接到另一个 AP(家庭路由器),并且我能够通过给定的 IP 地址成功连接到 ESP。
总结一下:
- ESP8266WebServer + WIFI_AP (Station) => 不工作!
- ESP8266WebServer + WIFI_STA(客户端)=> 有效!
这是我设置 Web 服务器以及 AP 的方式:
在设置中:
#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();
有没有其他人以前做过这个并且成功过?我到底做错了什么?
好吧,看来我想通了一部分...
一直以来,我都在使用我的智能phone连接到 ESP AP 并尝试访问网络服务器。我尝试从我的电脑连接,这个世界上所有的愚蠢,它有效。
为什么我无法通过 phone 连接对我来说是个谜,也许有人可以告诉我这是怎么回事...
基本上在某些 android 设备上寻找关于保持连接的通知,如评论中所述。
如果您不接受保持联系,您的 phone 仍将显示为 "connected with out internet" 并且页面不会加载,一旦您接受了关于保持联系的通知,您就可以加载您的 wemos页。
在基于 android nvidia 的平板电脑上这不是必需的,但在我的摩托罗拉智能 phone 上它不会工作,直到我接受那个盒子。
我一直在尝试使用适用于 Arduino 的 ESP8266WiFi 库来设置一个与网络服务器结合的接入点。我正在使用安装了 NodeMCU 固件的 ESP8266 Huzzah 模块(最新主控)。
使用 softAP 设置 AP 工作正常,我还可以向其声明 PSK 并选择要使用的频道(我选择了流量最少的频道,在本例中为 ch 11)。问题是当尝试从连接的设备访问 Web 服务器时,它总是以超时异常结束。 ESP 的 IP 在本例中为 192.168.4.1,端口为 80。
我已经尝试在 STA 模式下将 ESP 连接到另一个 AP(家庭路由器),并且我能够通过给定的 IP 地址成功连接到 ESP。
总结一下:
- ESP8266WebServer + WIFI_AP (Station) => 不工作!
- ESP8266WebServer + WIFI_STA(客户端)=> 有效!
这是我设置 Web 服务器以及 AP 的方式:
在设置中:
#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();
有没有其他人以前做过这个并且成功过?我到底做错了什么?
好吧,看来我想通了一部分...
一直以来,我都在使用我的智能phone连接到 ESP AP 并尝试访问网络服务器。我尝试从我的电脑连接,这个世界上所有的愚蠢,它有效。
为什么我无法通过 phone 连接对我来说是个谜,也许有人可以告诉我这是怎么回事...
基本上在某些 android 设备上寻找关于保持连接的通知,如评论中所述。
如果您不接受保持联系,您的 phone 仍将显示为 "connected with out internet" 并且页面不会加载,一旦您接受了关于保持联系的通知,您就可以加载您的 wemos页。
在基于 android nvidia 的平板电脑上这不是必需的,但在我的摩托罗拉智能 phone 上它不会工作,直到我接受那个盒子。