puedo movistar link inalambrico desde cómo contraseña como clave claro celular cambiar lua wifi nodemcu

lua - movistar - cambiar dinámicamente entre redes wifi



cómo cambiar la clave de mi wi fi (1)

Tengo dos redes WiFi en casa donde quiero usar mi NodeMCU ESP8266 V1 para controlar varios relés de forma remota en la web desde cualquier parte del mundo. Para lograr esto, estaba pensando en probar la conectividad WiFi y si no obtengo una IP Dentro de 1 minuto pruebe la otra red hasta que obtenga una IP. Aquí están los documentos API para tmr que seguí en el código a continuación.

¿Hay alguna manera de cambiar entre dos o más redes wifi programáticamente usando Lua? Estoy usando el lenguaje Lua, pero puedo moverme a Arduino IDE, si es necesario.

wifi.setmode(wifi.STATION) myRouter = "dlink" tmr.alarm(1, 60000, tmr.ALARM_SINGLE, function() if myRouter=="dlink" then print("Dlink selected") wifi.sta.config("dlink","password1") wifi.sta.connect() if wifi.sta.getip() == nil then print("NO IP yet! ,Connecting...") else tmr.stop(1) print("Connected, IP is "..wifi.sta.getip()) end elseif myRouter=="cisco" then print("Cisco selected") wifi.sta.config("cisco","passoword2") wifi.sta.connect() if wifi.sta.getip() == nil then print("NO IP yet! ,Connecting...") else tmr.stop(1) print("Connected, IP is "..wifi.sta.getip()) end else print("No network is giving an ip") end end)

Lo que estoy buscando es una devolución de llamada que se activa cada vez que el temporizador "tmr" expira. De esta manera puedo cambiar la variable a myRouter = "cisco" . Observe en el código anterior que no pude cambiar la variable " myRouter ".

Consideré usar un software watchdog para monitorear la conectividad todo el tiempo, por lo que si el WiFi cae en una red, se activará el código anterior. No estoy seguro de cómo hacer esto o cómo se hace normalmente, ya que soy muy nuevo en lua. Por favor, avísenme o indíquenme un recurso que puede ayudar a este respecto. Gracias chicos.


Esta es una pieza de código no comprobada que se ensambla rápidamente.

effectiveRouter = nil counter = 0 wifi.sta.config("dlink", "password1") tmr.alarm(1, 1000, tmr.ALARM_SEMI, function() counter = counter + 1 if counter < 60 then if wifi.sta.getip() == nil then print("NO IP yet! Keep trying to connect to dlink") tmr.start(1) -- restart else print("Connected to dlink, IP is "..wifi.sta.getip()) effectiveRouter = "dlink" startProgram() end elseif counter < 120 then wifi.sta.config("cisco", "password2") if wifi.sta.getip() == nil then print("NO IP yet! Keep trying to connect to cisco") tmr.start(1) -- restart else print("Connected to cisco, IP is "..wifi.sta.getip()) effectiveRouter = "cisco" startProgram() end else print("Out of options, giving up.") end end)

Primero intentará conectarse a ''dlink'' durante 60 s, luego a ''cisco'' durante otros 60 s, y eventualmente se rendirá después de eso si ninguno de los intentos fue exitoso. Utiliza un temporizador semiautomático que solo se reinicia si todavía no hay una IP.