【问题标题】:Mobile phone's browser cannot load website hosted by ESP8266 when mobile network is connected连接移动网络时,手机浏览器无法加载 ESP8266 托管的网站
【发布时间】:2018-04-24 18:11:20
【问题描述】:

我正在使用ESP8266 web server。我正在创建一个 Wifi AP,并使用一个网络服务器来托管一个我想从我的手机浏览器访问的网站:

void wifi::access_point::begin() {
  WiFi.mode(WIFI_AP_STA);
  WiFi.softAPConfig(ap_ip, ap_gateway, ap_subnet);
  WiFi.softAP(ap_ssid, ap_password);
  server.on ( "/", [this]() {
    handle_root();
  });
  server.on( "/submit", [this]() {
    handle_submit();
  });
  server.begin();
  dns_server.start(dns_port, "my_wifi_config.com", ap_ip);
}

void wifi::access_point::handle_root() {
  char html[1000];
  snprintf (html, 1000,
        "<html>\
        <head>\
        <title>Wifi Configuration</title>\
        <style>\
        body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; font-size: 1.5em; Color: #000000; }\
        h1 { Color: #AA0000; }\
        </style>\
        </head>\
        <body>\
        <center>\
        <h1>Wifi Configuration</h1>\
        <form action='/submit' method='POST'>\
        <p> Wifi SSID: </p>\
        <input type='text' name='ssid'>\
        <p> Wifi password: <\p>\
        <input type='text' name='password'>\
        <br>\
        <input type='submit' name='Submit'>\
        </form>\
        </center>\
        </body>\
        </html>"
       );
  server.send(200, "text/html", html);
}

我可以从我的桌面连接到 AP 并访问ap_ip,一切正常。在我的手机中,我也可以连接到 WiFi AP,但如果我连接到移动网络,浏览器不会加载网站,它会显示“找不到网页”。如果将其关闭,则网站加载正常。

我需要能够加载由我的 ESP8266 网络服务器托管的网站,而无需关闭我的移动数据。知道为什么会发生这种情况,我该如何避免这个问题?

【问题讨论】:

  • 由于您的 ESP 创建了本地网络,因此无法从外部访问。您需要在手机上打开 wifi,并将其设为优先网络 - 我很长时间没有看到这个了,但我曾经有手机可以选择哪个是优先网络。也许这就是你手机的问题?
  • 就没有别的办法了吗?我的意思是,即使我尝试访问本地 ip 192.168.1.123 它也会尝试使用移动网络...

标签: arduino esp8266 arduino-esp8266


【解决方案1】:

您的 ESP 会创建自己的小 LAN,当您是该 LAN 的一部分时,您可以访问它。但是当你连接到移动网络时,你就是全球互联网的一部分,它对你的 ESP 的局域网一无所知。 因此,您需要以某种方式连接它们。

例如 - 你有你的家庭互联网提供商,比方说,你有一个无线路由器 D-Link。这意味着您可以通过 D-Link 动态 DNS 服务使您的家庭局域网对互联网可见。因此,您可以将 ESP 作为家庭 LAN 的客户端(而不是作为 AP)运行,并且可以将 ESP 的本地 IP 映射到某个全球可用的地址。

是的,您将失去不错的域“my_wifi_config.com”,但您将能够访问 ESP 的功能,无论它是什么(带有温度计值的网页或打开灯的按钮)。

【讨论】:

    猜你喜欢
    • 2017-06-02
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 2020-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多