O servidor é um ponto-de-acesso; o cliente é estação. Neste exemplo eles estabelecem uma comunicação sem fio o cliente diz "Olá!".
Observar SSID=test
e Password=12345678
.
-- Rui Santos
-- Complete project details at http://randomnerdtutorials.com
-- ESP8266 Server
print("ESP8266 Server")
wifi.setmode(wifi.STATIONAP);
wifi.ap.config({ssid="test",pwd="12345678"});
print("Server IP Address:",wifi.ap.getip())
sv = net.createServer(net.TCP)
sv:listen(80, function(conn)
conn:on("receive", function(conn, receivedData)
print("Received Data: " .. receivedData)
end)
conn:on("sent", function(conn)
collectgarbage()
end)
end)
O servidor fica continuamente esperando por conexões. Quando alguma é estabelecida com sucesso, ele recebe mensagem e a imprime no console de comunicação serial.
-- Rui Santos
-- Complete project details at http://randomnerdtutorials.com
-- ESP8266 Client
print("ESP8266 Client")
wifi.sta.disconnect()
wifi.setmode(wifi.STATION)
wifi.sta.config("test","12345678") -- connecting to server
wifi.sta.connect()
print("Looking for a connection")
tmr.alarm(1, 2000, 1, function()
if(wifi.sta.getip()~=nil) then
tmr.stop(1)
print("Connected!")
print("Client IP Address:",wifi.sta.getip())
cl=net.createConnection(net.TCP, 0)
cl:connect(80,"192.168.4.1")
tmr.alarm(2, 5000, 1, function()
cl:send("Hello World!")
end)
else
print("Connecting...")
end
end)
O cliente fica continuamente procurando pelo ponto-de-acesso. Quando o localiza, estabelece conexão e passa a enviar "Hello world!" como mensagem a cada 5 segundos.
À esquerda, a janela de output do ESPlorer. À direita, um terminal de comunicação serial estabelecida com o PuTTY.