在网上找了很多资料,最终成功连上WIFI,网上很多教程在我这里无法测试通过,先将我测试成功的代码记录如下。
一下代码实现了以Station模式连上WIFI,并建立web服务器。

print('Setting up WIFI...')
wifi.setmode(wifi.STATION)
station_cfg={}
station_cfg.ssid="@PHICOMM_AD"
station_cfg.pwd="www.me.tl"
--这一步网上很多教程都没有.
wifi.sta.config(station_cfg)
print(wifi.sta.getip())

srv=net.createServer(net.TCP) 
srv:listen(80,function(conn) 
    conn:on("receive",function(conn,payload) 
    print(payload) 
    conn:send("<h1> Hello, NodeMcu.</h1>")
    end) 
end)

这段代码稳定性不是很好,时好时不好,改进版代码如下。

print('Setting up WIFI...')
wifi.setmode(wifi.STATION)
station_cfg={}
station_cfg.ssid="@PHICOMM_AD"
station_cfg.pwd="www.me.tl"
--这一步网上很多教程都没有,经测试将导致错误
wifi.sta.config(station_cfg)
wifi.sta.connect()

-- 定义函数
function reconnect_wifi()
    if wifi.sta.getip() == nil then
        print('Waiting for IP ...')
    else
        print('IP is ' .. wifi.sta.getip())
        tmr.stop(1) -- 连上了wifi就停止定时器1连接
    end
end

tmr.alarm(1, 1000, tmr.ALARM_AUTO, reconnect_wifi) -- 打开定时器1,1000ms重连,自动重连,处理函数

srv=net.createServer(net.TCP) 
srv:listen(80,function(conn) 
    conn:on("receive",function(conn,payload) 
    print(payload) 
    conn:send("<h1> Hello, NodeMcu.</h1>")
    end) 
end)

运行状况如下:

> Waiting for IP ...
Waiting for IP ...
Waiting for IP ...
IP is 192.168.2.102
GET / HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134
Accept-Language: zh-Hans-CN,zh-Hans;q=0.5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Host: 192.168.2.102
Connection: Keep-Alive