У меня есть простой Lua-скрипт, который создает сервер, прослушивающий сообщения. Сценарий переворачивает вывод двух GPIO, когда появляется сообщение «led1» или «led2». Проблема в том, что скрипт работает только 2 или 3 раза. Я вернусь с настоящим сценарием.
Редактировать 1: сценарий для сервера следующий (часть GPIO была удалена для упрощения сценария):
wifi.setmode(1)
wifi.sta.config("my_router","12345678")
tmr.delay(3000000)
print(wifi.sta.getip())
s=net.createServer(net.TCP)
s:listen(433,function(conn)
conn:on("receive",function(conn,payload)
print(payload)
conn:send("received")
end)
conn:on("sent",function(conn) conn:close() end)
end)
Результат следующий (если я отправлю «led1» на сервер более 3 раз):
>192.168.0.117 255.255.255.0 192.168.0.1
>led1
>led1
>led1
После этого клиент говорит, что «время ожидания соединения истекло», но ESP8266 все еще работает (по крайней мере, последовательные линии).