wip, avec le firmeware du 31.12.19 cela marche mieux

- mais j'ai encore des fuites mémoire quand je reconnecte le telnet en remote
- donc avec le nouveau firmeware mon socat ne marche pas du tout, intéressant
This commit is contained in:
Christian Zufferey
2020-06-21 14:03:04 +02:00
parent 3138584dd6
commit b29c4dc20e
3 changed files with 28 additions and 76 deletions

View File

@@ -1,5 +1,5 @@
-- Petit script pour faire office de crontab pour les mesures
print("\n 0_cron.lua zf200621.1206 \n")
print("\n 0_cron.lua zf200621.1350 \n")
cron1=tmr.create()
cron1:alarm(10*1000, tmr.ALARM_AUTO, function()
@@ -7,7 +7,7 @@ cron1:alarm(10*1000, tmr.ALARM_AUTO, function()
-- if verbose then gpio.write(zLED, gpio.LOW) tmr.delay(10000) gpio.write(zLED, gpio.HIGH) end
-- rt_launch()
rt_launch()
-- http_post(influxdb_url,"energy,value=test1_"..yellow_id.." val=1")

View File

@@ -27,7 +27,7 @@ telnet -rN localhost 23000
]]
print("\n 0_tst4_socat.lua zf200621.1256 \n")
print("\n 0_tst4_socat.lua zf200621.1352 \n")
local node, table, tmr, uwrite, tostring =
node, table, tmr, uart.write, tostring
@@ -127,8 +127,8 @@ local function telnet_listener(socket)
socket:on("disconnection", disconnect)
socket:on("sent", sendLine)
-- node.output(queueLine, 0)
print(queueLine, 0)
node.output(queueLine, 0)
-- print(queueLine, 0)
end
@@ -140,10 +140,10 @@ function rt_connect()
print("................rt_connect")
collectgarbage()
local zlaps=tmr.now()/1000000-ztime_connect
print("durée de connexion... "..zlaps)
-- if debug_rec~=nil then debug_rec("durée de connexion... "..zlaps..", "..node.heap()) end
print("durée de retry connect... "..zlaps)
-- if debug_rec~=nil then debug_rec("durée de retry connect... "..zlaps..", "..node.heap()) end
if zlaps>1.5 then
local zstr="trying connect to "..console_host..":"..console_port..","..node.heap()
local zstr="trying connect to "..console_host..":"..console_port..", "..node.heap()
-- if debug_rec~=nil then debug_rec(zstr) end
if verbose==verbose then
gpio.write(zLED, gpio.LOW) tmr.delay(10000) gpio.write(zLED, gpio.HIGH)
@@ -151,6 +151,24 @@ function rt_connect()
end
if http_post~=nil then http_post(influxdb_url,"energy,memory=socat_try_con_"..yellow_id.." ram="..node.heap()) end
ztime_connect=tmr.now()/1000000
srv_rt=nil
srv_rt = net.createConnection(net.TCP, 0)
srv_rt:on("connection", function(sck)
print("................connection")
if debug_rec~=nil then debug_rec("rt_connect, srv_rt:on, connected on, "..node.heap()) end
collectgarbage()
-- if verbose then
gpio.write(zLED, gpio.LOW)
print("connected on "..console_host..":"..console_port)
print(node.heap())
-- end
if http_post~=nil then http_post(influxdb_url,"energy,memory=socat_connected_"..yellow_id.." ram="..node.heap()) end
telnet_listener(sck)
print("Welcome to NodeMCU world.")
end)
srv_rt:connect(console_port,console_host)
else
print("on ne se reconnecte pas vite 1x...")
@@ -177,34 +195,6 @@ end
-- tmr_socat1=tmr.create()
-- tmr_socat1:alarm(15*1000, tmr.ALARM_AUTO , rt_launch)
srv_rt = net.createConnection(net.TCP, 0)
srv_rt:on("connection", function(sck)
print("................connection")
if debug_rec~=nil then debug_rec("rt_connect, srv_rt:on, connected on, "..node.heap()) end
collectgarbage()
-- if verbose then
gpio.write(zLED, gpio.LOW)
print("connected on "..console_host..":"..console_port)
print(node.heap())
-- end
if http_post~=nil then http_post(influxdb_url,"energy,memory=socat_connected_"..yellow_id.." ram="..node.heap()) end
telnet_listener(sck)
print("Welcome to NodeMCU world.")
end)
srv_rt:on("receive", function(sck)
print("zdebug, receive")
end)
srv_rt:on("disconnection", function(sck)
print("zdebug, disconnection")
end)
srv_rt:on("sent", function(sck)
print("zdebug, sent")
end)

View File

@@ -4,46 +4,7 @@
Todo à faire pour ce projet !
- faire la documentation pour le fonctionnement de concept de rtelnet dans un fichier à part .md
- y regarder pour faire tourner en MEME temps le reverse et le forward telnet
- z lancement ou arrêt du WEBIDE via la home page
v- ajouter fonction restart dans z_index.html (ATTENTION avec un argument restart, pas besoin de faire une page restart.html !)
v- ajouter l'adresse du zdyndns dans les secrets projets
v- ajouter l'affichage du node_id dans z_index.html
v- ajouter le web_srv2 dans boot au lieu de boot2
v- ajouter un état du RELAY et de la LED dans z_index.html
v- ajouter une page affichage variables globales
v- améliorer api_sonoff.html, il faut ajouter 'home' sur la page
v- améliorer le résultat de api_sonoff.html, il faut sortir l'état des IO lors d'un changement comme confirmation
v- arrêter de demander de connecter le WIFI automatiquement en mode station juste après le boot dans la config wifiinit (automatic connect)
v- clignoter la led à chaque mesure en fonction de verbose
v- copier secrets_project et secrets_wifi dans _secrets_project_ _secrets_wifi_ pour la documentation
v- déplacer le mode AP dans wifi_init
v- enlever la ligne wifi init dans z_index.html
v- faire la page web service pour allumer la LED
v- faire la page web service pour allumer le relay
v- faire que send_data et read_temp soient lancés à la volée afin d'économiser de la RAM quand ce n'est pas utilisé
v- garder variable node_id pour identification après poweron général, reattribution adrs ip sur modem 4G
v- if verbose print partout dans *.lua
v- le wifi setup ne fonctionne toujours pas quand il y a déjà un ap de connecté (problème du reboot quand adrs ip ok)!
v- mettre le numéro jaune du nodemcu dans les secrets projet et prendre 23000+num_jaune comme numéro de port pour le reverse telnet
v- passer à 10 secondes la seconde chance
v- passer à 15x les tentatives de connexions au WIFI
v- refaire le fichier _secrets_project.lua_ à partir de secrets_project.lua
v- regarder pour mettre "Welcome to NodeMCU world." quand connected, en fait quand on arrive dans le telnet_listener après la redirection du port série !
v- se connecter sur le zdyndns avec le numéro du port du telnet reverse utilisé
v- terminer la page .html affichage de la température et de l'humidité
v- terminer le reverse telnet ;-)
v- trouver un moyen pour configurer la lED dans initz.lua sans le rendre dangereux en cas de problème (éviter le reflashing en cas de reboot loop)
v- utiliser le bouton pour piloter le verbose
v- vérifier le fonctionnement d'allumer la LED, car ne marche plus !
x- ajouter argument ok dans wifi_init.html (sécurité)
x- mettre ZLED2 et ZRELAY dans secrets_project
???
# si luatool ne marche pas sur le MAC, il faut lire ceci:
# https://docs.google.com/document/d/1q64uK3IMOgEDdKaIAttbYuFt4GuLQ06k3FLeyfCsWLg/edit#heading=h.bmefcu67uwj0
@@ -98,6 +59,7 @@ export zport="23000"
ssh -N -L 23000:localhost:23000 ubuntu@www.zuzu-test.ml &
telnet -rN $zIP $zport
=node.heap()
~.