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
373 lines
9.2 KiB
Plaintext
373 lines
9.2 KiB
Plaintext
# Quelques commandes remote (luatool) à envoyer avec le plugin Atom-IDE-terminal de l'éditeur Atom
|
|
# 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 ?
|
|
|
|
|
|
|
|
*****************************
|
|
# 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 ?
|
|
|
|
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
|
|
|
|
|
|
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
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
Convertisseur GPX to CSV
|
|
https://mygeodata.cloud/converter/gpx-to-csv
|
|
|
|
|
|
???
|
|
|
|
# si luatool ne marche pas sur le MAC, il faut lire ceci:
|
|
# https://docs.google.com/document/d/1q64uK3IMOgEDdKaIAttbYuFt4GuLQ06k3FLeyfCsWLg/edit#heading=h.bmefcu67uwj0
|
|
|
|
# raccourcis clavier
|
|
# CTRL+ALT+ENTER envoie au terminal la ligne de l'éditeur
|
|
# SHIT+CTRL+` ouvre le terminal (attention, ne pas oublier de copier le *path* dans le *tree* et le changer)
|
|
# ALT+CMD+F bascule entre le terminal et l'éditeur
|
|
|
|
screen /dev/cu.wchusb
|
|
serial1410 115200
|
|
|
|
# définitions à faire AVANT !
|
|
#export luatool_tty="/dev/cu.wchusbserial1410"
|
|
|
|
#export zIP="192.168.0.182"
|
|
#export zport="23"
|
|
|
|
export zIP="localhost"
|
|
export zport="23000"
|
|
|
|
|
|
# ouvrir et fermer (ALT+N+.) une session telnet sur le NodeMCU avec l'adresse zIP)
|
|
telnet -rN $zIP $zport
|
|
~.
|
|
--node.restart()
|
|
collectgarbage()
|
|
=node.heap()
|
|
for k,v in pairs(_G) do print(k,v) end
|
|
|
|
|
|
################################
|
|
# commandes lua pour ce projet #
|
|
################################
|
|
# pour les tests en direct sur la gateway
|
|
ssh ubuntu@www.zuzu-test.ml
|
|
socat TCP-LISTEN:23069,fork,reuseaddr STDIO
|
|
################################
|
|
# pour les tests en remote
|
|
killall -9 ssh
|
|
ssh ubuntu@www.zuzu-test.ml killall -9 socat
|
|
|
|
ssh ubuntu@www.zuzu-test.ml socat TCP-LISTEN:23010,reuseaddr,fork TCP-LISTEN:23000,reuseaddr,bind=127.0.0.1 &
|
|
# SHIFT+CMD+K SHIFT+CMD+K ALT+CMD+F
|
|
|
|
watch -n 1 'ssh ubuntu@www.zuzu-test.ml netstat -nat |grep 230'
|
|
|
|
# ALT+CMD+F CTRL+C ALT+CMD+F
|
|
|
|
export zIP="localhost"
|
|
export zport="23000"
|
|
|
|
ssh -N -L 23000:localhost:23000 ubuntu@www.zuzu-test.ml &
|
|
|
|
telnet -rN $zIP $zport
|
|
verbose=false
|
|
|
|
|
|
file.remove("apwifi.txt")
|
|
print(ztime())
|
|
dsleep_on()
|
|
|
|
dofile("cat2.lua")
|
|
cat2("apwifi.txt")
|
|
|
|
zcat_logs_ap_wifi()
|
|
|
|
verbose=false
|
|
~.
|
|
|
|
=node.heap()
|
|
verbose=true
|
|
node.restart()
|
|
|
|
dofile("head.lua")
|
|
zhead("0_ultra_son.lua")
|
|
|
|
./luatool.py --ip $zIP:$zport -f boot.lua
|
|
./luatool.py --ip $zIP:$zport -f 0_get_power.lua
|
|
./luatool.py --ip $zIP:$zport -f 0_cron.lua
|
|
./luatool.py --ip $zIP:$zport -f 0_http_post.lua
|
|
./luatool.py --ip $zIP:$zport -f 0_tst5_socat.lua
|
|
./luatool.py --ip $zIP:$zport -f 0_dsleep2.lua
|
|
|
|
./luatool.py --ip $zIP:$zport -f dir.lua
|
|
./luatool.py --ip $zIP:$zport -f cat2.lua
|
|
./luatool.py --ip $zIP:$zport -f head.lua
|
|
|
|
|
|
|
|
./luatool.py --ip $zIP:$zport --zrestart
|
|
|
|
|
|
= node.bootreason()
|
|
# https://nodemcu.readthedocs.io/en/master/modules/node/#nodebootreason
|
|
|
|
for k,v in pairs(_G) do print(k,v) end
|
|
verbose=true
|
|
#zdyn
|
|
|
|
|
|
|
|
|
|
./luatool.py --ip $zIP:$zport -f api_sonoff.html
|
|
http://192.168.0.182
|
|
|
|
./luatool.py --ip $zIP:$zport -f dir.lua
|
|
|
|
telnet -rN $zIP $zport
|
|
verbose=false
|
|
verbose=true
|
|
~.
|
|
|
|
=node.heap()
|
|
collectgarbage()
|
|
=node.heap()
|
|
|
|
|
|
dofile("dir.lua")
|
|
dir()
|
|
for k,v in pairs(_G) do print(k,v) end
|
|
dofile("wifi_info.lua")
|
|
|
|
node.restart()
|
|
|
|
~.
|
|
./luatool.py --ip $zIP:$zport -f head.lua
|
|
telnet -rN $zIP $zport
|
|
dofile("head.lua")
|
|
zhead("boot.lua")
|
|
|
|
|
|
|
|
verbose=true
|
|
verbose=false
|
|
zsort_rssi() zshow()
|
|
|
|
|
|
#commandes luatool pour ce projet le .137 est à jour avec la nouvelle version du wifi !
|
|
~.
|
|
./luatool.py --ip $zIP:$zport -l
|
|
./luatool.py --ip $zIP:$zport -f wifi_init.lua
|
|
|
|
|
|
./luatool.py --ip $zIP:$zport -f secrets_wifi.lua
|
|
./luatool.py --ip $zIP:$zport -f initz.lua -t init.lua
|
|
./luatool.py --ip $zIP:$zport -f boot.lua
|
|
./luatool.py --ip $zIP:$zport -f boot2.lua
|
|
./luatool.py --ip $zIP:$zport -f wifi_init.lua
|
|
./luatool.py --ip $zIP:$zport -f set_time.lua
|
|
./luatool.py --ip $zIP:$zport -f wifi_info.lua
|
|
./luatool.py --ip $zIP:$zport -f c.lua
|
|
./luatool.py --ip $zIP:$zport -f cat.lua
|
|
./luatool.py --ip $zIP:$zport -f flash_led_xfois.lua
|
|
./luatool.py --ip $zIP:$zport -f head.lua
|
|
|
|
./luatool.py --ip $zIP:$zport -f b.lua
|
|
./luatool.py --ip $zIP:$zport -f web_srv2.lua
|
|
./luatool.py --ip $zIP:$zport -f z_index.html
|
|
|
|
|
|
./luatool.py --ip $zIP:$zport -f wifi_get_conf.html
|
|
./luatool.py --ip $zIP:$zport -f wifi_set_conf.html
|
|
|
|
|
|
./luatool.py --ip $zIP:$zport -f z_page1.html
|
|
./luatool.py --ip $zIP:$zport -f z_page2.html
|
|
./luatool.py --ip $zIP:$zport -f z_page3.html
|
|
./luatool.py --ip $zIP:$zport -f z_page4.html
|
|
|
|
./luatool.py --ip $zIP:$zport --delete wifi_ap_start.lua
|
|
./luatool.py --ip $zIP:$zport --delete wifi_cli_conf.lua
|
|
./luatool.py --ip $zIP:$zport --delete wifi_cli_start.lua
|
|
./luatool.py --ip $zIP:$zport --delete dir.lua
|
|
./luatool.py --ip $zIP:$zport --delete initz.lua
|
|
./luatool.py --ip $zIP:$zport --delete wifi_conf.lua
|
|
|
|
|
|
|
|
dofile("wifi_info.lua")
|
|
--node.restart()
|
|
for k,v in pairs(_G) do print(k,v) end
|
|
t=12
|
|
t=nil
|
|
print(pcall(function () print("2"..t) end))
|
|
|
|
|
|
|
|
# ici c'est maintenant ;-)
|
|
~.
|
|
./luatool.py --ip $zIP:$zport -f b.lua
|
|
#./luatool.py --ip $zIP:$zport --zrestart
|
|
telnet -rN $zIP $zport
|
|
zsort_rssi() zshow()
|
|
print(ztrig_rssi)
|
|
ztrig_rssi=-1000
|
|
ztrig_rssi=-90
|
|
|
|
|
|
|
|
# test de la gestion des erreurs
|
|
~.
|
|
./luatool.py --ip $zIP:$zport -f c.lua
|
|
#./luatool.py --ip $zIP:$zport --zrestart
|
|
telnet -rN $zIP $zport
|
|
status, err = pcall(function () dofile("c.lua") end) if status==false then print("Error: ",err) end
|
|
zerr=nil
|
|
zerr=1
|
|
ztmr_tst_err:unregister()
|
|
|
|
|
|
|
|
|
|
ztmr_tst_err:unregister()
|
|
for k,v in pairs(_G) do print(k,v) end
|
|
|
|
./luatool.py --ip $zIP --zrestart
|
|
|
|
|
|
# faire un cat d'un fichier sur le NodeMCU
|
|
dofile("cat.lua")
|
|
cat("boot2.lua")
|
|
|
|
|
|
# commandes luatool
|
|
./luatool.py -h
|
|
./luatool.py --ip $zIP:$zport -i
|
|
./luatool.py --ip $zIP:$zport -l
|
|
./luatool.py --ip $zIP:$zport -f toto.lua -d
|
|
./luatool.py --ip $zIP:$zport --delete toto.lua
|
|
|
|
|
|
|
|
****************************************************************************
|
|
|
|
|
|
# création des tunnels ssh
|
|
ATTENTION: dans un premier terminal !
|
|
Pour Bolo à Ruchonnet:
|
|
ssh -t -L 2323:localhost:2323 ubuntu@www.zuzu-test.ml ssh -N -L 2323:192.168.8.102:23 ubuntu@localhost -p 20223
|
|
|
|
Pour le Crêt
|
|
ssh -N -L 2323:192.168.0.137:23 admin@z.zufferey.com -p 1822
|
|
ssh -N -L 2323:192.168.0.122:23 admin@z.zufferey.com -p 1822
|
|
ssh -N -L 2323:192.168.0.118:23 admin@z.zufferey.com -p 1822
|
|
|
|
ATTENTION: dans un deuxième terminal !
|
|
export zIP="localhost"
|
|
export zport="2323"
|
|
telnet -rN $zIP $zport
|
|
~.
|
|
=node.heap()
|
|
|
|
verbose=false
|
|
verbose=true
|
|
|
|
dofile("dir2.lua")
|
|
dir()
|
|
filec("head.lua")
|
|
|
|
dofile("head.lua")
|
|
zhead("dir2.lua")
|
|
|
|
dofile("cat.lua")
|
|
cat("head.lua")
|
|
|
|
~.
|
|
--node.restart()
|
|
=node.heap()
|
|
|
|
|
|
status, err = pcall(function () fonction_a_tester() end) if status==false then print("Error: ",err) end
|
|
status, err = pcall(function () toto() end) if status==false then print("Error: ",err) end
|
|
|
|
|
|
|
|
Gestion de la passerelle SSH reverse
|
|
Puis depuis une autre console on peut faire directement pour aller sur l'OpiZ (ici le 20223):
|
|
ssh -t ubuntu@www.zuzu-test.ml ssh ubuntu@localhost -p 20223
|
|
|
|
ou
|
|
|
|
1ère console
|
|
On établit le tunnel local avec l'OpiZ
|
|
ssh -N -L 20223:localhost:20223 ubuntu@www.zuzu-test.ml
|
|
|
|
|
|
2ème console, on utilise le tunnel OpiZ en local sur sa machine
|
|
pour aller sur l'OpiZ
|
|
ssh ubuntu@localhost -p 20223
|
|
|
|
pour copier sa clef SSH depuis un MAC
|
|
./ssh-copy-id -i ~/.ssh/id_rsa.pub 'ubuntu@localhost -p 20223'
|
|
après on devrait pouvoir se connecter sans devoir entrer son password à chaque fois
|
|
ssh ubuntu@localhost -p 20223
|
|
|
|
ou, on établit un tunnel pour telnet sur un NodeMCU
|
|
ssh -L 2323:192.168.0.137:23 ubuntu@localhost -p 20223
|
|
puis
|
|
telnet -rN localhost 2323
|
|
|
|
ou, on établit un tunnel pour le rpimonotor sur l'OpiZ
|
|
ssh -N -L 8888:192.168.0.113:8888 ubuntu@localhost -p 20223
|
|
puis
|
|
http://localhost:8888
|
|
|
|
ou, on établit un tunnel proxy Socket 5 pour le modem 4G HUAWEI sur l'OpiZ
|
|
ssh -N -D 8080 ubuntu@localhost -p 20223
|
|
puis depuis le browser FireFox avec le plugin FoxyProxy Socket 5 sur localhost port 8080
|
|
http://192.168.8.1
|
|
|
|
|
|
|
|
.
|