Браузер мобильного телефона не может загрузить веб-сайт, размещенный на ESP8266, когда подключена мобильная сеть - PullRequest
0 голосов
/ 24 апреля 2018

Я использую ESP8266 веб-сервер . Я создаю точку доступа Wifi и использую веб-сервер для размещения веб-сайта, к которому я хочу получить доступ из браузера моего мобильного телефона:

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_ip, и все работает нормально. В моем телефоне я также могу подключиться к точке доступа WiFi, но если я подключен к мобильной сети, браузер не загружает веб-сайт, он говорит «веб-страница не найдена». Если он выключен, сайт загружается нормально.

Мне нужно было бы иметь возможность загружать веб-сайт, размещенный на моем веб-сервере ESP8266, без необходимости отключения мобильных данных. Есть идеи, почему это происходит и как я могу избежать этой проблемы?

1 Ответ

0 голосов
/ 24 мая 2018

Ваш ESP создает собственную маленькую локальную сеть, и вы можете получить к ней доступ, когда будете частью этой локальной сети.Но когда вы подключены к мобильной сети, вы становитесь частью глобального интернета, который ничего не знает о локальной сети вашего ESP.Поэтому вам нужно как-то их подключить.

Например, у вас есть домашний интернет-провайдер и, скажем, беспроводной маршрутизатор D-Link.Это означает, что вы можете сделать свою домашнюю локальную сеть видимой для интернета через сервис D-Link Dynamic DNS.Таким образом, вы можете запустить ESP в качестве клиента домашней ЛВС (не в качестве точки доступа) и сопоставить локальный IP-адрес ESP с каким-либо глобально доступным адресом.

Да, вы потеряете хороший домен 'my_wifi_config.com', но вы сможете получить доступ к функциональности ESP, какой бы она ни была (веб-страница со значениями термометра или кнопка для включения подсветки).

...