Commencé à bosser sur l'effacement de la configuration WIFI depuis une page WEB

This commit is contained in:
Christian Zufferey
2019-12-22 23:58:34 +01:00
parent bcf1a8ad75
commit 459f4b0d62
9 changed files with 42 additions and 155 deletions

View File

@@ -1,6 +1,6 @@
-- Scripts à charger après le boot pour démarrer son projet
print("\n boot2.lua zf191222.1957 \n")
print("\n boot2.lua zf191222.2252 \n")
function boot2()
second_chance=nil initz=nil boot=nil zLED=nil
@@ -17,7 +17,7 @@ function boot2()
ap_ssid=nil ap_pwd=nil
f= "web_srv2.lua" if file.exists(f) then dofile(f) end
boot2_tmr3=tmr.create()
boot2_tmr3:alarm(300*1000, tmr.ALARM_SINGLE, function()
boot2_tmr3:alarm(30*1000, tmr.ALARM_SINGLE, function()
print("BOOOOUM, y'a plus de AP WIFI !")
wifi.setmode(wifi.STATION,true) boot2_tmr3=nil
print(node.heap()) collectgarbage() print(node.heap())

View File

@@ -1,6 +1,6 @@
#!/bin/bash
# Petit script pour télécharger facilement tout le binz via le port série
#zf191221.1126
#zf191222.2329
# S'il y a des erreurs lors d'un téléchargement, il faut simplement augmenter un peu le délai !
# Il est préférable de télécharger en premier les *gros* fichiers .lua !
@@ -19,10 +19,7 @@ chmod +x luatool.py
./luatool.py --port $luatool_tty -l
read -p "Est-ce bien vide ?"
./luatool.py --port $luatool_tty --bar -f z_page4.html
./luatool.py --port $luatool_tty --bar -f z_page3.html
./luatool.py --port $luatool_tty --bar -f z_page2.html
./luatool.py --port $luatool_tty --bar -f z_page1.html
./luatool.py --port $luatool_tty --bar -f wifi_clear.html
./luatool.py --port $luatool_tty --bar -f z_index.html
./luatool.py --port $luatool_tty --bar -f wifi_init.lua
./luatool.py --port $luatool_tty --bar -f wifi_info.lua

View File

@@ -1,6 +1,6 @@
-- petit script de serveur WEB avec Active Server Page ZYX
print("\n web_srv2.lua zf191222.2006 \n")
print("\n web_srv2.lua zf191222.2335 \n")
-- dû refaire la commande file.readline car elle bug quand ligne longue
function zread_line()
@@ -27,7 +27,10 @@ function send_file(zclient, zfilename)
file_web = file.open(zfilename, "r")
if file_web then
repeat
local line = zread_line()
local line = file_web:readline()
-- local line = file_web:read('\n')
-- local line = zread_line()
-- print("hello toto",string.len(line))
if line then
if string.find(line, "<%%") then
-- print("start lua...")
@@ -59,7 +62,7 @@ srv:listen(80, function(conn)
conn:on("receive", function(client, request)
_, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP")
print("zrequest: \n---\n"..request.."---")
-- print("zrequest: \n---\n"..request.."---")
-- print("method: ", method) print("path: ", path) print("vars: ", vars)

View File

@@ -3,24 +3,34 @@
<head>
<meta charset='utf-8' name='viewport' content='width=device-width, initial-scale=1.0'>
<title>ESP8266 page 3</title>
<title>Wifi clear</title>
</head>
<body>
<h1>ESP8266 page 4 190726.1955</h1>
<h1>Wifi clear 191222.2348</h1>
<br>
Web service concentrateur de mesures de température !<br>
Effacement de la configuration WIFI actuelle !<br>
<a href="/">Retour à la home page...</a><br><br><br>
Test d'un web service qui fonctionne avec l'Active Server Page ZYX.<br><br>
Le code Lua pour afficher ce résultat se trouve dans le code HTML de cette page et est exécuté sur le NodeMCU.<br>
Le code Lua pour afficher ce résultat se trouve dans le code HTML de cette page et est exécuté sur
le NodeMCU.<br>
Les données viennent du NodeMCU !<br><br>
<%
zout("Il reste: "..node.heap().." de RAM !<br><br>\n")
%>
<%
zout("Booooooooum dans 5 secondes!<br>")
tmr.create():alarm(5*1000, tmr.ALARM_SINGLE, function()
file.remove("eus_params.lua")
node.restart()
end)
%>
Les arguments du web service (GET) sont:<br><br>
<%
if (vars ~= nil) then
@@ -28,7 +38,7 @@
for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
_GET[k] = v
zout(k..": "..v.."<br>")
if k == "field1" then
if k == "field1" then
ztemp1_conc = v
elseif k == "field2" then
ztemp2_conc = v

View File

@@ -1,7 +1,7 @@
-- Petit script pour initaliser la couche WIFI
function wifi_init()
print("\n wifi_init.lua zf191222.2008 \n")
print("\n wifi_init.lua zf191222.2356 \n")
-- charge les secrets pour le wifi
f= "secrets_wifi.lua" if file.exists(f) then dofile(f) end
@@ -11,14 +11,14 @@ function wifi_init()
wifi.sta.connect()
zLED=4 gpio.write(zLED, gpio.HIGH) gpio.mode(zLED, gpio.OUTPUT)
i=0
i=1
wifi_init1=tmr.create()
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("Connecting to AP...")
i=i+1
if i > 7 then
if i > 10 then
i=nil wifi_init1:unregister()
print("booum!")
enduser_setup.start(function()

View File

@@ -7,19 +7,23 @@
</head>
<body>
<h1>ESP8266 home page 191124.2332</h1>
<h2>Différentes pages HTML:</h2>
<h1>ESP8266 home page 191222.2346</h1>
<h2>Menu:</h2>
<h3>
<a href="z_page1.html">Page 1, affichage de la température dynamique en code Lua inline.</a><br>
<a href="z_page2.html">Page 2, tableau dynamique écrit en Lua inline.</a><br>
<a href="z_page3.html">Page 3, affichage du capteur non linéaire corrigé.</a><br>
<a href="z_page4.html?field1=11&field2=12&field3=13">Page 4, test de récupération d'arguments pour un web service.</a><br>
<a href="api_hub_temp.html?field1=11&field2=12&field3=13">API HUB Temp,test d'un web service hub de mesures de température.</a><br>
<a href="wifi_clear.html?field1=11&field2=12&field3=13">Wifi clear, effacement configuration WIFI.</a><br>
<a href="disp_temp.html">Affichage des températures, affiche les températures mesurées.</a><br>
<a href="wifi_get_conf.html">WIFI configuration.</a><br>
<br><a href="page_qui_existe_pag.html">Page qui n'existe pas !</a><br>
</h3>
<%
a,b,c = wifi.sta.getip()
zout("IP: "..a.."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MASK: "..b.."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GATEWAY: "..c.."<br>")
%>
</body>
</html>

View File

@@ -1,26 +0,0 @@
<!DOCTYPE html>
<html lang="fr" dir="ltr">
<head>
<meta charset='utf-8' name='viewport' content='width=device-width, initial-scale=1.0'>
<title>ESP8266 page 1</title>
</head>
<body>
<h1>ESP8266 page 1 190127.1445</h1>
<br>
Coucou c'est la page 1 !<br>
<a href="/">Retour à la home page...</a><br><br><br>
La température est:
<%
ztemp=ztemp+1
zout(ztemp.."°C")
%>
<br>Mais il fait encore trop froid !<br>
</body>
</html>

View File

@@ -1,51 +0,0 @@
<!DOCTYPE html>
<html lang="fr" dir="ltr">
<head>
<meta charset='utf-8' name='viewport' content='width=device-width, initial-scale=1.0'>
<title>ESP8266 page 2</title>
</head>
<body>
<h1>ESP8266 page 2 190127.1449</h1>
<br>
Coucou c'est la page 2 !<br>
<a href="/">Retour à la home page...</a><br><br><br>
Voici un tableau dynamique écrit en Lua inline.<br><br>
Le code Lua pour créer ce tableau se trouve dans le code HTML de cette page et est exécuté sur le NodeMCU.<br>
Les données du tableau viennent du NodeMCU !<br><br>
<%
-- création du tableau sur le NodeMCUjuste juste pour la démo ici !
zmac_adrs={}
zmac_adrs["b8:d7:af:a6:bd:86"]={["zname"]="S7 zf", ["zrssi"]=45, ["ztime"]="12:03:36"}
zmac_adrs["cc:c0:79:7d:f5:d5"]={["zname"]="S7 Mélanie", ["zrssi"]=50, ["ztime"]="14:23:46"}
zmac_adrs["5c:f9:38:a1:f7:f0"]={["zname"]="MAC zf", ["zrssi"]=40, ["ztime"]="11:53:16"}
zmac_adrs["d8:30:62:5a:d6:3a"]={["zname"]="IMAC Maman", ["zrssi"]=55, ["ztime"]="17:07:23"}
%>
<table border='1'>
<tr>
<th>MAC</th><th>Name</th><th>RSSI</th><th>Time</th>
</tr>
<%
for k, v in pairs(zmac_adrs) do
zout("<tr>\n")
zout("\t<td>" .. k .. "</td>\n")
zout("\t<td>" .. tostring(zmac_adrs[k]["zname"]) .. "</td>\n")
zout("\t<td>" .. tostring(zmac_adrs[k]["zrssi"]) .. "</td>\n")
zout("\t<td>" .. tostring(zmac_adrs[k]["ztime"]) .. "</td>\n")
zout("</tr>\n")
end
%>
</table>
<%
-- libère la mémoire du tableau sur le NodeMCU qui avait été créé pour la démo ici !
zmac_adrs=nil
%>
</body>
</html>

View File

@@ -1,50 +0,0 @@
<!DOCTYPE html>
<html lang="fr" dir="ltr">
<head>
<meta charset='utf-8' name='viewport' content='width=device-width, initial-scale=1.0'>
<title>ESP8266 page 3</title>
</head>
<body>
<h1>ESP8266 page 3 190505.1156</h1>
<br>
Coucou c'est la page 3 !<br>
<a href="/">Retour à la home page...</a><br><br><br>
Voici le résultat du capteur non linéaire corrigé avec une table
d'interpolation dans un fichier .csv sur la flash.<br><br>
Le code Lua pour afficher ce résultat se trouve dans le code HTML de cette page et est exécuté sur le NodeMCU.<br>
Les données viennent du NodeMCU !<br><br>
<%
zout("Il reste: "..node.heap().." de RAM !<br><br>\n")
%>
<%
zx0=83
get_correction(zx0)
zout("la valeur corrigée de "..zx0.." est "..zy0.."<br>")
%>
<%
zx0=91
get_correction(zx0)
zout("la valeur corrigée de "..zx0.." est "..zy0.."<br>")
%>
<%
zx0=100
get_correction(zx0)
zout("la valeur corrigée de "..zx0.." est "..zy0.."<br>")
%>
<br>Yeah... cela fonctionne vachement bien !<br><br>
<%
zout("Il reste: "..node.heap().." de RAM !<br><br>\n")
%>
</body>
</html>