2017-02-17 42 views
0

我一直在尝试使用针对Arduino的ESP8266WiFi库设置一个与Web服务器结合的访问点。我正在使用安装了NodeMCU固件的ESP8266 Huzzah模块(最新的主设备)。WebServer + AP不工作? WebServer + STA确实

使用softAP建立一个AP可以正常工作,我也可以向其声明一个PSK并选择使用哪个通道(我选择了流量最小的通道,在本例中为ch 11)。问题是当试图从连接的设备访问Web服务器时,它总是以超时异常结束。 ESP的IP在这种情况下是192.168.4.1,端口是80.

我试着在STA模式下将ESP连接到另一个AP(家庭路由器),并且我能够通过给定的方式成功连接到ESP IP地址。

要总括起来:

  • ESP8266WebServer + WIFI_AP(站)=>不行!
  • ESP8266WebServer + WIFI_STA(Client)=> Works!

这是我如何设置网络服务器起来,连同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", "", 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(); 

有没有人否则之前做过这件事,并有它的工作?我究竟在这里做错了什么?

回答

0

好了,看来我想通了部分...

一直以来,我是用我的智能手机连接到ESP AP,并试图访问Web服务器。我尝试从我的电脑连接,并在这个世界上所有的愚蠢,它的作品。

为什么我无法通过手机连接对我来说是个谜,也许有人可以告诉我这里发生了什么......

+1

你使用什么手机? Android手机(或至少我所有的Nexus设备)会在连接时提示一次,说没有网络连接,并询问您是否要保持连接。如果您未确认要保持连接状态,则无法访问ESP。 –

+0

OnePlus二,是的,我注意到你描述的是真实的。 –