diff --git a/Mesures/humidity/bolo-thingspeak/README.md b/Mesures/humidity/bolo-thingspeak/README.md
index 33241f2..b8c9a43 100644
--- a/Mesures/humidity/bolo-thingspeak/README.md
+++ b/Mesures/humidity/bolo-thingspeak/README.md
@@ -1,11 +1,20 @@
-# Reflashage d'un SonOff Basic avec un firmware Lua et les outils pour pouvoir le programmer à distance
+# Mesure de température et d'humidité
-Petit projet de reflashage d'un SonOff Basic avec un firmware Lua et les outils pour pouvoir le programmer à distance sans devoir le brancher sur le port série.
-
+ATTENTION, il faut mettre à jour toutes les URL des images !
+
+
+
+
+Petit projet pour mesurer la température et l'humidité avec un capteur HTU21D et l'afficher sur ThingSpeak. Comme par exemple pour monitorer la température et l'humidité d'un local au cours du temps.
+
+
+
+Exemple de sortie sur ThingSpeak
+
# ATTENTION, ce projet débute et la *base* de ce Readme est *emprunté* à un autre projet, il reste donc à le modifier !
zf200101.1112
@@ -13,21 +22,22 @@ zf200101.1112
+
+
Constellation de sondes de mesures
-
+
Montage du capteur HTU21D directement sur le NodeMCU, chose à ne PAS faire, car la température du NodeMCU fausse complètement les mesures d'humidité !
-
-
-Exemple de sortie sur Grafana
+
On peut voir ici, avec ce projet assez complet, toutes les possibilités offertes de la programmation d'un NodeMCU en LUA, en mode événementiel.
Choses qui ne seraient pas possible si on l'avait fait en C++ (mode Arduino), comme par exemple:
+* configuration du WIFI via une page WEB servie par le NodeMCU
* serveur WEB *Active Server Pages ZYX*, permet de faire des pages HTML dynamiques avec du code LUA in line. Les pages HTML sont sauvées dans le système de fichiers de la FLASH du NodeMCU
* serveur WEB pour l'affichage de l'humidité et de la température
* serveur WEB pour l'IDE, modification du code source en remote directement depuis une page WEB, pas besoin d'IDE
@@ -37,17 +47,17 @@ Choses qui ne seraient pas possible si on l'avait fait en C++ (mode Arduino), co
Toutes les fonctions sont bien séparées dans des scripts, cela *complexifie* le projet mais cela facilite la portabilité entre les projets et aussi sa mise au point.
-## Astuces de mesures
+## Principes de mesures
On utilise un tout petit capteur, le **HTU21D**, d'humidité et de température I2C.
-
+
Il est vraiment très bon marché (1.5$), simple à utiliser et super précis.
https://www.aliexpress.com/item/32480177429.html
-
+
Incroyable la résolution de la mesure ! On peut observer ici l'arrivée le matin au salon, l'ouverture de la porte de la salle de bain après avoir pris la douche et l'ouverture de la fenêtre. Tout ceci dans la résolution de 1 à 3% de l'humidité relative
@@ -60,24 +70,90 @@ Datasheet:
https://cdn.sparkfun.com/assets/6/a/8/e/f/525778d4757b7f50398b4567.pdf
+### Schéma
+
+
+zzz
+
+
+
+## Le cloud ThingSpeak
+
+bla bla bla
+
+
+Les conditions du gratuit
+
+
+
+
+
+## Parties principales du code
+Tout se passe dans ces 4x fichiers !
+
+### Les secrets du projet
+
+ThingSpeak
+
+token !
+
+
+chip id
+
+
+
+
+### La mesure de température et d'humidité
+
+
+
+
+
+### L'envoi des mesures dans le Cloud ThingSpeak
+
+
+
+
+
+### L'horloge des mesures
+
+
+
+
+
+
+
## Installation
Il faut *flasher* le NodeMCU avec ce firmware:
-https://github.com/zuzu59/NodeMCU_Lua/blob/master/Firmware/nodemcu-master-18-modules-2019-12-17-20-28-32-float.bin
+https://github.com/zuzu59/NodeMCU_Lua/blob/master/Firmware/nodemcu-master-19-modules-2019-12-31-16-40-12-float.bin
Avec ces modules:
```
-file gpio http i2c net node rtctime sntp tmr uart wifi
+adc ads1115 bit enduser_setup file gpio http i2c mqtt net node ow rtctime sjson sntp tmr uart wifi ws2812
```
## Utilisation
-### Visualisation des données dans Grafana
-Exemple de sortie dans Grafana
+### Configuration du WIFI du NodeMCU_Lua
-https://snapshot.raintank.io/dashboard/snapshot/LUqdTJYLNuC6WatmJoN21yQSEQ0UJ0oy
+xxx
+
+
+
+### Configuration de ThingSpeak
+
+token !
+
+
+
+### Visualisation des données dans ThingSpeak
+
+Exemple de sortie dans ThingSpeak
+
+zzz
### Distribution des rôles de NodeMCU
@@ -89,13 +165,13 @@ secrets_projet.lua
```
-### Exportation des données en CSV depuis Grafana
+### Exportation des données en CSV depuis ThingSpeak
-Quand on a trouvé la mesure qui nous convient sur Grafana, on peut l'exporter en CSV pour en faire un rapport dans un tableur par exemple.
+zzz, on peut l'exporter xxx en CSV pour en faire un rapport dans un tableur par exemple.
-
+
-
+
### Affichage des températures/humidité en local sur le NodeMCU
@@ -135,7 +211,7 @@ telnet -rN 192.168.0.xxx
-zf191221.0825
+zf200116.1902
pense bête:
diff --git a/Mesures/humidity/bolo-thingspeak/_secrets_project.lua_ b/Mesures/humidity/bolo-thingspeak/_secrets_project.lua_
index 18f9cd5..26ac4ea 100644
--- a/Mesures/humidity/bolo-thingspeak/_secrets_project.lua_
+++ b/Mesures/humidity/bolo-thingspeak/_secrets_project.lua_
@@ -5,21 +5,19 @@
-- par 'wifi_init.lua' au moment du boot
function secrets_project()
- print("\n secrets_project.lua zf20011.1818 \n")
+ print("\n secrets_project.lua zf20015.1657 \n")
- --zLED=4 -- NodeMCU
- zLED=7 -- SonOff
+ zLED=4 -- NodeMCU
+ --zLED=7 -- SonOff
zRELAY=6 -- SonOff
- influxdb_url="http://xxx:8086/write?db=yyy&u=uuu&p=ppp"
- print("influxdb_url: "..influxdb_url)
-
- influxdb_table="tutu"
- print("influxdb_table: "..influxdb_table)
+ thingspeak_url="http://api.thingspeak.com/update?api_key=xxx"
node_id = "generic"
- if node.chipid() == 6734851 then node_id = "sonoff_1" end
+ if node.chipid() == 6734851 then node_id = "sonoff_1" zLED=7 end
+ if node.chipid() == 16110605 then node_id = "sonoff_2" zLED=7 end
if node.chipid() == 3049119 then node_id = "adc_1" end
+ if node.chipid() == 3048906 then node_id = "bolo_1" end
print("node_id: "..node_id)
end
secrets_project()
diff --git a/Mesures/humidity/bolo-thingspeak/_zremote_cmd.txt b/Mesures/humidity/bolo-thingspeak/_zremote_cmd.txt
index 639160a..32a1c0d 100644
--- a/Mesures/humidity/bolo-thingspeak/_zremote_cmd.txt
+++ b/Mesures/humidity/bolo-thingspeak/_zremote_cmd.txt
@@ -1,14 +1,17 @@
# Quelques commandes remote (luatool) à envoyer avec le plugin Atom-IDE-terminal de l'éditeur Atom
-# zf200113.0734
+# zf200116.1833
Todo à faire pour ce projet !
+
+- terminer la page .html affichage de la température et de l'humidité
+- 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)
+
- lancement ou arrêt du WEBIDE via la home page
-- flip/flop du relais depuis la page api_sonoff
-- arrêter de demander de connecter le WIFI automatiquement en mode station juste après le boot dans la config wifiinit (automatic connect)
-- ajouter le contrôle flip/flop du btn sur RELAY
+- arrêter de demander de connecter le WIFI automatiquement en mode station juste après le boot dans la config wifiinit (automatic connect)
- if verbose print partout dans *.lua
- 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- ajouter fonction restart dans z_index.html (ATTENTION avec un argument restart, pas besoin de faire une page restart.html !)
v- ajouter l'affichage du node_id dans z_index.html
v- ajouter le web_srv2 dans boot au lieu de boot2
@@ -63,6 +66,7 @@ for k,v in pairs(_G) do print(k,v) end
# commandes lua pour ce projet
export zIP="192.168.0.182"
export zIP="192.168.4.1"
+export zIP="192.168.4.4"
export zport="23"
./luatool.py --ip $zIP:$zport -f z_index.html
diff --git a/Mesures/humidity/bolo-thingspeak/goodies/0_cron.lua b/Mesures/humidity/bolo-thingspeak/goodies/0_cron.lua
deleted file mode 100644
index 9eea706..0000000
--- a/Mesures/humidity/bolo-thingspeak/goodies/0_cron.lua
+++ /dev/null
@@ -1,8 +0,0 @@
--- Petit script pour faire office de crontab pour les
---mesures
-print("\n 0_cron.lua zf191225.1803 \n")
-
-cron1=tmr.create()
-cron1:alarm(300*1000, tmr.ALARM_AUTO, function()
- send_data()
-end)
diff --git a/Mesures/humidity/bolo-thingspeak/goodies/0_send_data.lua b/Mesures/humidity/bolo-thingspeak/goodies/0_send_data.lua
deleted file mode 100644
index f2b31d2..0000000
--- a/Mesures/humidity/bolo-thingspeak/goodies/0_send_data.lua
+++ /dev/null
@@ -1,34 +0,0 @@
--- Petit script pour envoyer les valeurs sur un serveur WEB (InfluxDB)
--- via un http GET
-print("\n 0_send_data.lua zf191228.2310 \n")
-
-function zpost(zarg)
- if verbose then print("zarg: "..zarg) end
- http.post(influxdb_url, 'Content-Type: application/x-www-form-urlencoded\r\n', zarg, function(code, data)
--- print("toto")
- if (code < 0) then
- print("HTTP request failed")
- print("zuzu", code, data)
- else
- if verbose then print(code, data) end
- end
--- print("tutu")
- end)
-end
-
-function send_data()
- if verbose then print("send_data: ") end
- ztemp = readTemp() zhumd = readHumi()
- if verbose then print("Temperature: "..ztemp.." °C") end
- if verbose then print("Humidity: "..zhumd.." %") end
-
- --zpost("bolo_ruru,capteur=th"..node_id.." humidity="..zhumd)
- --zpost("bolo_ruru,capteur=th"..node_id.." temperature="..ztemp)
-
--- print("titi")
-end
-
---[[
-verbose=true
-send_data()
-]]
diff --git a/Mesures/humidity/bolo-thingspeak/goodies/boot2.lua b/Mesures/humidity/bolo-thingspeak/goodies/boot2.lua
deleted file mode 100644
index 4a854c0..0000000
--- a/Mesures/humidity/bolo-thingspeak/goodies/boot2.lua
+++ /dev/null
@@ -1,46 +0,0 @@
--- Scripts à charger après le boot pour démarrer son projet
-
-
-ATTENTION: n'existe plus depuis le 190108.1747 !
-
-
-print("\n boot2.lua zf200106.2331 \n")
-
-function boot2()
- print("boot2 starting...")
- boot2_tmr=nil boot2_tmr1=nil boot2_go=nil
- print(node.heap()) collectgarbage() print(node.heap())
-
- --f= "0_htu21d.lua" if file.exists(f) then dofile(f) end
- --f= "0_send_data.lua" if file.exists(f) then dofile(f) end
- --f= "0_cron.lua" if file.exists(f) then dofile(f) end
- --f= "web_ide2.lua" if file.exists(f) then dofile(f) end
- f=nil
-
- verbose = true
-
- boot2=nil
-end
-
-boot2_tmr1=tmr.create()
-boot2_tmr1:alarm(1*1000, tmr.ALARM_AUTO , function()
- if boot2_go then
- boot2_tmr1:unregister() boot2()
- end
-end)
-
-
-
-
-
-
-
---[[
-tmr.create():alarm(1*1000, tmr.ALARM_AUTO, function()
- print(node.heap())
-end)
-]]
-
---[[
-for k,v in pairs(_G) do print(k,v) end
-]]
diff --git a/Mesures/humidity/bolo-thingspeak/cat.lua b/Mesures/humidity/bolo-thingspeak/goodies/cat.lua
similarity index 100%
rename from Mesures/humidity/bolo-thingspeak/cat.lua
rename to Mesures/humidity/bolo-thingspeak/goodies/cat.lua
diff --git a/Mesures/humidity/bolo-thingspeak/check_all.sh b/Mesures/humidity/bolo-thingspeak/goodies/check_all.sh
similarity index 100%
rename from Mesures/humidity/bolo-thingspeak/check_all.sh
rename to Mesures/humidity/bolo-thingspeak/goodies/check_all.sh
diff --git a/Mesures/humidity/bolo-thingspeak/goodies/flash_led_xfois.lua b/Mesures/humidity/bolo-thingspeak/goodies/flash_led_xfois.lua
deleted file mode 100644
index aae55a9..0000000
--- a/Mesures/humidity/bolo-thingspeak/goodies/flash_led_xfois.lua
+++ /dev/null
@@ -1,35 +0,0 @@
--- programme pour faire clignoter x fois une LED avec un rapport on/off en mS
-
-function flash_led_xfois()
- print("\n flash_led_xfois.lua zf191221.1454 \n")
-
- zTm_On_LED = 50 zTm_Off_LED = 100 nbfois = 0
- zLED=4 gpio.write(zLED, gpio.HIGH) gpio.mode(zLED, gpio.OUTPUT)
- ztmr_Flash_LED = tmr.create()
-
- function blink_LED ()
- if nbfois >= xfois then
- -- print(nbfois)
- nbfois = 0
- else
- if gpio.read(zLED)==gpio.HIGH then
- gpio.write(zLED, gpio.LOW)
--- tmr.alarm(ztmr_Flash_LED, zTm_Off_LED, tmr.ALARM_SINGLE, blink_LED)
- ztmr_Flash_LED:alarm(zTm_Off_LED, tmr.ALARM_SINGLE, blink_LED)
- else
- gpio.write(zLED, gpio.HIGH)
- nbfois = nbfois+1
--- tmr.alarm(ztmr_Flash_LED, zTm_On_LED, tmr.ALARM_SINGLE, blink_LED)
- ztmr_Flash_LED:alarm(zTm_On_LED, tmr.ALARM_SINGLE, blink_LED)
- end
- end
- end
-
-end
-
-flash_led_xfois()
-
---[[
-xfois =2
-blink_LED ()
-]]
diff --git a/Mesures/humidity/bolo-thingspeak/make_tunnels.sh b/Mesures/humidity/bolo-thingspeak/goodies/make_tunnels.sh
similarity index 100%
rename from Mesures/humidity/bolo-thingspeak/make_tunnels.sh
rename to Mesures/humidity/bolo-thingspeak/goodies/make_tunnels.sh
diff --git a/Mesures/humidity/bolo-thingspeak/up_load_all.sh b/Mesures/humidity/bolo-thingspeak/goodies/up_load_all.sh
similarity index 100%
rename from Mesures/humidity/bolo-thingspeak/up_load_all.sh
rename to Mesures/humidity/bolo-thingspeak/goodies/up_load_all.sh
diff --git a/Mesures/humidity/bolo-thingspeak/upload_t.sh b/Mesures/humidity/bolo-thingspeak/goodies/upload_t.sh
similarity index 100%
rename from Mesures/humidity/bolo-thingspeak/upload_t.sh
rename to Mesures/humidity/bolo-thingspeak/goodies/upload_t.sh
diff --git a/Mesures/humidity/bolo-thingspeak/img/Constellation_sondes_mesures2.jpg b/Mesures/humidity/bolo-thingspeak/img/Constellation_sondes_mesures2.jpg
new file mode 100644
index 0000000..4084afb
Binary files /dev/null and b/Mesures/humidity/bolo-thingspeak/img/Constellation_sondes_mesures2.jpg differ
diff --git a/Mesures/humidity/bolo-thingspeak/img/HTU21D.jpg b/Mesures/humidity/bolo-thingspeak/img/HTU21D.jpg
new file mode 100644
index 0000000..e23032f
Binary files /dev/null and b/Mesures/humidity/bolo-thingspeak/img/HTU21D.jpg differ
diff --git a/Mesures/humidity/bolo-thingspeak/img/HTU21D_deporte.jpg b/Mesures/humidity/bolo-thingspeak/img/HTU21D_deporte.jpg
new file mode 100644
index 0000000..9f0fe11
Binary files /dev/null and b/Mesures/humidity/bolo-thingspeak/img/HTU21D_deporte.jpg differ
diff --git a/Mesures/humidity/bolo-thingspeak/img/banc_test_HTU21D.jpg b/Mesures/humidity/bolo-thingspeak/img/banc_test_HTU21D.jpg
new file mode 100644
index 0000000..bf92029
Binary files /dev/null and b/Mesures/humidity/bolo-thingspeak/img/banc_test_HTU21D.jpg differ
diff --git a/Mesures/humidity/bolo-thingspeak/img/graph_thingspeak1.png b/Mesures/humidity/bolo-thingspeak/img/graph_thingspeak1.png
new file mode 100644
index 0000000..856037f
Binary files /dev/null and b/Mesures/humidity/bolo-thingspeak/img/graph_thingspeak1.png differ
diff --git a/Mesures/humidity/bolo-thingspeak/img/htu21d_on_NodeMCU.jpg b/Mesures/humidity/bolo-thingspeak/img/htu21d_on_NodeMCU.jpg
new file mode 100644
index 0000000..48e96a5
Binary files /dev/null and b/Mesures/humidity/bolo-thingspeak/img/htu21d_on_NodeMCU.jpg differ
diff --git a/Mesures/humidity/bolo-thingspeak/img/station_de_telemetrie_autonome.jpg b/Mesures/humidity/bolo-thingspeak/img/station_de_telemetrie_autonome.jpg
new file mode 100644
index 0000000..549aa85
Binary files /dev/null and b/Mesures/humidity/bolo-thingspeak/img/station_de_telemetrie_autonome.jpg differ
diff --git a/Mesures/humidity/bolo-thingspeak/img/super_definition_capteur_htu21d.jpg b/Mesures/humidity/bolo-thingspeak/img/super_definition_capteur_htu21d.jpg
new file mode 100644
index 0000000..c0baffb
Binary files /dev/null and b/Mesures/humidity/bolo-thingspeak/img/super_definition_capteur_htu21d.jpg differ
diff --git a/Mesures/humidity/bolo-thingspeak/schema/pcb.png b/Mesures/humidity/bolo-thingspeak/schema/pcb.png
new file mode 100644
index 0000000..b88a6fd
Binary files /dev/null and b/Mesures/humidity/bolo-thingspeak/schema/pcb.png differ
diff --git a/Mesures/humidity/bolo-thingspeak/schema/schéma.png b/Mesures/humidity/bolo-thingspeak/schema/schéma.png
new file mode 100644
index 0000000..6776548
Binary files /dev/null and b/Mesures/humidity/bolo-thingspeak/schema/schéma.png differ
diff --git a/Mesures/humidity/bolo/img/Constellation_sondes_mesures.jpg b/Mesures/humidity/bolo/img/Constellation_sondes_mesures.jpg
deleted file mode 100644
index a8c2d98..0000000
Binary files a/Mesures/humidity/bolo/img/Constellation_sondes_mesures.jpg and /dev/null differ
diff --git a/Mesures/humidity/bolo/img/Constellation_sondes_mesures2.jpg b/Mesures/humidity/bolo/img/Constellation_sondes_mesures2.jpg
new file mode 100644
index 0000000..4084afb
Binary files /dev/null and b/Mesures/humidity/bolo/img/Constellation_sondes_mesures2.jpg differ
diff --git a/Mesures/humidity/bolo/img/HTU21D_deporte.jpg b/Mesures/humidity/bolo/img/HTU21D_deporte.jpg
new file mode 100644
index 0000000..9f0fe11
Binary files /dev/null and b/Mesures/humidity/bolo/img/HTU21D_deporte.jpg differ
diff --git a/Mesures/humidity/bolo/img/NodeMCU_direct_HTU21D.jpg b/Mesures/humidity/bolo/img/NodeMCU_direct_HTU21D.jpg
deleted file mode 100644
index 63a7b4c..0000000
Binary files a/Mesures/humidity/bolo/img/NodeMCU_direct_HTU21D.jpg and /dev/null differ
diff --git a/Mesures/humidity/bolo/img/banc_test_HTU21D.jpg b/Mesures/humidity/bolo/img/banc_test_HTU21D.jpg
new file mode 100644
index 0000000..bf92029
Binary files /dev/null and b/Mesures/humidity/bolo/img/banc_test_HTU21D.jpg differ
diff --git a/Mesures/humidity/bolo/img/coisir_series_as_columns.png b/Mesures/humidity/bolo/img/choisir_series_as_columns.png
similarity index 100%
rename from Mesures/humidity/bolo/img/coisir_series_as_columns.png
rename to Mesures/humidity/bolo/img/choisir_series_as_columns.png
diff --git a/Mesures/humidity/bolo/img/station_de_telemetrie_autonome.jpg b/Mesures/humidity/bolo/img/station_de_telemetrie_autonome.jpg
new file mode 100644
index 0000000..549aa85
Binary files /dev/null and b/Mesures/humidity/bolo/img/station_de_telemetrie_autonome.jpg differ
diff --git a/Mesures/humidity/bolo/schema/pcb.png b/Mesures/humidity/bolo/schema/pcb.png
new file mode 100644
index 0000000..b88a6fd
Binary files /dev/null and b/Mesures/humidity/bolo/schema/pcb.png differ
diff --git a/SonOff/SonOff_2/_zremote_cmd.txt b/SonOff/SonOff_2/_zremote_cmd.txt
index 639160a..c61719f 100644
--- a/SonOff/SonOff_2/_zremote_cmd.txt
+++ b/SonOff/SonOff_2/_zremote_cmd.txt
@@ -1,14 +1,16 @@
# Quelques commandes remote (luatool) à envoyer avec le plugin Atom-IDE-terminal de l'éditeur Atom
-# zf200113.0734
+# zf200116.1833
Todo à faire pour ce projet !
+- 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)
- lancement ou arrêt du WEBIDE via la home page
- flip/flop du relais depuis la page api_sonoff
-- arrêter de demander de connecter le WIFI automatiquement en mode station juste après le boot dans la config wifiinit (automatic connect)
+- arrêter de demander de connecter le WIFI automatiquement en mode station juste après le boot dans la config wifiinit (automatic connect)
- ajouter le contrôle flip/flop du btn sur RELAY
- if verbose print partout dans *.lua
- 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- ajouter fonction restart dans z_index.html (ATTENTION avec un argument restart, pas besoin de faire une page restart.html !)
v- ajouter l'affichage du node_id dans z_index.html
v- ajouter le web_srv2 dans boot au lieu de boot2