From 0ecb89fe81bc70833e0464cc9788bd4ecf96eb6d Mon Sep 17 00:00:00 2001 From: Christian Zufferey Date: Sun, 27 Jan 2019 15:02:51 +0100 Subject: [PATCH] =?UTF-8?q?Mon=20petit=20serveur=20WEB=20ASP=20fonctionne?= =?UTF-8?q?=20super=20bien,=20pas=20de=20fuite=20m=C3=A9moire=20:-)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZYX-html-framework/index.html | 6 ++-- ZYX-html-framework/page1.html | 2 +- ZYX-html-framework/page2.html | 58 ++++++++++++++++++++++++++------- ZYX-html-framework/web_srv2.lua | 32 +++++++++--------- 4 files changed, 67 insertions(+), 31 deletions(-) diff --git a/ZYX-html-framework/index.html b/ZYX-html-framework/index.html index d735f3b..c134ec5 100644 --- a/ZYX-html-framework/index.html +++ b/ZYX-html-framework/index.html @@ -7,11 +7,11 @@ -

ESP8266 home page 190126.1836

+

ESP8266 home page 190127.1444

Différentes pages HTML:

- Page 1
- Page 2
+ Page 1, affichage de la température dynamique en code Lua inline.
+ Page 2, tableau dynamique écrit en Lua inline.
Page qui n'existe pas !

diff --git a/ZYX-html-framework/page1.html b/ZYX-html-framework/page1.html index 1cf19de..c0bd757 100644 --- a/ZYX-html-framework/page1.html +++ b/ZYX-html-framework/page1.html @@ -7,7 +7,7 @@ -

ESP8266 page 1 190126.1841

+

ESP8266 page 1 190127.1445


Coucou c'est la page 1 !
Retour à la home page...


diff --git a/ZYX-html-framework/page2.html b/ZYX-html-framework/page2.html index 85b7355..1516626 100644 --- a/ZYX-html-framework/page2.html +++ b/ZYX-html-framework/page2.html @@ -1,17 +1,51 @@ - - - ESP8266 page 2 - - - -

ESP8266 page 2 190126.1840

-
- Coucou c'est la page 2 !
- Retour à la home page...
- - + + + ESP8266 page 2 + + + +

ESP8266 page 2 190127.1449

+
+ Coucou c'est la page 2 !
+ Retour à la home page...


+ + Voici un tableau dynamique écrit en Lua inline.

+ + Le code Lua pour créer ce tableau se trouve dans le code HTML de cette page et est exécuté sur le NodeMCU.
+ Les données du tableau viennent du NodeMCU !

+ + <% + -- 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"} + %> + + + + + + <% + for k, v in pairs(zmac_adrs) do + zout("\n") + zout("\t\n") + zout("\t\n") + zout("\t\n") + zout("\t\n") + zout("\n") + end + %> +
MACNameRSSITime
" .. k .. "" .. tostring(zmac_adrs[k]["zname"]) .. "" .. tostring(zmac_adrs[k]["zrssi"]) .. "" .. tostring(zmac_adrs[k]["ztime"]) .. "
+ <% + -- libère la mémoire du tableau sur le NodeMCU qui avait été créé pour la démo ici ! + zmac_adrs=nil + %> + + diff --git a/ZYX-html-framework/web_srv2.lua b/ZYX-html-framework/web_srv2.lua index 0b1a7e3..284a31a 100644 --- a/ZYX-html-framework/web_srv2.lua +++ b/ZYX-html-framework/web_srv2.lua @@ -1,35 +1,37 @@ -- petit script de serveur WEB avec Active Server Page ZYX +-- pour l'instant la partie ASP n'est que mono tâche ! -print("\n web_srv2.lua zf190127.1340 \n") +print("\n web_srv2.lua zf190127.1458 \n") ztemp=12 --- send a file from memory to the client; max. line length = 1024 bytes! +-- envoie sur le port ouvert mais depuis l'environnement global ! +function zout(zstring) + zzclient:send(zstring) -- envoie le résultat du code lua inline +end + +-- envoie un fichier HTML sur le port. ATTENTION: longueur de la ligne maximale de 1'024 bytes ! function send_file(zclient, zfilename) - zzclient=zclient - function zout(zstring) - zzclient:send(zstring) - end - + zzclient = zclient -- export le port sur l'environnement global ! if zfilename == "" then zfilename = "index.html" end if file.open(zfilename, "r") then repeat local line = file.read('\n') if line then if string.find(line, "<%%") then - print("start lua...") - flag_lua_code = true +-- print("start lua...") + flag_lua_code = true -- bascule sur le code lua inline lua_code = "" elseif string.find(line, "%%>") then - print("stop lua...") - flag_lua_code = false - print("Et voici le code lua inline:\n"..lua_code) - loadstring(lua_code)() --on exécute ici le code lua inline ! +-- print("stop lua...") + flag_lua_code = false -- revient sur le code HTML +-- print("Et voici le code lua inline:\n"..lua_code) + loadstring(lua_code)() --on exécute ici le code lua inline ! elseif flag_lua_code then -- print(line) - lua_code =lua_code..line + lua_code = lua_code..line -- récupère le code lua inline else - zout(line) + zclient:send(line) -- envoie le code HTML end end until not line