{"id":3112,"date":"2022-08-21T19:56:56","date_gmt":"2022-08-21T17:56:56","guid":{"rendered":"https:\/\/miniprojets.net\/?p=3112"},"modified":"2022-12-17T17:20:46","modified_gmt":"2022-12-17T16:20:46","slug":"mesure-de-la-contenance-et-de-la-temperature-dune-cuve-de-recuperation-deau-de-pluie","status":"publish","type":"post","link":"https:\/\/miniprojets.net\/index.php\/2022\/08\/21\/mesure-de-la-contenance-et-de-la-temperature-dune-cuve-de-recuperation-deau-de-pluie\/","title":{"rendered":"Mesure de la contenance et de la temperature d\u2019une cuve de r\u00e9cup\u00e9ration d\u2019eau de pluie"},"content":{"rendered":"\n<p>Bonjour \u00e0 tous,<\/p>\n\n\n\n<p>Aujourd\u2019hui et pour se remettre en jambe apr\u00e8s les vacances, je vous propose un petit tutoriel afin de fabriquer une solution permettant de suivre le niveau et la temp\u00e9rature d\u2019une cuve de r\u00e9cup\u00e9ration d\u2019eau de pluie et ainsi ouvrir la voie pour l\u2019automatisation de l\u2019arrosage d\u2019un jardin.<\/p>\n\n\n\n<p>Cette solution pourrait aussi servir dans des applications visant \u00e0 la r\u00e9utilisation des eaux grises pour optimiser la consommation de la maison.<\/p>\n\n\n\n<p>Il y a 1 an, j\u2019avais attaqu\u00e9 ce probl\u00e8me en utilisant un capteur \u00e0 ultrasons HC-SR04 qui est le plus r\u00e9pandu dans le domaine des mesures low-cost mais celui-ci n\u2019\u00e9tant pas \u00e9tanche, il avait fini par rendre l\u2019\u00e2me au bout de quelques jours \u00e0 cause du taux d\u2019humidit\u00e9 dans la cuve malgr\u00e9 l\u2019\u00e9loignement de celui-ci par rapport \u00e0 la surface de l\u2019eau\u2026<\/p>\n\n\n\n<p>Comme d\u2019habitude les sources et les diff\u00e9rents fichiers se trouverons \u00e0 la fin de l\u2019article.<\/p>\n\n\n\n<p>Bref, nous pouvons d\u00e9buter comme d\u2019habitude avec la liste du mat\u00e9riel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Partie 0: Liste du mat\u00e9riel<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Un capteur \u00e0 ultrasons \u00e9tanche de chez DFRobot<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"352\" height=\"332\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image.png\" alt=\"\" class=\"wp-image-3095\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image.png 352w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-300x283.png 300w\" sizes=\"auto, (max-width: 352px) 100vw, 352px\" \/><\/figure>\n\n\n\n<p><a href=\"https:\/\/wiki.dfrobot.com\/_A02YYUW_Waterproof_Ultrasonic_Sensor_SKU_SEN0311\">https:\/\/wiki.dfrobot.com\/_A02YYUW_Waterproof_Ultrasonic_Sensor_SKU_SEN0311<\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Une sonde de temp\u00e9rature DS18B20<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"431\" height=\"345\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-1.png\" alt=\"\" class=\"wp-image-3098\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-1.png 431w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-1-300x240.png 300w\" sizes=\"auto, (max-width: 431px) 100vw, 431px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Un wemos D1 mini<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"885\" height=\"627\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/05\/D1_MINI.png\" alt=\"\" class=\"wp-image-2698\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/05\/D1_MINI.png 885w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/05\/D1_MINI-300x213.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/05\/D1_MINI-768x544.png 768w\" sizes=\"auto, (max-width: 885px) 100vw, 885px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Un plaque \u00e0 trou et divers connecteurs<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Partie 1: Connexion des diff\u00e9rents \u00e9l\u00e9ments<\/h2>\n\n\n\n<p>Attention, le capteur \u00e0 ultrasons \u00e9tanche de chez DFRobot contrairement au HC-SR04 utilise une liaison s\u00e9rie pour communiquer.<\/p>\n\n\n\n<p>Comme dans l\u2019exemple donn\u00e9 sur le wiki de DFRobot, nous utiliserons une liaison s\u00e9rie Software (bas\u00e9e sur les pins D1 et D2) afin de garder la liaison hardware pour le d\u00e9bogage.<\/p>\n\n\n\n<p>En ce qui concerne le DS18D20, il n\u2019y a pas de pr\u00e9caution particuli\u00e8re, si vous avez pris celui avec la platine d\u2019adaptation sinon il faudra penser \u00e0 mettre une r\u00e9sistance (vous trouverez tout ce qu&#8217;il faut sur google).<\/p>\n\n\n\n<p>Ci-dessous un tableau r\u00e9capitulatif des connections entre les \u00e9l\u00e9ments.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Wemos D1 mini<\/td><td>Capteur \u00e0 ultrasons<\/td><td>DS18D20<\/td><\/tr><tr><td>3.3V<\/td><td>3.3V<\/td><td>3.3V<\/td><\/tr><tr><td>GND<\/td><td>GND<\/td><td>GND<\/td><\/tr><tr><td>D1 (TX soft)<\/td><td>RX<\/td><td><\/td><\/tr><tr><td>D2 (RX soft)<\/td><td>TX<\/td><td><\/td><\/tr><tr><td>D6<\/td><td><\/td><td>Signal<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Voici un sch\u00e9ma de cablage pour aider \u00e0 la compr\u00e9hension<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"412\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-3-1024x412.png\" alt=\"\" class=\"wp-image-3100\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-3-1024x412.png 1024w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-3-300x121.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-3-768x309.png 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-3.png 1396w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Pour ma part afin d\u2019\u00e9viter des fils volants, j\u2019ai fig\u00e9 le tout avec une plaque \u00e0 trou<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"454\" height=\"740\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-4.png\" alt=\"\" class=\"wp-image-3101\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-4.png 454w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-4-184x300.png 184w\" sizes=\"auto, (max-width: 454px) 100vw, 454px\" \/><\/figure>\n\n\n\n<p>Ainsi quand on peut installer le Wemos sans probl\u00e8me<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"501\" height=\"670\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-5.png\" alt=\"\" class=\"wp-image-3102\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-5.png 501w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-5-224x300.png 224w\" sizes=\"auto, (max-width: 501px) 100vw, 501px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Partie 2: Programmation<\/h2>\n\n\n\n<p>En ce qui concerne la programmation, j\u2019ai fait un mix entre le code de d\u00e9monstration fourni par DFRobot et les autres codes que j\u2019utilise pour envoyer les informations via MQTT.<\/p>\n\n\n\n<p>Il n\u2019y a que la librairie OneWire \u00e0 avoir dans l\u2019IDE Arduino afin de pouvoir lire le DS18D20<\/p>\n\n\n\n<p>Vous pouvez copier\/coller le code ci-dessous ou le t\u00e9l\u00e9charger dans la partie \u00e0 la fin de l&#8217;article.<\/p>\n\n\n\n<p>Pensez \u00e0 renseigner le SSID ainsi que le mot de passe de votre Wifi et de mettre la bonne adresse IP de votre Broker MQTT.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n#include &amp;lt;SoftwareSerial.h&gt;\n#include &amp;lt;ESP8266WiFi.h&gt;\n#include &amp;lt;PubSubClient.h&gt;\n#include &amp;lt;OneWire.h&gt;\n#include &amp;lt;DallasTemperature.h&gt;\n\n#define wifi_ssid &quot;YOURWIFISSID&quot;\n#define wifi_password &quot;YOURWIFIPASSWORD&quot;\n\n#define mqtt_server &quot;XXX.XXX.XXX.XXX&quot;\n#define mqtt_user &quot;guest&quot;  \/\/s&#039;il a \u00e9t\u00e9 configur\u00e9 sur Mosquitto\n#define mqtt_password &quot;guest&quot; \/\/idem\n\n#define hauteureau_topic &quot;cuve\/hauteureau&quot;  \/\/Topic hauteur\n#define temperatureeau_topic &quot;cuve\/temperatureeau&quot;  \/\/Topic temp\n\n#define ONE_WIRE_PIN D6\n\nOneWire oneWire(ONE_WIRE_PIN);\nDallasTemperature sensors(&amp;amp;oneWire);\n\nSoftwareSerial mySerial(D2,D1); \/\/ RX, TX\nunsigned char data&#x5B;4]={};\nfloat distance;\n\n\/\/Buffer qui permet de d\u00e9coder les messages MQTT re\u00e7us\nchar message_buff&#x5B;100];\n\nlong lastMsg = 0;   \/\/Horodatage du dernier message publi\u00e9 sur MQTT\nlong lastRecu = 0;\nbool debug = false;  \/\/Affiche sur la console si True\n\nWiFiClient espClient;\nPubSubClient client(espClient);\n\nvoid setup()\n{\n Serial.begin(57600);\n mySerial.begin(9600); \n setup_wifi();           \/\/On se connecte au r\u00e9seau wifi\n client.setServer(mqtt_server, 1883);    \/\/Configuration de la connexion au serveur MQTT\n delay(1000);\n}\n\n\/\/Connexion au r\u00e9seau WiFi\nvoid setup_wifi() {\n  delay(10);\n\/\/  Serial.println();\n\/\/  Serial.print(&quot;Connexion a &quot;);\n\/\/  Serial.println(wifi_ssid);\n\n  WiFi.begin(wifi_ssid, wifi_password);\n\n  while (WiFi.status() != WL_CONNECTED) {\n    delay(500);\n    Serial.print(&quot;.&quot;);\n  }\n\n  Serial.println(&quot;&quot;);\n  Serial.println(&quot;Connexion WiFi etablie &quot;);\n  Serial.print(&quot;=&gt; Addresse IP : &quot;);\n  Serial.print(WiFi.localIP());\n}\n\n\/\/Reconnexion\nvoid reconnect() {\n  \/\/Boucle jusqu&#039;\u00e0 obtenur une reconnexion\n  while (!client.connected()) {\n    Serial.print(&quot;Connexion au serveur MQTT...&quot;);\n    if (client.connect(&quot;BBXCuve&quot;, mqtt_user, mqtt_password)) {\n      Serial.println(&quot;OK&quot;);\n    } else {\n      Serial.print(&quot;KO, erreur : &quot;);\n      Serial.print(client.state());\n      Serial.println(&quot; On attend 5 secondes avant de recommencer&quot;);\n      delay(5000);\n    }\n  }\n}\n\nvoid loop()\n{\nif (!client.connected()) {\n    reconnect();\n  }\n  client.loop();\n  long now = millis();\n    do{\n     for(int i=0;i&amp;lt;4;i++)\n     {\n       data&#x5B;i]=mySerial.read();\n     }\n  }while(mySerial.read()==0xff);\n\n  mySerial.flush();\n\n  if(data&#x5B;0]==0xff)\n    {\n      int sum;\n      sum=(data&#x5B;0]+data&#x5B;1]+data&#x5B;2])&amp;amp;0x00FF;\n      if(sum==data&#x5B;3])\n      {\n        distance=(data&#x5B;1]&amp;lt;&amp;lt;8)+data&#x5B;2];\n        if(distance&gt;30)\n          {\n           Serial.print(&quot;distance=&quot;);\n           Serial.print(distance\/10);\n           Serial.println(&quot;cm&quot;);\n           if (now - lastMsg &gt; 1000 * 60) {\n           Serial.println(&quot;toto&quot;);\n           lastMsg = now;\n         \/\/  int distancetemp = distance;\n           client.publish(hauteureau_topic, String(distance\/10).c_str(), true);\n           sensors.requestTemperatures();\n           float temperature = sensors.getTempCByIndex(0);\n           Serial.println(temperature);\n           Serial.println(&quot;\u00b0C&quot;);\n           client.publish(temperatureeau_topic, String(temperature).c_str(), true);\n           }\n           \n          }else \n             {\n               Serial.println(&quot;Below the lower limit&quot;);\n             }\n      }else Serial.println(&quot;ERROR&quot;);\n     }\n     delay(100);\n}\n<\/pre><\/div>\n\n\n<p>Maintenant que tout est ok et t\u00e9l\u00e9vers\u00e9, nous pouvons passer \u00e0 l&#8217;installation du dispositif. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Partie 3: Installation sur la cuve<\/h2>\n\n\n\n<p>Il faudra penser \u00e0 prot\u00e9ger l&#8217;\u00e9lectronique dans un boitier \u00e9tanche et \u00e0 l&#8217;alimenter avec du 5V.<\/p>\n\n\n\n<p>En ce qui concerne le DS18D20, il n&#8217;y a pas de pr\u00e9caution particuli\u00e8re \u00e0 prendre, car le capteur sera directement plong\u00e9 dans l&#8217;eau<\/p>\n\n\n\n<p>Pour le capteur \u00e0 ultrasons, celui a besoin d&#8217;\u00eatre parall\u00e8le \u00e0 la surface de l&#8217;eau et \u00e9loign\u00e9 de la surface donc j&#8217;ai pr\u00e9vu un petit bonus ^^.<\/p>\n\n\n\n<p>Ce bonus et la conception d&#8217;un support pouvant \u00eatre imprim\u00e9 en 3D. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"731\" height=\"655\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-6.png\" alt=\"\" class=\"wp-image-3118\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-6.png 731w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-6-300x269.png 300w\" sizes=\"auto, (max-width: 731px) 100vw, 731px\" \/><\/figure>\n\n\n\n<p>Vous pouvez retrouver le fichier sur le site thingiverse<\/p>\n\n\n\n<p><a href=\"https:\/\/www.thingiverse.com\/thing:5473373\">https:\/\/www.thingiverse.com\/thing:5473373<\/a><\/p>\n\n\n\n<p>Au final, une fois le support imprim\u00e9, le montage donne cela:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/20220331_205944-768x1024.jpg\" alt=\"\" class=\"wp-image-3117\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/20220331_205944-768x1024.jpg 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/20220331_205944-225x300.jpg 225w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/20220331_205944-1152x1536.jpg 1152w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/20220331_205944-1536x2048.jpg 1536w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/20220331_205944-scaled.jpg 1920w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<p>Nous pouvons maintenant installer le tout sur la cuve.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/20220331_211455-768x1024.jpg\" alt=\"\" class=\"wp-image-3104\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/20220331_211455-768x1024.jpg 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/20220331_211455-225x300.jpg 225w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/20220331_211455-1152x1536.jpg 1152w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/20220331_211455-1536x2048.jpg 1536w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/20220331_211455-scaled.jpg 1920w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<p>Maintenant que le capteur est install\u00e9, afin de calculer le volume d&#8217;eau restant, il faut penser \u00e0 prendre les mesures suivantes:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Distance entre le fond du bassin et le capteur en centim\u00e8tres (pour ici 79cm)<\/li><li>La superficie du bassin (en m\u00b2)<\/li><\/ul>\n\n\n\n<p>Si tout est ok, nous pouvons passer sur Jeedom pour int\u00e9grer ce nouveau capteur<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Partie 4: Int\u00e9gration dans Jeedom<\/h2>\n\n\n\n<p>En ce qui concerne l&#8217;int\u00e9gration dans Jeedom, cette fois, j&#8217;utilise le plugin MQTT (et non JMQTT mais c&#8217;est la m\u00eame chose) et le plugin Virtuel.<\/p>\n\n\n\n<p>la premi\u00e8re \u00e9tape est d&#8217;aller dans le plugin MQTT<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"479\" height=\"622\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-7.png\" alt=\"\" class=\"wp-image-3123\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-7.png 479w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-7-231x300.png 231w\" sizes=\"auto, (max-width: 479px) 100vw, 479px\" \/><\/figure>\n\n\n\n<p>Puis de rechercher le topic qui est apparu (ici Cuve)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"127\" height=\"164\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-8.png\" alt=\"\" class=\"wp-image-3124\"\/><\/figure>\n\n\n\n<p>Activez et affectez le sur un objet parent (ici Ext\u00e9rieur)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"838\" height=\"303\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-9.png\" alt=\"\" class=\"wp-image-3125\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-9.png 838w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-9-300x108.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-9-768x278.png 768w\" sizes=\"auto, (max-width: 838px) 100vw, 838px\" \/><\/figure>\n\n\n\n<p>Puis allez dans l&#8217;onglet commandes et cochez Historiser et Afficher<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"273\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-10-1024x273.png\" alt=\"\" class=\"wp-image-3126\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-10-1024x273.png 1024w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-10-300x80.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-10-768x205.png 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-10-1536x409.png 1536w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-10.png 1602w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Normalement, vous devriez vous retrouver avec le visuel suivant dans l&#8217;objet Ext\u00e9rieur<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"251\" height=\"157\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-11.png\" alt=\"\" class=\"wp-image-3127\"\/><\/figure>\n\n\n\n<p>Comme vous pouvez le voir, le dispositif nous renvoi bien la temp\u00e9rature aussi la distance entre le capteur et la surface.<\/p>\n\n\n\n<p>Si tout est ok et afin de pouvoir avoir le volume d&#8217;eau, maintenant, vous pouvez aller dans le plugin Virtuel<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"464\" height=\"521\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-12.png\" alt=\"\" class=\"wp-image-3128\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-12.png 464w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-12-267x300.png 267w\" sizes=\"auto, (max-width: 464px) 100vw, 464px\" \/><\/figure>\n\n\n\n<p>Cliquez sur Ajouter et donnez un nom \u00e0 votre capteur virtuel (ici appel\u00e9 Volume eau)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"155\" height=\"129\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-13.png\" alt=\"\" class=\"wp-image-3129\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"869\" height=\"348\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-14.png\" alt=\"\" class=\"wp-image-3130\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-14.png 869w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-14-300x120.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-14-768x308.png 768w\" sizes=\"auto, (max-width: 869px) 100vw, 869px\" \/><\/figure>\n\n\n\n<p>Cliquez maintenant sur Commandes et ensuite sur Ajouter une info virtuelle<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"170\" height=\"42\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-15.png\" alt=\"\" class=\"wp-image-3131\"\/><\/figure>\n\n\n\n<p>Renseignez le nom (ici volume eau reservoir)<\/p>\n\n\n\n<p>Choisissez le type Num\u00e9rique<\/p>\n\n\n\n<p>Dans valeur, mettez la formule suivante:<\/p>\n\n\n\n<p>(1000*<em>((&#8220;hauteurentrecapteuretfond&#8221;-#[Ext\u00e9rieur][cuve][hauteureau]#)\/100)<\/em>*&#8221;Surfacedeau&#8221;)<\/p>\n\n\n\n<p>pour mon exemple, cela donne la formule ci-dessous car j&#8217;ai 3 cuves reli\u00e9es ensembles<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"74\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-17.png\" alt=\"\" class=\"wp-image-3133\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-17.png 640w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-17-300x35.png 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<p>Faites bien attention, les virgules des d\u00e9cimales doivent \u00eatre des points ( je sais pas si je me suis bien fait comprendre ^^)<\/p>\n\n\n\n<p>Voil\u00e0, vous avez plus qu&#8217;\u00e0 sauvegarder et retourner sur l&#8217;objet ext\u00e9rieur pour v\u00e9rifier si tout est ok<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"239\" height=\"138\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-18.png\" alt=\"\" class=\"wp-image-3134\"\/><\/figure>\n\n\n\n<p>Maintenant, vous avez un capteur op\u00e9rationnel. <\/p>\n\n\n\n<p>Apr\u00e8s quelques temps, vous pourrez voir l&#8217;historique de l&#8217;utilisation et du remplissage de la cuve<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"789\" height=\"553\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-19.png\" alt=\"\" class=\"wp-image-3135\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-19.png 789w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-19-300x210.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/image-19-768x538.png 768w\" sizes=\"auto, (max-width: 789px) 100vw, 789px\" \/><\/figure>\n\n\n\n<p>Si vous en \u00eates l\u00e0 et que tout est op\u00e9rationnel, f\u00e9liciations!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Partie 5: Codes et fichiers<\/h2>\n\n\n\n<p>Code <\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-c652b16d-6932-4e33-bd37-6c6f3a94e8e8\" href=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/Code_plus_stl.zip\">Code_plus_stl<\/a><a href=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2022\/08\/Code_plus_stl.zip\" class=\"wp-block-file__button\" download aria-describedby=\"wp-block-file--media-c652b16d-6932-4e33-bd37-6c6f3a94e8e8\">Download<\/a><\/div>\n\n\n\n<p>Voil\u00e0 c&#8217;est tout pour aujourd&#8217;hui, je ferais s\u00fbrement un autre article sur l&#8217;impl\u00e9mentation d&#8217;un arrosage automatique \u00e0 partir de ces donn\u00e9es. <\/p>\n\n\n\n<p>Bonne rentr\u00e9e \u00e0 tous, <\/p>\n\n\n\n<p>J\u00e9r\u00f4me<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bonjour \u00e0 tous, Aujourd\u2019hui et pour se remettre en jambe apr\u00e8s les vacances, je vous propose un petit tutoriel afin&hellip;<\/p>\n","protected":false},"author":1,"featured_media":3104,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[54],"tags":[18],"class_list":["post-3112","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-capteurs","tag-domotique"],"_links":{"self":[{"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/posts\/3112","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/comments?post=3112"}],"version-history":[{"count":0,"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/posts\/3112\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/media\/3104"}],"wp:attachment":[{"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/media?parent=3112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/categories?post=3112"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/tags?post=3112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}