Проблема с подключением к серверу ESP8266 NodeMCU.

У меня возникли проблемы с подключением к моему Wi-Fi-модулю ESP-01, работающему под управлением NodeMCU. Я настроил простой сервер, но всякий раз, когда я пытаюсь подключиться к 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)

Любая помощь приветствуется.


person RMK-Jacob    schedule 03.06.2015    source источник


Ответы (1)


Я ничего не знаю о 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)

Вы также можете изучить код https://github.com/marcoskirsch/nodemcu-httpserver.

person Ignacio    schedule 04.06.2015