Refactorisé l'api hub pour la concetration des températures (ne fonctionne pas encore)

This commit is contained in:
Christian Zufferey
2019-07-27 09:38:03 +02:00
parent 93e84bd64f
commit c2f5efce9c
5 changed files with 92 additions and 8 deletions

View File

@@ -11,9 +11,9 @@ Dans ce projet il y a 3x NodeMCU séparés qui mesurent 3x points de températur
* température extérieur au rez nord
* température extérieur au rez sud
Le NodeMCU de la mesure intérieure fait office de concentrateur des deux mesures de températures extérieures et envoie en même temps les 3x mesures de températures à Thingspeak, afin de les avoir tous dans le même channel. Cela permet de mesurer des températures éloignées dans la maison en utilisant le WIFI comme câble de liaison entre les sondes !
Le NodeMCU de la mesure intérieure fait office de hub des deux mesures de températures extérieures et envoie en même temps les 3x mesures de températures à Thingspeak, afin de les avoir tous dans le même channel. Cela permet de mesurer des températures éloignées dans la maison en utilisant le WIFI comme câble de liaison entre les sondes !
Tous se passe dans les scripts a1, a2, a3 et a4.lua
Tous se passe dans les scripts a1, a2, a3 et a4.lua (Attention en cours de refactorisation !)
## Installation
@@ -36,4 +36,4 @@ node ow pcm rtctime sntp spi tmr uart wifi ws2812
https://thingspeak.com/channels/817940
zf190726.1917
zf190727.0858

View File

@@ -0,0 +1,31 @@
<!DOCTYPE html>
<html lang="fr" dir="ltr">
<head>
<meta charset='utf-8' name='viewport' content='width=device-width, initial-scale=1.0'>
<title>API HUB Temp</title>
</head>
<body>
<h1>API HUB Temp 190727.0935</h1>
<br>
<%
ztemp1 = 0 ztemp2 = 0 ztemp3 = 0
if (_GET.field1 ~= nil) then
ztemp1 = _GET.field1
zout("<br>temp1: "..ztemp1)
end
if (_GET.field2 ~= nil) then
ztemp2 = _GET.field2
zout("<br>temp2: "..ztemp2)
end
if (_GET.field3 ~= nil) then
ztemp3 = _GET.field3
zout("<br>temp3: "..ztemp3)
end
%>
</body>
</html>

View File

@@ -1,19 +1,18 @@
-- Scripts à charger après le boot pour démarrer son appli
print("\n boot.lua zf190726.1913 \n")
print("\n boot.lua zf190727.0902 \n")
function heartbeat()
f= "flash_led_xfois.lua" if file.exists(f) then dofile(f) end
flash_led_xfois()
boottimer1=tmr.create()
-- tmr.alarm(boottimer1, 1*1000, tmr.ALARM_AUTO, function()
boottimer1:alarm(1*1000, tmr.ALARM_AUTO, function()
xfois =2
blink_LED ()
end)
end
--ses propres secrets
-- charge ses propres secrets
f= "secrets_temp_zf_int_1er.lua" if file.exists(f) then dofile(f) end
f= "secrets_temp_zf_out_nord.lua" if file.exists(f) then dofile(f) end
f= "secrets_temp_zf_out_sud.lua" if file.exists(f) then dofile(f) end

View File

@@ -0,0 +1,53 @@
<!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 4 190726.1955</h1>
<br>
Web service concentrateur de mesures de température !<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>
Les données viennent du NodeMCU !<br><br>
<%
zout("Il reste: "..node.heap().." de RAM !<br><br>\n")
%>
Les arguments du web service (GET) sont:<br><br>
<%
if (vars ~= nil) then
zout("<br>vars: "..vars.."<br>")
for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
_GET[k] = v
zout(k..": "..v.."<br>")
if k == "field1" then
ztemp1_conc = v
elseif k == "field2" then
ztemp2_conc = v
elseif k == "field3" then
ztemp3_conc = v
end
end
end
zout("<br>Les températures récupérées sont: "..ztemp1_conc..", "..ztemp2_conc..", "..ztemp3_conc)
%>
<br><br>Yeah... cela fonctionne vachement bien !<br><br>
<%
zout("Il reste: "..node.heap().." de RAM !<br><br>\n")
%>
</body>
</html>

View File

@@ -7,13 +7,14 @@
</head>
<body>
<h1>ESP8266 home page 190726.1953</h1>
<h1>ESP8266 home page 190727.0922</h1>
<h2>Différentes pages HTML:</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=12">Page 4, web service concentrateur de mesures de température.</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">Page 4, test d'un web service hub de mesures de température.</a><br>
<a href="page_qui_existe_pag.html">Page qui n'existe pas !</a><br>
</h3>
</body>