1

我在连接到运行 NodeMCU 的 ESP-01 Wifi 模块时遇到问题。我已经设置了一个简单的服务器,但是每当我尝试通过浏览器连接到 IP 地址时,我的浏览器都会超时。
我知道我正在连接设备,因为我可以看到模块输出的连接数据。但是,浏览器永远不会连接到设备。我已经为此工作了一段时间,进行了几次代码更改,但一直没有运气。这是我为服务器运行的代码(它直接来自 NodeMCU 文档):

wifi.setmode(wifi.STATION)
wifi.sta.config("SSID","password")
wifi.sta.connect()

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)

任何帮助是极大的赞赏。

4

1 回答 1

3

我对 NodeMCU 一无所知,但这不是一个合适的 http 服务器。为了让它在浏览器上正常工作,它应该返回一些标题。

您可以在发送响应后尝试关闭连接。尝试以下操作:

wifi.setmode(wifi.STATION)
wifi.sta.config("SSID", "password")
wifi.sta.connect()

srv = net.createServer(net.TCP)
srv:listen(80,function(conn)
    conn:on("receive", function(conn, payload)
        print(payload)
        local response = "HTTP/1.1 200 OK\r\n\r\n<h1> Hello, NodeMcu.</h1>"
        conn:send(response, function()
            conn:close()
        end)
    end)
end)

你也可以研究一下这个 http server的代码。

于 2015-06-04T18:02:33.957 回答