Quand il voit qu'il est à la maison se remet à l'heure sur Internet
Maintenant quand il voit qu'il a le ssid1, il se connecte sur Internet pour mettre à jour l'horloge. Mais s'il voit ssid2, il redémarre et s'arrête pour la maintenance. Reste encore à modifier le wifi_init qui soit capable de se connecter aussi sur le ssid2, car actuellement c'est seulement le ssid1.
This commit is contained in:
@@ -1,11 +1,8 @@
|
||||
-- Teste le deep sleep !
|
||||
-- s'endore pendant xx secondes après xx secondes
|
||||
|
||||
-- Script de gestion du deep sleep !
|
||||
-- ATTENTION: il faut connecter la pin 0 à la pin RESET avec une résistance de 1k !
|
||||
|
||||
print("\n dsleep2.lua zf200815.1430 \n")
|
||||
print("\n 0_dsleep2.lua zf200816.1934 \n")
|
||||
|
||||
zLED=4
|
||||
f= "flash_led_xfois.lua" if file.exists(f) then dofile(f) end
|
||||
|
||||
function ztime()
|
||||
@@ -13,40 +10,25 @@ function ztime()
|
||||
return (string.format("%04d/%02d/%02d %02d:%02d:%02d", tm["year"], tm["mon"], tm["day"], tm["hour"], tm["min"], tm["sec"]))
|
||||
end
|
||||
|
||||
-- on s'endort
|
||||
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(0.1*1000*1000)
|
||||
-- end)
|
||||
print("Il est "..ztime().." et je vais dormir...")
|
||||
tmr.delay(100*1000)
|
||||
wifi.setmode(wifi.NULLMODE,true)
|
||||
-- durée du sommeil !
|
||||
rtctime.dsleep(0.1*1000*1000)
|
||||
end
|
||||
|
||||
|
||||
-- on se réveil, vérifie si on peut avoir du réseau autrement on va redormir
|
||||
-- on se réveil
|
||||
function dsleep_wake_up()
|
||||
print("Coucou, je suis réveillé... et il est "..ztime())
|
||||
if rtctime.get() < 1597494477 then
|
||||
print("oups je n'ai pas la bonne heure...")
|
||||
rtctime.set(file.getcontents("_ztime_"))
|
||||
print("voilà j'ai retrouvé une ancienne heure "..ztime())
|
||||
|
||||
end
|
||||
if wifi.sta.getip() == nil then
|
||||
print("Pas de réseau donc je scan le wifi...")
|
||||
f = "0_wifi_scan.lua" if file.exists(f) then dofile(f) end
|
||||
wifi.setmode(wifi.STATION)
|
||||
scan_wifi()
|
||||
else
|
||||
print("Y'a du réseau donc je m'arrête...")
|
||||
end
|
||||
wifi.setmode(wifi.STATION)
|
||||
f = "0_wifi_scan.lua" if file.exists(f) then dofile(f) end
|
||||
end
|
||||
|
||||
|
||||
dsleep_wake_up()
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
-- Scripts pour tester l'écoute des AP WIFI
|
||||
|
||||
print("\n wifi_scan.lua zf200816.1417 \n")
|
||||
|
||||
f= "secrets_project.lua" if file.exists(f) then dofile(f) end
|
||||
|
||||
-- Scripts pour scanner les AP WIFI et les enregistrer dans le log
|
||||
-- https://www.epochconverter.com/
|
||||
|
||||
print("\n 0_wifi_scan.lua zf200816.1955 \n")
|
||||
|
||||
ztime2020 = 1577836800 -- Unix time pour 1.1.2020 0:0:0 GMT
|
||||
|
||||
-- sauvegarde les données dans la flash du NodeMCU
|
||||
@@ -15,57 +13,66 @@ function save_flash(zstr_ap_wifi)
|
||||
file.open(logs_ap_wifi, "a+") file.writeline(zstr) file.close()
|
||||
end
|
||||
|
||||
-- print AP list in new format
|
||||
function scan_wifi()
|
||||
print(ztime())
|
||||
function listap(t)
|
||||
print("start display liste ap wifi...")
|
||||
for k,v in pairs(t) do
|
||||
local ssid, rssi, authmode, channel = string.match(v, "([^,]+),([^,]+),([^,]+),([^,]*)")
|
||||
function listap(t)
|
||||
|
||||
if ssid == "3g-s7" then
|
||||
print("ah je vois que je dois m'arrêter...")
|
||||
zdsleep_stop =true
|
||||
end
|
||||
print("coucou: ."..ssid..".")
|
||||
|
||||
-- print(ssid,rssi)
|
||||
-- print(k.." : "..v)
|
||||
-- local zstr = k..", "..v
|
||||
local zstr = k..', "'..ssid..'", '..rssi
|
||||
-- local zstr = v
|
||||
save_flash(zstr)
|
||||
print("start display liste ap wifi...")
|
||||
for k,v in pairs(t) do
|
||||
local ssid, rssi, authmode, channel = string.match(v, "([^,]+),([^,]+),([^,]+),([^,]*)")
|
||||
if ssid == cli_ssid2 then
|
||||
print("ah je vois que je dois m'arrêter...")
|
||||
zdsleep_stop =true
|
||||
elseif ssid == cli_ssid1 then
|
||||
print("ah je vois que je dois chercher l'heure...")
|
||||
zdsleep_get_time = true
|
||||
end
|
||||
print("end display...")
|
||||
local zstr = k..', "'..ssid..'", '..rssi
|
||||
save_flash(zstr)
|
||||
end
|
||||
print("...end display")
|
||||
|
||||
if zdsleep_stop then
|
||||
node.restart()
|
||||
elseif zdsleep_get_time then
|
||||
wifi.setmode(wifi.STATION,true)
|
||||
wifi.sta.config{ssid=cli_ssid1, pwd=cli_pwd1} wifi.sta.connect()
|
||||
gpio.write(zLED, gpio.HIGH) gpio.mode(zLED, gpio.OUTPUT) i=1
|
||||
tmr_wifi_init1=tmr.create()
|
||||
tmr_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(i,"Connecting to AP...")
|
||||
i=i+1
|
||||
if i > 10 then
|
||||
print("pas de wifi :-(")
|
||||
print("pas grave, on continue le dsleep")
|
||||
-- sauve l'heure sur la flash pour si jamais il y a un boot power on sans Internet
|
||||
file.putcontents("_ztime_", rtctime.get())
|
||||
dsleep_on()
|
||||
end
|
||||
else
|
||||
tmr_wifi_init1:unregister()
|
||||
rtctime.set(0) sntp.sync(nil, nil, nil, 1)
|
||||
ztmr_set_time = tmr.create()
|
||||
ztmr_set_time:alarm(1*1000, tmr.ALARM_AUTO , function()
|
||||
zrtc_time = rtctime.get()
|
||||
print("je cherche l'heure: "..zrtc_time)
|
||||
if zrtc_time > ztime2020 then
|
||||
ztmr_set_time:unregister()
|
||||
print("j'ai trouvé l'heure: "..zrtc_time)
|
||||
file.putcontents("_ztime_", zrtc_time)
|
||||
-- print(file.getcontents("_ztime_"))
|
||||
dsleep_on()
|
||||
end
|
||||
end)
|
||||
end
|
||||
end)
|
||||
else
|
||||
-- sauve l'heure sur la flash pour si jamais il y a un boot power on sans Internet
|
||||
file.putcontents("_ztime_", rtctime.get())
|
||||
|
||||
if zdsleep_stop then
|
||||
node.restart()
|
||||
else
|
||||
dsleep_on()
|
||||
end
|
||||
end
|
||||
print("wifi scan...")
|
||||
wifi.sta.getap(1, listap)
|
||||
end
|
||||
|
||||
--[[
|
||||
scan_wifi()
|
||||
]]
|
||||
|
||||
|
||||
|
||||
--[[
|
||||
-- Print AP list that is easier to read
|
||||
function listap(t) -- (SSID : Authmode, RSSI, BSSID, Channel)
|
||||
print("\n\t\t\tSSID\t\t\t\t\tBSSID\t\t\t RSSI\t\tAUTHMODE\t\tCHANNEL")
|
||||
for bssid,v in pairs(t) do
|
||||
local ssid, rssi, authmode, channel = string.match(v, "([^,]+),([^,]+),([^,]+),([^,]*)")
|
||||
print(string.format("%32s",ssid).."\t"..bssid.."\t "..rssi.."\t\t"..authmode.."\t\t\t"..channel)
|
||||
dsleep_on()
|
||||
end
|
||||
end
|
||||
|
||||
print("wifi scan...")
|
||||
wifi.sta.getap(1, listap)
|
||||
|
||||
|
||||
]]
|
||||
|
||||
Reference in New Issue
Block a user