gpt4 book ai didi

android - ESP8266 软 AP 与 android 棉花糖没有互联网访问问题

转载 作者:太空宇宙 更新时间:2023-11-03 11:01:49 38 4
gpt4 key购买 nike

我用 ESP8266 创建了一个软 AP,我通过 android 6.0 marshmallow mobile 连接到它。连接后,如果我忽略它并打开浏览器窗口打开我的网络服务器页面或使用自定义构建的应用程序与 ESP 网络服务器通信,ESP8266 不会处理任何请求,我会在移动设备上收到一条通知,说明“Wifi 无法访问互联网”。但是,在我单击该通知中的保持连接选项"is"后,一切正常。我试图避免用户进行任何手动操作,从而尝试以编程方式修复它。是否可以在没有互联网访问权限的情况下将 ESP 用作路由器 AP,并使用 Android 应用程序连接到它而无需手动处理此通知。

更新:如果我通过自定义构建的应用程序以编程方式连接到此 AP,则不会出现此通知,并且与 ESP 的所有通信仍被 android 阻止。

ESP代码:

  WiFiServer server(80);
WiFi.softAP("ssid", "password");
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
server.begin();
delay(500);
Serial.println("Server started");
Serial.println(WiFi.localIP());

最佳答案

Captive Portal 与 mDNS 结合使用。

这是 example,这里是其中的一些亮点:

const char *softAP_ssid = "ESP_ap";
const char *softAP_password = "12345678";

/* hostname for mDNS. Should work at least on windows. Try http://esp8266.local */
const char *myHostname = "esp8266";

// Web server
ESP8266WebServer server(80);

// DNS server
const byte DNS_PORT = 53;
DNSServer dnsServer;

/* Soft AP network parameters */
IPAddress apIP(192, 168, 4, 1);
IPAddress netMsk(255, 255, 255, 0);

void setup() {
/* Setup the DNS server redirecting all the domains to the apIP */
dnsServer.setErrorReplyCode(DNSReplyCode::NoError);
dnsServer.start(DNS_PORT, "*", apIP);

/* Setup web pages: root, wifi config pages, SO captive portal detectors and not found. */
server.on("/", handleRoot);
server.on("/generate_204", handleRoot); //Android captive portal. .
server.on("/fwlink", handleRoot); //Microsoft captive portal.
server.onNotFound ( handleNotFound );
}

关于android - ESP8266 软 AP 与 android 棉花糖没有互联网访问问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40596906/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com