Pas mal de reflexions pour savoir comment se connecter au WIFI lors du boot normal

Je pense avoir trouvé la solution.
J'arrive maintenant à détecter si un ap wifi existe ou non grace
à la fonction print(wifi.sta.status()).
J'essaie en premier de me connecter sur le 2e ssid (celui du smartphone)
et continue mon boot normalement.
Si non, j'essaie de me connecter sur mon 1er ssid (celui de la maison)
et continue mon boot normalement.
Si non, j'essaie de me connecter sur le wifi qui se trouve dans eus_params.lua
et continue mon boot normalement.
Si non, je passe en mode setup gadget pour trouver une nouvelle configuration
This commit is contained in:
Christian Zufferey
2020-08-18 23:26:26 +02:00
parent d1cc747c14
commit 9252ef4b47
2 changed files with 68 additions and 15 deletions

View File

@@ -16,7 +16,47 @@ print("le flag est à "..rtcmem.read32(10))
f= "wifi_info.lua" if file.exists(f) then dofile(f) end
wifi.sta.connect()
wifi.sta.disconnect()
print(wifi.sta.status())
wifi.setmode(wifi.STATION,true)
wifi.sta.setaplimit(2)
wifi.sta.config{ssid="apzuzu66", pwd="12345678", save=true, auto=true}
wifi.sta.config{ssid="apzuzu67", pwd="12345678", save=true, auto=true}
wifi.sta.connect()
print(wifi.sta.status())
node.restore()
wifi.sta.changeap(1)
wifi.sta.clearconfig()
wifi.sta.changeap(2)
wifi.sta.clearconfig()
print(wifi.sta.getapindex())
--print stored access point info
do
for k,v in pairs(wifi.sta.getapinfo()) do
if (type(v)=="table") then
print(" "..k.." : "..type(v))
for k,v in pairs(v) do
print("\t\t"..k.." : "..v)
end
else
print(" "..k.." : "..v)
end
end
end
print(wifi.STA_IDLE)
print(wifi.STA_CONNECTING)
print(wifi.STA_WRONGPWD)
print(wifi.STA_APNOTFOUND)
print(wifi.STA_FAIL)
print(wifi.STA_GOTIP)

View File

@@ -1,39 +1,52 @@
# Quelques commandes remote (luatool) à envoyer avec le plugin Atom-IDE-terminal de l'éditeur Atom
# zf200816.1420
Todo à faire pour ce projet !
# zf200818.2326
*****************************
# Todo à faire pour ce projet !
- éviter de trop remplir la FLASH !
- faut mettre à jour le _secrets_projet.lua pour la documentation
- refaire totalement la détection de connexion wifi start
- faire un petit serveur en lua pour décharger les logs automatiquement quand on se trouve à la maison
- comment avoir une balise de recherche quand le pet tracker est perdu ?
J'ai encore 3x problèmes à régler !
- comment faire pour sauver l'horloge afin d'avoir une horloge quand on n'a pas
*****************************
# Logigramme de connexion au WIFI lors du boot
1) on essaie en premier de se connecter sur le cli_ssid2, si oui, on continue la procédure de boot
2) on essaie en deuxième de se connecter sur le cli_ssid1, si oui, on continue la procédure de boot
3) on part en mode setup gadget
4) si pas de réponse au setup gadget, on restart
*****************************
# J'ai encore quelques problèmes à régler !
v- comment faire pour sauver l'horloge afin d'avoir une horloge quand on n'a pas
eu de connexion internet au moment du power on ?
1: il faut que quand il se réveille et que la date est en 1970, il doit alors aller
v- 1: il faut que quand il se réveille et que la date est en 1970, il doit alors aller
chercher la date dans un fichier sur la flash.
Et qu'à chaque fois qu'il écrit le log dans la flash il sauve aussi la date qu'il
a pour si jamais qu'il puisse repartir au moins depuis un temps connu
- comment se comporter quand on a trouvé un WIFI connu ?
v- comment se comporter quand on a trouvé un WIFI connu ?
Afin de pouvoir
1) se connecter pour vider les logs
2) récupérer l'horloge
3) faire la maintenance
4) continuer quand même le recording
1: s'il voit apzuzu6, il se connecte et va régler l'horloge et continue son dsleep habituel
2: s'il voit 3g-s7, il se connecte et va régler l'horloge et arrête son dsleep
- comment avoir une balise de recherche quand le pet tracker est perdu ?
v- 1: s'il voit apzuzu6, il se connecte, va régler l'horloge et continue son dsleep habituel
- 1: s'il voit apzuzu6 ET qu'il voit le serveur de vidange de log, il se connecte,
va régler l'horloge, vide ses logs et continue son dsleep habituel
v- 2: s'il voit 3g-s7, il se connecte et va régler l'horloge et arrête son dsleep