Commencé à tester le principe d'un web service GET avec mon petit framework ASP ZYX, cela fonctionne bien mais pas encore terminé
This commit is contained in:
@@ -1,14 +1,23 @@
|
||||
# temp_zf
|
||||
|
||||
## Petit projet pour mesurer la température, avec des capteurs de température 1-Wire DS18B20, et l'afficher sur ThingSpeak
|
||||
Petit projet pour mesurer la température, avec des capteurs de température 1-Wire DS18B20, et l'afficher sur ThingSpeak.
|
||||
|
||||
|
||||
## Astuces de lecture
|
||||
|
||||
Tous se passe dans: a1, a2, a3 et a4.lua !
|
||||
Dans ce projet il y a 3x NodeMCU séparés qui mesurent 3x points de température séparées:
|
||||
|
||||
* température intérieure dans la chambre à coucher à l'étage
|
||||
* 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 !
|
||||
|
||||
Tous se passe dans les scripts a1, a2, a3 et a4.lua
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
Il faut *flasher* le NodeMCU avec ce firmware:
|
||||
|
||||
https://github.com/zuzu59/NodeMCU_Lua/blob/master/Firmware/nodemcu-master-20-modules-2019-07-01-06-35-13-float.bin
|
||||
@@ -17,7 +26,8 @@ https://github.com/zuzu59/NodeMCU_Lua/blob/master/Firmware/nodemcu-master-20-mod
|
||||
Avec ces modules:
|
||||
|
||||
```
|
||||
adc ds18b20 file gpio http i2c mdns mqtt net node ow pcm rtctime sntp spi tmr uart wifi ws2812
|
||||
adc ds18b20 file gpio http i2c mdns mqtt net
|
||||
node ow pcm rtctime sntp spi tmr uart wifi ws2812
|
||||
```
|
||||
|
||||
|
||||
@@ -26,4 +36,4 @@ adc ds18b20 file gpio http i2c mdns mqtt net node ow pcm rtctime sntp spi tmr ua
|
||||
https://thingspeak.com/channels/817940
|
||||
|
||||
|
||||
zf190706.1450
|
||||
zf190709.2135
|
||||
|
||||
1
Temp_DS18B20/temp_zf/a5.lua
Normal file
1
Temp_DS18B20/temp_zf/a5.lua
Normal file
@@ -0,0 +1 @@
|
||||
-- programme pour faire un test depuis de le webide
|
||||
1
Temp_DS18B20/temp_zf/a6.lua
Normal file
1
Temp_DS18B20/temp_zf/a6.lua
Normal file
@@ -0,0 +1 @@
|
||||
-- programme pour faire un test depuis de le webide
|
||||
1
Temp_DS18B20/temp_zf/a7.lua
Normal file
1
Temp_DS18B20/temp_zf/a7.lua
Normal file
@@ -0,0 +1 @@
|
||||
-- programme pour faire un test depuis de le webide
|
||||
1
Temp_DS18B20/temp_zf/a8.lua
Normal file
1
Temp_DS18B20/temp_zf/a8.lua
Normal file
@@ -0,0 +1 @@
|
||||
-- programme pour faire un test depuis de le webide
|
||||
1
Temp_DS18B20/temp_zf/a9.lua
Normal file
1
Temp_DS18B20/temp_zf/a9.lua
Normal file
@@ -0,0 +1 @@
|
||||
-- programme pour faire un test depuis de le webide
|
||||
@@ -1,6 +1,6 @@
|
||||
-- Scripts à charger après le boot pour démarrer son appli
|
||||
|
||||
print("\n boot.lua zf190706.1429 \n")
|
||||
print("\n boot.lua zf190709.2150 \n")
|
||||
|
||||
function heartbeat()
|
||||
f= "flash_led_xfois.lua" if file.exists(f) then dofile(f) end
|
||||
@@ -22,8 +22,8 @@ f= "telnet_srv2.lua" if file.exists(f) then dofile(f) end
|
||||
f= "web_ide2.lua" if file.exists(f) then dofile(f) end
|
||||
f= "web_srv2.lua" if file.exists(f) then dofile(f) end
|
||||
|
||||
f= "a3.lua" if file.exists(f) then dofile(f) end
|
||||
f= "a4.lua" if file.exists(f) then dofile(f) end
|
||||
--f= "a3.lua" if file.exists(f) then dofile(f) end
|
||||
--f= "a4.lua" if file.exists(f) then dofile(f) end
|
||||
|
||||
--f= "set_time.lua" if file.exists(f) then dofile(f) end
|
||||
--f= "dsleep.lua" if file.exists(f) then dofile(f) end
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
-- petit script de serveur WEB avec Active Server Page ZYX
|
||||
|
||||
print("\n web_srv2.lua zf190422.1135 \n")
|
||||
print("\n web_srv2.lua zf190709.2209 \n")
|
||||
|
||||
ztemp=12
|
||||
|
||||
|
||||
@@ -1,15 +1,17 @@
|
||||
-- Petit script pour configurer le client WIFI du NodeMCU
|
||||
|
||||
function wifi_cli_conf()
|
||||
print("\n wifi_cli_conf.lua zf190706.1359 \n")
|
||||
print("\n wifi_cli_conf.lua zf190709.2147 \n")
|
||||
|
||||
--credentials par défaut
|
||||
--secrets par défaut
|
||||
--cli_ssid="3g-s7"
|
||||
cli_ssid="3G-zf"
|
||||
cli_pwd="12234567"
|
||||
|
||||
--ses propre credentials
|
||||
f= "secrets_temp_zf.lua" if file.exists(f) then dofile(f) end
|
||||
--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
|
||||
|
||||
wifi.sta.config{ssid=cli_ssid, pwd=cli_pwd, save=true}
|
||||
end
|
||||
|
||||
@@ -7,12 +7,13 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>ESP8266 home page 190422.1052</h1>
|
||||
<h1>ESP8266 home page 190709.2214</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?toto=123&tutu=234&titi=345">Page 4, web service concentrateur de mesures de température.</a><br>
|
||||
<a href="page_qui_existe_pag.html">Page qui n'existe pas !</a><br>
|
||||
</h3>
|
||||
</body>
|
||||
|
||||
44
Temp_DS18B20/temp_zf/z_page4.html
Normal file
44
Temp_DS18B20/temp_zf/z_page4.html
Normal file
@@ -0,0 +1,44 @@
|
||||
<!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 190709.2221</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
|
||||
for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
|
||||
_GET[k] = v
|
||||
zout(k..": "..v.."<br>")
|
||||
end
|
||||
end
|
||||
%>
|
||||
|
||||
|
||||
|
||||
|
||||
<br>Yeah... cela fonctionne vachement bien !<br><br>
|
||||
|
||||
<%
|
||||
zout("Il reste: "..node.heap().." de RAM !<br><br>\n")
|
||||
%>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user