12 julho, 2016

Comandos Wifi NodeMCU

Comandos Wifi NodeMCU


[Listar Access Points]

-- Definindo Modo Wifi como estação
wifi.setmode(wifi.STATION)

-- print ap list
function listap(t)
for ssid,v in pairs(t) do
authmode, rssi, bssid, channel =
string.match(v, "(%d),(-?%d+),(%x%x:%x%x:%x%x:%x%x:%x%x:%x%x),(%d+)")
print(ssid,authmode,rssi,bssid,channel)
end
end
wifi.sta.getap(listap)

[Conectar Roteador Wifi]

-- Definindo Modo Wifi como estação
wifi.setmode(wifi.STATION)

-- Configurando conexão com o roteador, trocar o SSID pelo nome da rede wifi e a senha
wifi.sta.config("SSID","SENHA")

-- Iniciando conexão
print("Tentando conectar ao Roteador Wifi, aguarde...")
wifi.sta.connect()

print("Aguardando...")
-- Timer de 1 em 1 segundo para aguardar conectar
local cnt = 0
-- Definindo máximo de tentativas de conexão
local maxtry = 30
tmr.alarm(0, 1000, 1, function()
print("timer acionado...")
if (wifi.sta.getip() == nil) and (cnt <= maxtry) then
print("Tentando conectar ao Roteador Wifi, aguarde...")
cnt = cnt + 1
else
tmr.stop(0);
print("Conexão efetuada com sucesso")
if (cnt <= maxtry) then
print("Conectado ao Roteador\r\nMAC:"..wifi.sta.getmac().."\r\nIP:"..wifi.sta.getip())
else
print("Timeout na conexão com o roteador")
end
cnt = nil;
collectgarbage();
end
end)


[Requesição HTTP]

-- Fazendo uma requisição Http GET
conn=net.createConnection(net.TCP, false)
conn:on("receive", function(conn, pl) print(pl) end)
conn:connect(80,"121.41.33.127")
conn:send("GET / HTTP/1.1\r\nHost: www.nodemcu.com\r\n"
.."Connection: keep-alive\r\nAccept: */*\r\n\r\n")

[NodeMCU como Access Point]

-- Setando modo Wifi para estação e Ponto de Acesso
wifi.setmode(wifi.STATIONAP)

-- Access Point com senha
cfg={}
cfg.ssid="nodemcu_hotspot"
cfg.pwd="12345678"
wifi.ap.config(cfg)


-- Timer de 1 em 1 segundo para aguardar conectar
local cnt = 0
local maxtry = 30
tmr.alarm(0, 1000, 1, function()
if (wifi.ap.getip() == nil) and (cnt <= maxtry) then
print("Configurando Access Point, aguarde...")
cnt = cnt + 1
else
tmr.stop(0);
print("Configuração efetuada com sucesso")
if (cnt <= maxtry) then
print("Access Point\r\nMAC:"..wifi.ap.getmac().."\r\nIP:"..wifi.ap.getip())
else
print("Timeout configurando access point")
end
cnt = nil;
collectgarbage();
end
end)

-- Configurando Servidor Http
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)

[Servidor HTTP]

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)

Nenhum comentário:

Postar um comentário