Files
NodeMCU_Lua/DeepSleep/Pet_tracker_3/0_wifi_scan.lua
Christian Zufferey cca4683200 Voilà, il est maintenant capable de repartir sur une ancienne heure après un power boot
Bien qu'il n'a pas de connexion réseau au moment du power boot, il peut
retrouver une ancienne heure sauvegardée dans la flash et continuer à
enregistrer.
Il faut maintenant qu'il voit que quand il a un wifi connu qu'il se
connecte sur Internet pour se resynchroniser avec la bonne heure
2020-08-15 15:02:46 +02:00

72 lines
2.1 KiB
Lua

-- Scripts pour tester l'écoute des AP WIFI
print("\n wifi_scan.lua zf200815.1454 \n")
f= "secrets_project.lua" if file.exists(f) then dofile(f) end
-- https://www.epochconverter.com/
ztime2020 = 1577836800 -- Unix time pour 1.1.2020 0:0:0 GMT
-- sauvegarde les données dans la flash du NodeMCU
function save_flash(zstr_ap_wifi)
ztime1 = tostring(rtctime.get() + 2*3600 - ztime2020)
local zstr = ztime1..", "..zstr_ap_wifi
if verbose then print("saving to flash: "..zstr) end
file.open(z_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, "([^,]+),([^,]+),([^,]+),([^,]*)")
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)
end
print("end display...")
-- 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)
end
end
wifi.sta.getap(1, listap)
]]