diff --git a/Mesures/humidity/bolo/0_get_data - copie.lua b/Mesures/humidity/bolo/0_get_data - copie.lua
deleted file mode 100644
index 181ae48..0000000
--- a/Mesures/humidity/bolo/0_get_data - copie.lua
+++ /dev/null
@@ -1,57 +0,0 @@
--- Lit le capteur I2C HTU21D de mesure d'humidité et de température
-print("\n 0_get_data.lua zf191215.1329 \n")
-
--- https://cdn-shop.adafruit.com/datasheets/1899_HTU21D.pdf
--- Comparaison DHT22, AM2302, AM2320, AM2321, SHT71, HTU21D, Si7021, BME280
--- http://www.kandrsmith.org/RJS/Misc/Hygrometers/calib_many.html
--- Il est compatible avec le capteur SI7021 mais pas avec la lib SI7021 du NodeMCU Lua :-(
-
--- source: https://github.com/famzah/nodemcu/tree/master/HTU21D-TLS
--- source2: https://github.com/tebben/NodeMCU
--- source3: https://github.com/codywon/NodeMCU-2
-
-scl = 1
-sda = 2
-id = 0
-addr = 0x40
-HUMIDITY = 0xE5
-TEMPERATURE = 0xE3
-SOFTRESET = 0xFE
-
-print(scl, sda, id, addr, HUMIDITY, TEMPERATURE, SOFTRESET)
-
-zspeed = i2c.setup(id, sda, scl, 500000)
-print(zspeed)
-
-i2c.start(id)
-zerr = i2c.address(id, addr, i2c.TRANSMITTER)
-i2c.stop(id)
-
-print("ack: ",zerr)
-
-
---[[
-
-i2c.write(id, SOFTRESET)
-i2c.stop(id)
-
-tmr.delay(20*1000)
-
-
-i2c.start(id)
-i2c.address(id, addr, i2c.TRANSMITTER)
-i2c.write(id, HUMIDITY)
-i2c.stop(id)
-
-i2c.start(id)
-i2c.address(id, addr, i2c.RECEIVER)
-tmr.delay(50*1000)
-r = i2c.read(id,3)
-i2c.stop(id)
-
-
-print(string.byte(r))
-print(string.byte(r,2))
-print(string.byte(r,3))
-
-]]
diff --git a/Mesures/humidity/bolo/0_get_data.lua b/Mesures/humidity/bolo/0_get_data.lua
deleted file mode 100644
index 5b8850b..0000000
--- a/Mesures/humidity/bolo/0_get_data.lua
+++ /dev/null
@@ -1,59 +0,0 @@
--- Lit le capteur I2C HTU21D de mesure d'humidité et de température
-print("\n 0_get_data.lua zf191216.1205 \n")
-
--- https://cdn-shop.adafruit.com/datasheets/1899_HTU21D.pdf
--- Comparaison DHT22, AM2302, AM2320, AM2321, SHT71, HTU21D, Si7021, BME280
--- http://www.kandrsmith.org/RJS/Misc/Hygrometers/calib_many.html
--- Il est compatible avec le capteur SI7021 mais pas avec la lib SI7021 du NodeMCU Lua :-(
-
--- http://electromag1.wifeo.com/capteurs-de-temperature-et-humidite-gy-21-et-si7021.php
--- source: https://github.com/famzah/nodemcu/tree/master/HTU21D-TLS
--- source2: https://github.com/tebben/NodeMCU
--- source3: https://github.com/codywon/NodeMCU-2
-
-
-id = 0
-sda = 5
-scl = 6
-addr = 0x40
-HUMIDITY = 0xE5
-TEMPERATURE = 0xE3
-
-i2c.setup(id, sda, scl, i2c.SLOW)
-
-i2c.start(id)
-i2c.address(id, addr, i2c.TRANSMITTER)
-i2c.write(id, HUMIDITY)
-i2c.stop(id)
-
-i2c.start(id)
-i2c.address(id, addr, i2c.RECEIVER)
-tmr.delay(50*1000)
-
-r = i2c.read(id,3)
-i2c.stop(id)
-
-print(string.byte(r))
-print(string.byte(r,2))
-print(string.byte(r,3))
-
-
-
---i2c.address(id, addr, i2c.RECEIVER)
-
---[[
-i2c.stop(id)
-
-
-tmr.delay(17*1000)
-
-
-i2c.start(id)
-r = i2c.read(id,3)
-i2c.stop(id)
-
-print(string.byte(r))
-print(string.byte(r,2))
-print(string.byte(r,3))
-]]
-
diff --git a/Mesures/humidity/bolo/0_htu21d.lua b/Mesures/humidity/bolo/0_htu21d.lua
new file mode 100644
index 0000000..79b0401
--- /dev/null
+++ b/Mesures/humidity/bolo/0_htu21d.lua
@@ -0,0 +1,41 @@
+-- Lit le capteur I2C HTU21D de mesure d'humidité et de température
+print("\n 0_htu21d.lua zf191216.2115 \n")
+
+-- module https://learn.sparkfun.com/tutorials/htu21d-humidity-sensor-hookup-guide/all
+-- schéma https://github.com/sparkfun/HTU21D_Breakout/blob/master/hardware/SparkFun_HTU21D_Breakout.pdf
+-- data sheet https://cdn.sparkfun.com/assets/6/a/8/e/f/525778d4757b7f50398b4567.pdf
+-- Comparaison DHT22, AM2302, AM2320, AM2321, SHT71, HTU21D, Si7021, BME280
+-- http://www.kandrsmith.org/RJS/Misc/Hygrometers/calib_many.html
+-- théorie http://electromag1.wifeo.com/capteurs-de-temperature-et-humidite-gy-21-et-si7021.php
+-- source lua: https://github.com/tebben/NodeMCU
+
+-- ATTENTION: il n'y a seulement que certaines combinaisons de pins qui fonctionnent avec le capteur HTU21D avec le NodeMCU !
+
+id = 0 sda = 5 scl = 6 addr = 0x40
+HUMIDITY = 0xE5 TEMPERATURE = 0xE3
+i2c.setup(id, sda, scl, i2c.SLOW) sda = nil scl = nil
+
+function read_HTU21D(zreg, zdelay)
+ i2c.start(id) i2c.address(id, addr, i2c.TRANSMITTER)
+ i2c.write(id, zreg) i2c.stop(id)
+ i2c.start(id) i2c.address(id, addr, i2c.RECEIVER)
+ tmr.delay(zdelay)
+ r = i2c.read(id,3) i2c.stop(id)
+ return r
+end
+
+function readTemp()
+ r = read_HTU21D(TEMPERATURE, 50000)
+ r = (bit.band((bit.lshift(string.byte(r,1),8)+string.byte(r,2)),0xfffc)*17572)/65536-4685
+ return tonumber(string.format("%.1f", tostring(r/100)))
+end
+
+function readHumi()
+ r = read_HTU21D(HUMIDITY, 16000)
+ r = (bit.band((bit.lshift(string.byte(r,1),8)+string.byte(r,2)),0xfffc)*12500)/65536-600
+ return tonumber(string.format("%.1f", tostring(r/100)))
+end
+
+r = nil
+print("Temperature: "..readTemp().." °C")
+print("Humidity: "..readHumi().." %")
diff --git a/Mesures/humidity/bolo/README.md b/Mesures/humidity/bolo/README.md
index 6b7b763..64f3306 100644
--- a/Mesures/humidity/bolo/README.md
+++ b/Mesures/humidity/bolo/README.md
@@ -30,21 +30,31 @@ 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
+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://learn.sparkfun.com/tutorials/htu21d-humidity-sensor-hookup-guide/all
+
+Datasheet:
+
+https://cdn.sparkfun.com/assets/6/a/8/e/f/525778d4757b7f50398b4567.pdf
+
+On arrive à le souder directement sur le NodeMCU, ce qui nous permet de faire un point de mesure décentralisé pour moins de 5.-
+
+
+soudure du module HTU21D directement sur le NodeMCU_Lua
## Installation
Il faut *flasher* le NodeMCU avec ce firmware:
-
+https://github.com/zuzu59/NodeMCU_Lua/blob/master/Firmware/nodemcu-master-11-modules-2019-12-15-16-45-47-float.bin
Avec ces modules:
-
-```
-adc file gpio http i2c mqtt net node ow rtctime si7021 sntp tmr uart wifi
```
+bit,file,gpio,http,i2c,net,node,rtctime,tmr,uart,wifi
+ ```
## Utilisation
@@ -52,7 +62,7 @@ adc file gpio http i2c mqtt net node ow rtctime si7021 sntp tmr uart wifi
### Distribution des rôles de NodeMCU
-Comme on peut avoir plusieurs points de mesures à différents endroit dans le local, il n'y a qu'une Seulement fichier de *secrets*. C'est dans ce fichier de *secrets* qu'il y a l'information de l'adresse IP de la base de donnée InfluxDB et c'est l'id des NodeMCU qui sont enregistrés dans la DB InfluxDB !
+Comme on peut avoir plusieurs points de mesures à différents endroit dans le local, il n'y a qu'un seul fichier de *secrets*. C'est dans ce fichier de *secrets* qu'il y a l'information de l'adresse IP de la base de donnée InfluxDB et c'est l'id des NodeMCU qui sont enregistrés dans la DB InfluxDB !
```
secrets_projet.lua
@@ -121,7 +131,7 @@ Seulement la corrélation entre les trois température
https://thingspeak.com/apps/plugins/300559
-zf191201.2315
+zf191216.2134
pense bête:
diff --git a/Mesures/humidity/bolo/a.lua b/Mesures/humidity/bolo/a.lua
deleted file mode 100644
index b25f328..0000000
--- a/Mesures/humidity/bolo/a.lua
+++ /dev/null
@@ -1,42 +0,0 @@
-print("\n a.lua zf191216.1206 \n")
-
-t2 = 1234
-
-id = 0
-sda = 5
-scl = 6
-addr = 0x40
-
-r = ""
-HUMIDITY = 0xE5
-TEMPERATURE = 0xE3
-
-
-function readHumi()
- i2c.start(id)
- i2c.address(id, addr, i2c.TRANSMITTER)
- i2c.write(id, HUMIDITY)
- i2c.stop(id)
-
- i2c.start(id)
- i2c.address(id, addr, i2c.RECEIVER)
- tmr.delay(20000)
-
- r = i2c.read(id,3)
- i2c.stop(id)
-
- print(r)
- return (bit.band((bit.lshift(string.byte(r,1),8)+string.byte(r,2)),0xfffc)*12500)/65536-600
-end
-
-
-function getHumidity()
- return tonumber(string.format("%.1f", tostring(readHumi()/100)))
-end
-
-i2c.setup(id, sda, scl, i2c.SLOW)
-
-t2 = getHumidity()
-print("Humidity: "..t2.." %")
-
-
diff --git a/Mesures/humidity/bolo/b.lua b/Mesures/humidity/bolo/b.lua
deleted file mode 100644
index e2f6926..0000000
--- a/Mesures/humidity/bolo/b.lua
+++ /dev/null
@@ -1,21 +0,0 @@
--- http://www.esp8266.com/viewtopic.php?f=19&t=771
--- Scan for I2C devices
-
-print("\n b.lua zf191216.1158 \n")
-
-id=0
-sda=5
-scl=6
-
--- initialize i2c, set pin1 as sda, set pin0 as scl
-
-print("start...")
-i2c.setup(id,sda,scl,i2c.SLOW)
-
-for i=0,127 do
- i2c.start(id)
- resCode = i2c.address(id, i, i2c.TRANSMITTER)
- i2c.stop(id)
- if resCode == true then print("We have a device on address 0x" .. string.format("%02x", i) .. " (" .. i ..")") end
-end
-print("stop...")
\ No newline at end of file
diff --git a/Mesures/humidity/bolo/c.lua b/Mesures/humidity/bolo/goodies/c.lua
similarity index 100%
rename from Mesures/humidity/bolo/c.lua
rename to Mesures/humidity/bolo/goodies/c.lua
diff --git a/Mesures/humidity/bolo/goodies/i2c_scanner.lua b/Mesures/humidity/bolo/goodies/i2c_scanner.lua
new file mode 100644
index 0000000..6fcfbf4
--- /dev/null
+++ b/Mesures/humidity/bolo/goodies/i2c_scanner.lua
@@ -0,0 +1,17 @@
+-- Scanner for I2C devices
+-- http://www.esp8266.com/viewtopic.php?f=19&t=771
+
+print("\n i2c_scanner.lua zf191216.2117 \n")
+
+id=0 sda=5 scl=6
+
+print("start...")
+i2c.setup(id,sda,scl,i2c.SLOW)
+
+for i=0,127 do
+ i2c.start(id)
+ resCode = i2c.address(id, i, i2c.TRANSMITTER)
+ i2c.stop(id)
+ if resCode == true then print("We have a device on address 0x" .. string.format("%02x", i) .. " (" .. i ..")") end
+end
+print("stop...")