An update on this capability is now ready for beta-testers who use nodemcu.

An update on this capability is now ready for beta-testers who use nodemcu.

The Github ticket is here: https://github.com/nodemcu/nodemcu-firmware/issues/1302#issuecomment-283945689

this includes updates to the documentation with example and the link to the compiled firmware. It has debugging enabled so you will see a bunch of activity on the serial line as you start the process.

The big thing that changed since the last time I mentioned it here is the validation callback which lets you control what to send back to the user (including http status result, content type and body)

@Petr_Stehlik

Never got this to work. I flashed it with your .bin. I made the mods to the HTML and put the file on the esp, shut down wifi as suggested, then ran the code and got the setup device in my windows10 wireless list. I connect and it says no Internet connection, chrome and explorer do not show enduser_setup.html. I can post images if that would help. I have never tried this so I might be doing something stupid.

That would be useful, also were you able to show the serial logs?

Did you go to http://example.com ?

Just tried it from scratch again. This is what I get in Chrome

There is no Internet connection

Try:
Checking the network cables, modem, and router
Reconnecting to Wi-Fi
Running Windows Network Diagnostics
DNS_PROBE_FINISHED_NO_INTERNET

In Explorer:

Hmm, we can’t reach this page.
Try this
Make sure you’ve got the right web address: http://example.com
Refresh the page
Search for what you want

And I am using Chilipeppr/nodemcu workspace and getting this from the esp8266:

enduser_setup_check_station

266: status=0,chan=1
243: enduser_setup_check_station
266: status=0,chan=1

wifi_event_monitor_handle_event_cb is called

wifi_event_monitor_handle_event_cb is called

243: enduser_setup_check_station
266: status=0,chan=1
243: enduser_setup_check_station
266: status=0,chan=1

wifi_event_monitor_handle_event_cb is called

243: enduser_setup_check_station
266: status=0,chan=1

wifi_event_monitor_handle_event_cb is called

243: enduser_setup_check_station
266: status=0,chan=1
243: enduser_setup_check_station
266: status=0,chan=1

It should start in the logs with:

1938: enduser_setup_init: Debug callback has been set
1945: enduser_setup_init: Validation callback has been set
1989: Performing AP Scan to identify likely AP’s channel. Enabling Station if it wasn’t already.
1824: enduser_setup_dns_start
1557: enduser_setup_http_start
419: enduser_setup_http_load_payload

scandone
1657: on_initial_scan_done
1622: enduser_setup_ap_start
mode : sta(18:fe:34:a1:38:d6) + softAP(1a:fe:34:a1:38:d6)
add if1
dhcp server start:(ip:192.168.4.1,mask:255.255.255.0,gw:192.168.4.1)
bcn 100
1651: SSID: SetupGadget_A138D6, CHAN: 1
218: enduser_setup_check_station_start

the SSID is the one you presumably connected to? My son tried it on Windows 10 and also got “No internet” from Windows itself, but it took about 20 seconds to decide to connect anyway. When your computer joins the SetupGadget_XXXXX network, you should see in the logs:

station: 02:85:40:69:d3:69 join, AID = 1

And then a whole bunch of DNS traffic. That you are not getting DNS traffic indicates the Windows box isn’t connecting to the SetupGadget?

Your router shouldn’t matter, it should just be the Wifi on your computer connecting directly to the ESP as it is pretending to be a router (albeit one that cannot connect to the internet!)

Thanks for persevering!