#SoftAP Provision
Overview
This example demonstrates how to implement a simple SoftAP Provision
Requirements
A WiFi hotspot that can be connected normally is required.
Mobile phone.
Building and Flashing
Example Location:examples/network/httpd_websoecket/softap_provision
ompile, burn, and more, see: Quick Start Guide
Specific Steps
Start the device. At this time, the device starts the SoftAP and Http server services. The SoftAP SSID is “wm-nm”; the password is “mypassword”, and the IP address is 192.168.10.1 .
Set your phone to connect to the above mentioned hotspot via Wi-Fi. Normally, the browser will automatically open and display the Provisioning page.
If the Provisioning page doesn’t open automatically, open the browser on your phone and enter the URL http://192.168.10.1 . Normally, you will enter a page where you can enter the Wi-Fi name and password;
Enter the WiFi name and password, then click “Submit”. When the device receives the request, it will print “Start to connect”, and the configuration page will prompt “It’s already provisioned. Please retry if it fails.”
When the device connect to the target access point successful, the device will print “sta got ip: xxx.xxx.xxx.xxx”. Turn off the softAP hotspot, and the phone will automatically disconnect from the hotspot.
The device will print “Connect wifi station fail!” if connect to AP fail, you need reboot the device and do it again.
Running Result
Upon successful execution, it will output the following logs
[I] (14) main: ver: 2.3-alpha.3 build at Feb 21 2025 09:19:07
[I] (15) main: boot reason 4
[I] (15) main: heap size 261096(254.98KB)
[I] (16) main: flash size 0x200000(2MB)
W800: [I] (18) example_lws: Start http server example
[I] (69) example_lws: softAP is ready!
[I] (69) wm_nm_wifi: start ap (wm-nm) success
[I] (69) example_lws: start httpd on port 80
[2000/01/02 06:38:43:0690] N: 152664: lws_create_context: LWS: 4.3.3-WM, MbedTLS-3.4.0 NET CLI SRV H1 WS ConMon IPV6-on
[2000/01/02 06:38:43:0750] N: 152256: mem: platform fd map: 120 bytes
[2000/01/02 06:38:43:0760] N: 151440: __lws_lc_tag: ++ [wsi|0|pipe] (1)
[2000/01/02 06:38:43:0770] N: 150264: __lws_lc_tag: ++ [vh|0|default||80] (1)
[2000/01/02 06:38:43:0790] N: 149672: [vh|0|default||80]: lws_socket_bind: source ads 0.0.0.0
[2000/01/02 06:38:43:0800] N: 149000: __lws_lc_tag: ++ [wsi|1|listen|default||80] (2)
[2000/01/02 06:38:43:0810] N: 148536: [vh|0|default||80]: lws_socket_bind: source ads ::
[2000/01/02 06:38:43:0820] N: 147848: __lws_lc_tag: ++ [wsi|2|listen|default||80] (3)
[I] (14076) wm_nm_core: fc:02:96:ff:e2:6d assigned ip: 192.168.10.2
[I] (14077) example_lws: assigned IP to staion
[2000/01/02 06:38:57:8430] N: 145192: __lws_lc_tag: ++ [wsisrv|0|adopted] (1)
[2000/01/02 06:38:57:8660] N: 145960: __lws_lc_untag: -- [wsisrv|0|adopted] (0) 23.000ms
[2000/01/02 06:38:58:2270] N: 144808: __lws_lc_tag: ++ [wsisrv|1|adopted] (1)
[2000/01/02 06:38:58:2370] N: 138720: __lws_lc_tag: ++ [wsisrv|2|adopted] (2)
[2000/01/02 06:38:58:2510] N: 138712: __lws_lc_untag: -- [wsisrv|1|adopted] (1) 24.000ms
[2000/01/02 06:38:58:2570] N: 139048: __lws_lc_tag: ++ [wsisrv|3|adopted] (2)
[2000/01/02 06:38:58:2620] N: 139112: __lws_lc_untag: -- [wsisrv|2|adopted] (1) 25.000ms
[2000/01/02 06:38:58:2840] N: 145096: __lws_lc_untag: -- [wsisrv|3|adopted] (0) 27.000ms
[2000/01/02 06:38:58:2920] N: 145224: __lws_lc_tag: ++ [wsisrv|4|adopted] (1)
[2000/01/02 06:38:58:3080] N: 145528: __lws_lc_untag: -- [wsisrv|4|adopted] (0) 16.000ms
[2000/01/02 06:38:58:3180] N: 145240: __lws_lc_tag: ++ [wsisrv|5|adopted] (1)
[2000/01/02 06:38:58:3380] N: 145544: __lws_lc_untag: -- [wsisrv|5|adopted] (0) 20.000ms
[2000/01/02 06:38:58:3530] N: 145224: __lws_lc_tag: ++ [wsisrv|6|adopted] (1)
[2000/01/02 06:38:58:3680] N: 145144: __lws_lc_untag: -- [wsisrv|6|adopted] (0) 15.000ms
[2000/01/02 06:38:58:3730] N: 145504: __lws_lc_tag: ++ [wsisrv|7|adopted] (1)
[2000/01/02 06:38:58:3980] N: 145104: __lws_lc_untag: -- [wsisrv|7|adopted] (0) 25.000ms
[2000/01/02 06:38:58:4090] N: 145240: __lws_lc_tag: ++ [wsisrv|8|adopted] (1)
[2000/01/02 06:38:58:4260] N: 145560: __lws_lc_untag: -- [wsisrv|8|adopted] (0) 17.000ms
[2000/01/02 06:38:58:4320] N: 145240: __lws_lc_tag: ++ [wsisrv|9|adopted] (1)
[2000/01/02 06:38:58:4480] N: 145544: __lws_lc_untag: -- [wsisrv|9|adopted] (0) 17.000ms
[2000/01/02 06:38:58:4580] N: 145240: __lws_lc_tag: ++ [wsisrv|a|adopted] (1)
[2000/01/02 06:38:58:4730] N: 145544: __lws_lc_untag: -- [wsisrv|a|adopted] (0) 15.000ms
[2000/01/02 06:38:58:4840] N: 145240: __lws_lc_tag: ++ [wsisrv|b|adopted] (1)
[2000/01/02 06:38:58:4990] N: 145544: __lws_lc_untag: -- [wsisrv|b|adopted] (0) 15.000ms
[2000/01/02 06:38:58:5080] N: 145224: __lws_lc_tag: ++ [wsisrv|c|adopted] (1)
[2000/01/02 06:38:58:5280] N: 145240: __lws_lc_untag: -- [wsisrv|c|adopted] (0) 18.000ms
[2000/01/02 06:38:58:5300] N: 145240: __lws_lc_tag: ++ [wsisrv|d|adopted] (1)
[2000/01/02 06:38:58:5480] N: 145456: __lws_lc_untag: -- [wsisrv|d|adopted] (0) 17.000ms
[2000/01/02 06:38:58:5500] N: 145456: __lws_lc_tag: ++ [wsisrv|e|adopted] (1)
[2000/01/02 06:38:58:5740] N: 144112: __lws_lc_untag: -- [wsisrv|e|adopted] (0) 24.000ms
[2000/01/02 06:38:58:5760] N: 144112: __lws_lc_tag: ++ [wsisrv|f|adopted] (1)
[2000/01/02 06:38:58:5780] N: 138448: __lws_lc_tag: ++ [wsisrv|10|adopted] (2)
[2000/01/02 06:38:58:6000] N: 125952: __lws_lc_tag: ++ [wsisrv|11|adopted] (3)
[2000/01/02 06:38:58:6060] N: 125744: __lws_lc_untag: -- [wsisrv|f|adopted] (2) 30.000ms
[2000/01/02 06:38:58:6270] N: 139424: __lws_lc_untag: -- [wsisrv|11|adopted] (1) 27.000ms
[2000/01/02 06:38:58:6370] N: 139072: __lws_lc_tag: ++ [wsisrv|12|adopted] (2)
[2000/01/02 06:38:58:6560] N: 139040: __lws_lc_untag: -- [wsisrv|12|adopted] (1) 19.000ms
[2000/01/02 06:38:58:6620] N: 139120: __lws_lc_tag: ++ [wsisrv|13|adopted] (2)
[2000/01/02 06:38:58:6790] N: 139080: __lws_lc_untag: -- [wsisrv|13|adopted] (1) 15.000ms
[2000/01/02 06:38:58:6810] N: 139080: __lws_lc_tag: ++ [wsisrv|14|adopted] (2)
[2000/01/02 06:38:58:6980] N: 139000: __lws_lc_untag: -- [wsisrv|14|adopted] (1) 17.000ms
[2000/01/02 06:38:58:7100] N: 139120: __lws_lc_tag: ++ [wsisrv|15|adopted] (2)
[2000/01/02 06:38:58:7520] N: 138984: __lws_lc_untag: -- [wsisrv|15|adopted] (1) 42.000ms
[2000/01/02 06:38:58:7680] N: 139120: __lws_lc_tag: ++ [wsisrv|16|adopted] (2)
[2000/01/02 06:38:58:9830] E: 134256: lws_read_h1: Unhandled state 282
[2000/01/02 06:38:58:9910] N: 138904: __lws_lc_untag: -- [wsisrv|10|adopted] (1) 412.000ms
[2000/01/02 06:38:58:9970] N: 138856: __lws_lc_tag: ++ [wsisrv|17|adopted] (2)
[2000/01/02 06:38:59:0210] N: 139336: __lws_lc_untag: -- [wsisrv|17|adopted] (1) 24.000ms
[2000/01/02 06:38:59:9410] N: 138568: __lws_lc_tag: ++ [wsisrv|18|adopted] (2)
[2000/01/02 06:38:59:9570] N: 138936: __lws_lc_untag: -- [wsisrv|18|adopted] (1) 16.000ms
[2000/01/02 06:39:00:5410] N: 138880: __lws_lc_tag: ++ [wsisrv|19|adopted] (2)
[2000/01/02 06:39:00:5550] N: 138496: __lws_lc_untag: -- [wsisrv|19|adopted] (1) 14.000ms
[2000/01/02 06:39:01:0070] N: 138656: __lws_lc_tag: ++ [wsisrv|1a|adopted] (2)
[2000/01/02 06:39:01:0300] N: 138712: __lws_lc_untag: -- [wsisrv|1a|adopted] (1) 23.000ms
[2000/01/02 06:39:01:2270] N: 145512: __lws_lc_untag: -- [wsisrv|16|adopted] (0) 2.459s
[2000/01/02 06:39:01:2430] N: 145056: __lws_lc_tag: ++ [wsisrv|1b|adopted] (1)
[2000/01/02 06:39:01:2600] N: 145096: __lws_lc_untag: -- [wsisrv|1b|adopted] (0) 17.000ms
[2000/01/02 06:39:02:9320] N: 145056: __lws_lc_tag: ++ [wsisrv|1c|adopted] (1)
[2000/01/02 06:39:02:9410] N: 144704: __lws_lc_untag: -- [wsisrv|1c|adopted] (0) 9.000ms
[2000/01/02 06:39:04:2990] N: 144792: __lws_lc_tag: ++ [wsisrv|1d|adopted] (1)
[2000/01/02 06:39:04:3140] N: 145112: __lws_lc_untag: -- [wsisrv|1d|adopted] (0) 15.000ms
[2000/01/02 06:39:04:3270] N: 144744: __lws_lc_tag: ++ [wsisrv|1e|adopted] (1)
[2000/01/02 06:39:04:3460] N: 145128: __lws_lc_untag: -- [wsisrv|1e|adopted] (0) 19.000ms
[2000/01/02 06:39:04:3530] N: 144768: __lws_lc_tag: ++ [wsisrv|1f|adopted] (1)
[2000/01/02 06:39:04:3660] N: 145112: __lws_lc_untag: -- [wsisrv|1f|adopted] (0) 13.000ms
[2000/01/02 06:39:04:3810] N: 144784: __lws_lc_tag: ++ [wsisrv|20|adopted] (1)
[2000/01/02 06:39:04:4380] N: 144728: __lws_lc_untag: -- [wsisrv|20|adopted] (0) 57.000ms
[2000/01/02 06:39:04:4470] N: 144792: __lws_lc_tag: ++ [wsisrv|21|adopted] (1)
[2000/01/02 06:39:04:4650] N: 145112: __lws_lc_untag: -- [wsisrv|21|adopted] (0) 18.000ms
[2000/01/02 06:39:04:4680] N: 145032: __lws_lc_tag: ++ [wsisrv|22|adopted] (1)
[2000/01/02 06:39:04:4840] N: 145112: __lws_lc_untag: -- [wsisrv|22|adopted] (0) 16.000ms
[2000/01/02 06:39:04:4920] N: 144784: __lws_lc_tag: ++ [wsisrv|23|adopted] (1)
[2000/01/02 06:39:04:5070] N: 145112: __lws_lc_untag: -- [wsisrv|23|adopted] (0) 15.000ms
[2000/01/02 06:39:04:5130] N: 144792: __lws_lc_tag: ++ [wsisrv|24|adopted] (1)
[2000/01/02 06:39:04:8190] N: 138856: __lws_lc_tag: ++ [wsisrv|25|adopted] (2)
[2000/01/02 06:39:04:8290] N: 138472: __lws_lc_untag: -- [wsisrv|25|adopted] (1) 10.000ms
[2000/01/02 06:39:06:7310] N: 145008: __lws_lc_untag: -- [wsisrv|24|adopted] (0) 2.218s
[2000/01/02 06:39:06:7330] N: 145008: __lws_lc_tag: ++ [wsisrv|26|adopted] (1)
[2000/01/02 06:39:06:7550] N: 145088: __lws_lc_untag: -- [wsisrv|26|adopted] (0) 22.000ms
[2000/01/02 06:39:06:7660] N: 144792: __lws_lc_tag: ++ [wsisrv|27|adopted] (1)
[2000/01/02 06:39:06:7840] N: 144784: __lws_lc_untag: -- [wsisrv|27|adopted] (0) 18.000ms
[2000/01/02 06:39:06:7860] N: 144784: __lws_lc_tag: ++ [wsisrv|28|adopted] (1)
[2000/01/02 06:39:06:8090] N: 144768: __lws_lc_untag: -- [wsisrv|28|adopted] (0) 23.000ms
[2000/01/02 06:39:06:8110] N: 144768: __lws_lc_tag: ++ [wsisrv|29|adopted] (1)
[2000/01/02 06:39:06:8240] N: 144696: __lws_lc_untag: -- [wsisrv|29|adopted] (0) 13.000ms
[2000/01/02 06:39:06:8290] N: 144792: __lws_lc_tag: ++ [wsisrv|2a|adopted] (1)
[2000/01/02 06:39:06:8430] N: 145040: __lws_lc_untag: -- [wsisrv|2a|adopted] (0) 14.000ms
[2000/01/02 06:39:06:8520] N: 144704: __lws_lc_tag: ++ [wsisrv|2b|adopted] (1)
[2000/01/02 06:39:06:8670] N: 145512: __lws_lc_untag: -- [wsisrv|2b|adopted] (0) 14.000ms
[2000/01/02 06:39:06:8800] N: 144792: __lws_lc_tag: ++ [wsisrv|2c|adopted] (1)
[2000/01/02 06:39:06:8950] N: 145512: __lws_lc_untag: -- [wsisrv|2c|adopted] (0) 14.000ms
[2000/01/02 06:39:06:9080] N: 144792: __lws_lc_tag: ++ [wsisrv|2d|adopted] (1)
[2000/01/02 06:39:06:9260] N: 145512: __lws_lc_untag: -- [wsisrv|2d|adopted] (0) 17.000ms
[2000/01/02 06:39:06:9380] N: 144792: __lws_lc_tag: ++ [wsisrv|2e|adopted] (1)
[2000/01/02 06:39:06:9590] N: 144752: __lws_lc_untag: -- [wsisrv|2e|adopted] (0) 21.000ms
[2000/01/02 06:39:06:9610] N: 144752: __lws_lc_tag: ++ [wsisrv|2f|adopted] (1)
[2000/01/02 06:39:06:9770] N: 144672: __lws_lc_untag: -- [wsisrv|2f|adopted] (0) 14.000ms
[2000/01/02 06:39:06:9870] N: 144784: __lws_lc_tag: ++ [wsisrv|30|adopted] (1)
[2000/01/02 06:39:07:0070] N: 144744: __lws_lc_untag: -- [wsisrv|30|adopted] (0) 18.000ms
[2000/01/02 06:39:07:0090] N: 144744: __lws_lc_tag: ++ [wsisrv|31|adopted] (1)
[2000/01/02 06:39:07:0220] N: 145128: __lws_lc_untag: -- [wsisrv|31|adopted] (0) 13.000ms
[2000/01/02 06:39:07:0400] N: 144792: __lws_lc_tag: ++ [wsisrv|32|adopted] (1)
[2000/01/02 06:39:07:0590] N: 145112: __lws_lc_untag: -- [wsisrv|32|adopted] (0) 19.000ms
[2000/01/02 06:39:08:0840] N: 145280: __lws_lc_tag: ++ [wsisrv|33|adopted] (1)
[2000/01/02 06:39:08:0970] N: 144912: __lws_lc_untag: -- [wsisrv|33|adopted] (0) 13.000ms
[2000/01/02 06:39:08:3510] N: 144368: __lws_lc_tag: ++ [wsisrv|34|adopted] (1)
[I] (25357) example_lws: Received POST data: {"cmd":"prov","wifiName":"new","wifiPassword":"12345678"}
[I] (25659) example_lws: Start to connect new,12345678
[I] (27606) wm_nm_wifi: start connecting new(12345678)
[I] (28349) wm_nm_core: new is connected
[I] (28362) wm_nm_core: softap stoped
[I] (28376) example_lws: softAP is ready!
[I] (28377) wm_nm_wifi: start ap (wm-nm) success
[I] (29096) wm_nm_core: sta got ip: 10.17.1.147
[I] (29108) example_lws: wifi station start success, network is ready!
[2000/01/02 06:39:12:1110] N: 136168: __lws_lc_untag: -- [wsi|0|pipe] (2) 29.034s
[2000/01/02 06:39:12:1130] N: 142064: __lws_lc_untag: -- [wsisrv|34|adopted] (0) 3.762s
[2000/01/02 06:39:12:1150] N: 143216: __lws_lc_untag: -- [wsi|2|listen|default||80] (1) 29.033s
[2000/01/02 06:39:12:1200] N: 146488: __lws_lc_untag: -- [vh|0|default||80] (0) 29.043s
[2000/01/02 06:39:12:1210] N: 146904: __lws_lc_untag: -- [wsi|1|listen|default||80] (0) 29.041s
[I] (29123) example_lws: http server end
[I] (29125) wm_nm_core: softap stoped
[W] (29126) wm_nm_wifi: stop softAP
[I] (29597) wm_nm_core: sta got ip6: FE80::2A6D:CEFF:FE32:B4E5
W800: ifconfig
ifconfig
w01: flags=6f<UP BROADCAST RUNNING MULTICAST> mtu 1500
inet 10.17.1.147 netmask 255.255.254.0 gateway 10.17.1.1
inet6 FE80::2A6D:CEFF:FE32:B4E5
ether 28:6d:ce:32:b4:e5