I am building a set of public WIFI sites using the ESP8266 chip to provide the web based environmental information to passers-by at remote locations (beyond mobile and wireless internet range) using their mobile phones as the viewing device prior to entering caves etc.
It seems there is a problem with mobiles recognising the the IP address given by a QR code notice and it is necessary to enter the IP address of the webserver manually through the mobile’s settings/WIFI menu. Under these conditions the QR code notices grants access despite the “WIFI connected – No internet” message.
When the mobile is removed from the location (outside the range of ESP8266)and brought back to the site it is necessary to manually reset the WIFI settings again as the phone will not auto connect. Altogether, it hardly is a satisfactory, seamless approach to advising of the public of risks.
This problem is well recognised on the net and it seems to be related to lack of access to a DNS from these “Hot Spot” sources (in this case due to the sources are located out of range of the “World Wide Web” ).
My question is:
- Is this really the problem and would placing a small DNS in the ESP8266 solve the problem. If not any solution to this problem would be welcomed.
- Secondly does anybody know of such a program for the ESP8266?
I’m not sure if it is a problem with the ESP8266 boards or with the settings of the smartphones when connecting to networks that don’t have wi-fi access.
I’m not sure if DNS will solve the problem. But, you can try it. And it was also suggested in this discussion (a long time ago): https://stackoverflow.com/questions/40596906/esp8266-soft-ap-no-internet-access-issue-with-android-marshmallow
I’m sorry that I can’t help much.
Meanwhile, let me know if you find something.
I think what you would need is a combination of a QR code that will connect to the local WiFi network and then a Captive Portal to display web page(s). Seeing as it’s a CP you don’t need DNS (DNS is only required to lookup a hosts IP address to connect to. Seeing as you’re not supplying users with the full internet it’s not required). Most of the time a CP is used to get credentials for the local router so that the user can then switch to the “real” internet. In this case just create HTML page(s) to show users stuff about the caves.
I couldn’t find anything for the 8266 but here is an article using the ESP32 – https://iotespresso.com/create-captive-portal-using-esp32/. I’m pretty sure some variation of the libraries work on the 8266 and it should be relatively easy to modify the code.
You also need to generate a QR code to connect to the hotspot – https://www.qr-code-generator.com/solutions/wifi-qr-code/
Hopefully this works as I think it would. Happy trails.