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. -![Image](https://zraw.githubusercontent.com/zuzu59/NodeMCU_Lua/master/Mesures/humidity/bolo/img/Constellation_sondes_mesures.jpg) +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. + +![Image](https://zraw.githubusercontent.com/zuzu59/NodeMCU_Lua/master/Mesures/humidity/bolo/img/exemple_de_mesures_1.png) + +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 +![Image](https://zraw.githubusercontent.com/zuzu59/NodeMCU_Lua/master/Mesures/humidity/bolo/img/Constellation_sondes_mesures.jpg) + Constellation de sondes de mesures -![Image](https://raw.githubusercontent.com/zuzu59/NodeMCU_Lua/master/Mesures/humidity/bolo/img/htu21d_on_NodeMCU.jpg) +![Image](https://zraw.githubusercontent.com/zuzu59/NodeMCU_Lua/master/Mesures/humidity/bolo/img/htu21d_on_NodeMCU.jpg) 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é ! -![Image](https://raw.githubusercontent.com/zuzu59/NodeMCU_Lua/master/Mesures/humidity/bolo/img/exemple_de_mesures_1.png) - -Exemple de sortie sur Grafana +![Image](https://zraw.githubusercontent.com/zuzu59/NodeMCU_Lua/master/Mesures/humidity/bolo/img/exemple_de_mesures_1.png)

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. -![Image](https://raw.githubusercontent.com/zuzu59/NodeMCU_Lua/master/Mesures/humidity/bolo/img/HTU21D.jpg) +![Image](https://zraw.githubusercontent.com/zuzu59/NodeMCU_Lua/master/Mesures/humidity/bolo/img/HTU21D.jpg) Il est vraiment très bon marché (1.5$), simple à utiliser et super précis. https://www.aliexpress.com/item/32480177429.html -![Image](https://raw.githubusercontent.com/zuzu59/NodeMCU_Lua/master/Mesures/humidity/bolo/img/super_definition_capteur_htu21d.jpg) +![Image](https://zraw.githubusercontent.com/zuzu59/NodeMCU_Lua/master/Mesures/humidity/bolo/img/super_definition_capteur_htu21d.jpg) 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. -![Image](https://raw.githubusercontent.com/zuzu59/NodeMCU_Lua/master/Mesures/humidity/bolo/img/exportation_data_csv.png) +![Image](https://zraw.githubusercontent.com/zuzu59/NodeMCU_Lua/master/Mesures/humidity/bolo/img/exportation_data_csv.png) -![Image](https://raw.githubusercontent.com/zuzu59/NodeMCU_Lua/master/Mesures/humidity/bolo/img/coisir_series_as_columns.png) +![Image](https://zraw.githubusercontent.com/zuzu59/NodeMCU_Lua/master/Mesures/humidity/bolo/img/coisir_series_as_columns.png) ### 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