top of page
Buscar

Craindo uma pagina com esp8266

  • Foto do escritor: Alexandre Leonardo Romero
    Alexandre Leonardo Romero
  • 25 de jul. de 2018
  • 2 min de leitura

Atualizado: 5 de set. de 2018

A partir do ESP8266 é possível criar uma pagina web para enviar dados e receber


ree

Neste tópico mostraremos como criar um servidor para nossa pagina, para podermos

enviar os dados e receber via post para assim estar processando as informações.


Crie o design com facilidade

A seguir, esta o código para conectar com uma `WIFI` e criar um servidor com a pagina html.


wifi.setmode(wifi.STATION)

wifi.sta.config {ssid="xxxxxxxx", pwd="xxxxxxx", save=true}

tmr.alarm(1, 1000, 1, function()

if wifi.sta.getip() == nil then

print("IP unavailable, Waiting...")

else

tmr.stop(1)

print("ESP8266 mode is: " .. wifi.getmode())

print("The module MAC address is: " .. wifi.ap.getmac())

print("Config done, IP is "..wifi.sta.getip())

srv=net.createServer(net.TCP)

srv:listen(80,function(conn)

conn:on("receive",function(conn,payload)

val=string.match(payload, "?valormax=(.+)&smtp")

email=string.match(payload, "smtp=(.+) HTTP")

if file.open("teste.cfg", "r") then

val =file.read('\n')

file.close()

end

conn:send("<h1> WEB </h1> <br><form action='' method='GET'><p>Valor maximo</p><input type='text' name='valormax' value='"..val.."'> </input> <button type='submit'>OK</button><br><p>SMTP</p> <input type='text' name='smtp'> </input></form>")

enviaEmail( "ESP8266",[[Hi, How are your IoT projects coming along? Best Wishes, ESP8266]])

if val ~= nil then

dest = file.open("teste.cfg", "w")

if dest then

dest:write(val)

dest:write(email)

dest:close()

end

end

end)

end)

end

end)


Explicarei cada trecho de código a seguir.


Criando conexão com WIFI.

Para criar uma conexão com wifi é preciso usar a biblioteca do ESP8266 para lua, é uma lib chamada WIFI, com ela é criado a conexão com o wifi.


Colocando o wifi no modo STATION

wifi.setmode(wifi.STATION)


Configurando para acessar a wifi

wifi.sta.config {ssid="xxxxxxx", pwd="xxxxxxx", save=true}


Após este processo, você já estará conectado a WIFI, então só basta criar o servidor e colocar nossa pagina nela.


Criando o servidor para colocar a pagina html


Com nossa conexão de pé, é preciso criar o servidor:

srv=net.createServer(net.TCP)


e neste momento estamos dizendo que o servidor esta escutando a porta 80:

srv=net.createServer(net.TCP)

srv:listen(80,function(conn)


neste momento, toda vez que receber um evento ele executa a função:

conn:on("receive",function(conn,payload)


Recebendo os valores por GET e usando uma expressão para pegar os valores de cada campo:

val=string.match(payload, "?valormax=(.+)&smtp")

email=string.match(payload, "smtp=(.+) HTTP")


Enviando para o servidor o codigo html que será renderizado na página

conn:send("<h1> WEB </h1> <br><form action='' method='GET'><p>Valor maximo</p><input type='text' name='valormax' value='"..val.."'> </input> <button type='submit'>OK</button><br><p>SMTP</p> <input type='text' name='smtp'> </input></form>")


Verifica se o valor foi recebido e não esta nulo:

if val ~= nil then


Abre um arquivo no FLASH do ESP8266 e escreve no arquivo para salvar o valor máximo e o email:

dest = file.open("teste.cfg", "w")

if dest then

dest:write(val)

dest:write(email)

dest:close()

end

end

end)

end)





Fluxograma do funcionamento do projeto

ree

 
 
 

Comments


© 2018 criado por Alexandre Leonardo, Leonardo Pereira e Bruno Gibicoski

bottom of page