无法连接到ESP8266 NodeMCU服务器。

我一直在尝试连接运行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)

非常感谢任何帮助。

点赞
用户44740
用户44740

我对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服务器的代码。

2015-06-04 18:02:33