Commencé maintenant à gérer la mise en sleep et le réveil du NodeMCU

This commit is contained in:
Christian Zufferey
2020-07-22 15:47:32 +02:00
parent d9d92f34ba
commit 3e676db63d
6 changed files with 128 additions and 7 deletions

View File

@@ -0,0 +1,96 @@
-- Teste le deep sleep !
-- s'endore pendant xx secondes après xx secondes
-- ATTENTION: il faut connecter la pin 0 à la pin RESET avec une résistance de 1k !
print("\n dsleep.lua zf200722.1546 \n")
zLED=4
f= "flash_led_xfois.lua" if file.exists(f) then dofile(f) end
function ztime()
tm = rtctime.epoch2cal(rtctime.get()+2*3600)
return (string.format("%04d/%02d/%02d %02d:%02d:%02d", tm["year"], tm["mon"], tm["day"], tm["hour"], tm["min"], tm["sec"]))
end
function dsleep_on()
print("timer dsleep on...")
-- ztmr_SLEEP = tmr.create()
-- ztmr_SLEEP:alarm(2*1000, tmr.ALARM_SINGLE, function ()
print("Il est "..ztime().." et je vais dormir...")
tmr.delay(100*1000)
-- node.dsleep(4*1000*1000)
-- print(node.bootreason())
rtcmem.write32(10, 43690) --flag pour détecter le réveil dsleep au moment du boot
-- print("le flag est à "..rtcmem.read32(10))
wifi.setmode(wifi.NULLMODE,true)
rtctime.dsleep(4*1000*1000)
-- end)
end
--[[
dsleep_on()
print(node.bootreason())
print("le flag est à "..rtcmem.read32(10))
f= "wifi_info.lua" if file.exists(f) then dofile(f) end
function ztime()
tm = rtctime.epoch2cal(rtctime.get()+2*3600)
print(string.format("%04d/%02d/%02d %02d:%02d:%02d", tm["year"], tm["mon"], tm["day"], tm["hour"], tm["min"], tm["sec"]))
end
print(ztime())
]]
-- on se réveil, vérifie si on peut avoir du réseau autrement on va redormir
function dsleep_wake_up()
print("Coucou, je suis réveillé... et il est "..ztime())
end
-- function dsleep_off()
-- print("timer dsleep off...")
-- ztmr_SLEEP:unregister()
-- end
-- function watch_wifi_on()
-- dsleep_on()
-- ztmr_watch_wifi_on = tmr.create()
-- ztmr_watch_wifi_on:alarm(1*1000, tmr.ALARM_AUTO , function()
-- if wifi.sta.getip() == nil then
-- -- print("Unconnected... (on)")
-- else
-- ztmr_watch_wifi_on:stop()
-- print("Connected... (on)")
-- -- f= "wifi_info.lua" if file.exists(f) then dofile(f) end
-- watch_wifi_off()
-- end
-- end)
-- end
-- function watch_wifi_off()
-- dsleep_off()
-- ztmr_watch_wifi_on:unregister()
-- ztmr_watch_wifi_off = tmr.create()
-- ztmr_watch_wifi_off:alarm(1*1000, tmr.ALARM_AUTO , function()
-- if wifi.sta.getip() == nil then
-- ztmr_watch_wifi_off:stop()
-- print("Unconnected... (off)")
-- watch_wifi_on()
-- ztmr_watch_wifi_off:unregister()
-- else
-- -- print("Connected... (off)")
-- xfois = 2
-- blink_LED ()
-- end
-- end)
-- end
-- watch_wifi_on()
dsleep_wake_up()

View File

@@ -1,4 +1,22 @@
zf200621.2337 zf200722.1537
dsleep_on()
print(node.bootreason())
print("le flag est à "..rtcmem.read32(10))
f= "wifi_info.lua" if file.exists(f) then dofile(f) end
function ztime()
tm = rtctime.epoch2cal(rtctime.get()+2*3600)
print(string.format("%04d/%02d/%02d %02d:%02d:%02d", tm["year"], tm["mon"], tm["day"], tm["hour"], tm["min"], tm["sec"]))
end
print(ztime())
srv_rt:on("connection", nil) srv_rt:on("connection", nil)

View File

@@ -1,6 +1,6 @@
-- Scripts pour tester l'écoute des AP WIFI -- Scripts pour tester l'écoute des AP WIFI
print("\n a.lua zf181211.0016 \n") print("\n a.lua zf200722.1544 \n")
--f= "wifi_ap_stop.lua" if file.exists(f) then dofile(f) end --f= "wifi_ap_stop.lua" if file.exists(f) then dofile(f) end
--f= "wifi_cli_conf.lua" if file.exists(f) then dofile(f) end --f= "wifi_cli_conf.lua" if file.exists(f) then dofile(f) end
@@ -12,7 +12,7 @@ print("\n a.lua zf181211.0016 \n")
-- print AP list in new format -- print AP list in new format
function a() function a()
ztime() print(ztime())
function listap(t) function listap(t)
print("") print("")
for k,v in pairs(t) do for k,v in pairs(t) do
@@ -23,7 +23,11 @@ function a()
wifi.sta.getap(1, listap) wifi.sta.getap(1, listap)
end end
--a() --[[
a()
]]
--[[ --[[
-- Print AP list that is easier to read -- Print AP list that is easier to read

View File

@@ -1,7 +1,7 @@
-- Scripts à charger après le boot pour démarrer son projet -- Scripts à charger après le boot pour démarrer son projet
function boot() function boot()
print("\n boot.lua zf200722.1132 \n") print("\n boot.lua zf200722.1536 \n")
print("On lance le boot...") print("On lance le boot...")
collectgarbage() print(node.heap()) collectgarbage() print(node.heap())
local f local f
@@ -16,6 +16,9 @@ function boot()
f = "set_time.lua" if file.exists(f) then dofile(f) end f = "set_time.lua" if file.exists(f) then dofile(f) end
print(node.heap()) collectgarbage() print(node.heap()) print(node.heap()) collectgarbage() print(node.heap())
f = "0_dsleep2.lua" if file.exists(f) then dofile(f) end
print(node.heap()) collectgarbage() print(node.heap())
-- f = "flash_led_xfois.lua" if file.exists(f) then dofile(f) end -- f = "flash_led_xfois.lua" if file.exists(f) then dofile(f) end
-- print(node.heap()) collectgarbage() print(node.heap()) -- print(node.heap()) collectgarbage() print(node.heap())

View File

@@ -3,7 +3,7 @@
-- le script repair.lua pendant xx secondes avant de continuer -- le script repair.lua pendant xx secondes avant de continuer
--Source: https://nodemcu.readthedocs.io/en/master/en/modules/node/#nodebootreason --Source: https://nodemcu.readthedocs.io/en/master/en/modules/node/#nodebootreason
print("\n init.lua zf200722.1142 \n") print("\n init.lua zf200722.1526 \n")
verbose = true verbose = true
@@ -63,7 +63,7 @@ function initz()
print("external reset") print("external reset")
if rtcmem.read32(10) == 43690 then if rtcmem.read32(10) == 43690 then
print("dsleep wake up") print("dsleep wake up")
f = "0_dsleep.lua" if file.exists(f) then dofile(f) end f = "0_dsleep2.lua" if file.exists(f) then dofile(f) end
else else
second_chance() second_chance()
end end