wifi.setmode(wifi.STATION)
wifi.sta.config("ssid","key")
wifi.sta.autoconnect(1) -- восстанавливаем соединение со станцией при потере связи
uart.setup(0,9600,8,0,1,0) -- коннектимся к ардуине
sv=net.createServer(net.TCP, 60) -- создаем сервер
global_c = nil
sv:listen(8266, function(c) -- и слушаем на порту 8266, например
if global_c~=nil then -- много клиентов мне не надо - я управляю либо с телефона, либо с компа
global_c:close()
end
global_c=c
c:on("receive",function(sck,pl) uart.write(0,pl) end) -- что пришло по TCP валим в UART
end)
uart.on("data",4, function(data) -- Что ответила ардуина - шлем по TCP
if global_c~=nil then
global_c:send(data)
end
end,0 )
Таким образом - модуль 8266 соединяется с домашней сетью и превращается в TCP<>UART гейт, отладить логику можно по обычному Serial интерфейсу, а при подключении модуля заменить его на HardwareSerial.
Такой интерфейс к блоку автоматики у меня работает больше года, после того, как сгорел сенсорный экран И это оказалось намного удобнее.