Files

75 lines
2.8 KiB
Lua

-- Petit script pour initaliser la couche WIFI
function wifi_init()
print("\n wifi_init.lua zf200111.1219 \n")
function wifi_init_end()
wifi_init1:unregister() i=nil
f= "wifi_info.lua" if file.exists(f) then dofile(f) end
f=nil secrets_wifi=nil cli_pwd=nil cli_ssid=nil
wifi_init1=nil wifi_init=nil
print(node.heap()) collectgarbage() print(node.heap())
f= "telnet_srv2.lua" if file.exists(f) then dofile(f) end
f= "web_srv2.lua" if file.exists(f) then dofile(f) end
print(node.heap()) collectgarbage() print(node.heap())
zdelay=1 if reset_reason=="seconde_chance" then zdelay=20 end
wifi_init3=tmr.create()
wifi_init3:alarm(zdelay*1000, tmr.ALARM_SINGLE, function()
f= "boot.lua" if file.exists(f) then dofile(f) end
wifi_init3:unregister() wifi_init3=nil wifi_init_end=nil
reset_reason=nil zdelay=nil
end)
end
if file.exists("_setup_wifi_") then
file.remove("_setup_wifi_")
print("setup wifi...")
enduser_setup.start(function()
print("on est sortit du setup wifi et on restart !")
node.restart()
end)
print("setup wifi out...")
else
-- charge les secrets pour le wifi
f= "secrets_wifi.lua" if file.exists(f) then dofile(f) end
f= "secrets_project.lua" if file.exists(f) then dofile(f) end
wifi.setmode(wifi.STATIONAP,true)
wifi.sta.config{ssid=cli_ssid, pwd=cli_pwd, auto=true, save=true}
wifi.sta.autoconnect(1) wifi.sta.connect()
if node_id == nil then node_id = "generic" end
wifi.ap.config({ ssid = ap_ssid.."_"..node_id, pwd = ap_pwd, save=true })
ap_ssid=nil ap_pwd=nil
wifi_init2=tmr.create()
wifi_init2:alarm(60*1000, tmr.ALARM_SINGLE, function()
print("BOOOOUM, y'a plus de AP WIFI !")
wifi.setmode(wifi.STATION,true) wifi_init2=nil
print(node.heap()) collectgarbage() print(node.heap())
end)
gpio.write(zLED, gpio.HIGH) gpio.mode(zLED, gpio.OUTPUT) i=1
wifi_init1=tmr.create()
wifi_init1:alarm(1*1000, tmr.ALARM_AUTO , function()
gpio.write(zLED, gpio.LOW) tmr.delay(10000) gpio.write(zLED, gpio.HIGH)
if wifi.sta.getip() == nil then
print("Connecting to AP...")
i=i+1
if i > 15 then
print("pas de wifi :-(")
wifi_init2:unregister() wifi_init2=nil
wifi.setmode(wifi.SOFTAP,true)
wifi_init_end()
end
else
wifi_init_end()
end
end)
end
end
wifi_init()
--[[
file.putcontents("_setup_wifi_", "")
]]