Comparaison du Xiaomi Mi Plant avec 3 capteurs d’humidité du sol (version low coast FC-28 et anti-corrosion)

Il y peu de temps, j’ai pu tester le nouveau capteur Xiaomi Mi Plant, la nouvelle dénomination du Mi Flora. Ce petit capteur que l’on trouve très souvent en promo pour environ 10€ trouvera vite une place dans vos pots de fleur. Ce capteur présente toutefois deux inconvénients. Tout d’abord, il est destiné aux plantes d’intérieures. Ensuite il est nécessaire d’être à portée de la connexion bluetooth pour récupérer les mesures. Impossible donc de surveiller l’arrosage de vos plantes en vacances. Si vous avez l’intention de concevoir un système d’irrigation ou d’arrosage DIY, le Xiaomi Mi Plant risque vite d’être limité. Je vous propose ici de comparer le Xiaomi Mi Plant à un capteur YL-69 qui est très souvent intégré dans les kits de capteurs pour projets Arduino. On trouve aussi ces sondes sous la référence HL-69, FC-28. On testera également une version améliorée (capacitive soil moisture v1.2) qui dispose d’un revêtement d’epoxy anti-corrosion . 

 

Remarques. Cette étude comparative n’a pas été réalisée dans un laboratoire avec des outils de mesures scientifiques. Elle a pour objectif de donner une idée des performances de quelques produits et ne saurait être représentative de l’ensemble des produits disponibles sur le marché. J’ai procédé à plusieurs tests pour m’assurer de la justesse des mesures. Vous risquez d’obtenir des résultats très différents des miens, n’hésitez pas à partager vos résultats dans les commentaires si tel est le cas.

Capteurs d’humidité du sol YL-69 et capacitive soil moisture sensor v1.2

On trouve deux principaux types de capteurs de mesure d’humidité du sol. Les capteurs économiques vendus moins de 1 euros fabriqués directement sur une plaque de bakélite. Ces capteurs vieillissent assez mal et se corrodent très rapidement dans le sol . Ils portent différentes dénominations (YL-69, HL-69, FC-28) mais je n’ai pas trouvé de différences techniques claires.

 

soil moiture sensore yl-69 fc-28 sonde humitidé

 

Voir toutes les offres

En général, je commande deux capteurs chez des fabricants différents sur AliExpress lorsque je prépare des tutoriels ou des projets. Le délai moyen de livraison étant de 2 à 3 semaines, si un capteur est défectueux, je suis obligé de décaler d’autant la réalisation du projet. Vous vous en doutez, je passe souvent commande sur AliExpress. Par expérience, c’est assez rare, mais ça peut arriver. Donc j’en ai profité pour tester 2 sondes, histoire de voir s’il y a une différence entre deux fabricants.

Pour palier au défaut de corrosion des sondes YL-69, on trouve une version améliorée avec un revêtement anti-corrosion d’epoxy (à vérifier). Ce capteur que l’on trouve sous le nom de capacitive soil moisture v1.2 est un clone des projets de DFRobotAbra (qui utilise un revêtement de nickel) ou Catnip sur Tindie. Cette sonde d’humidité coûte un peu plus cher (environ 2,50€). Voyons ce que ça donne au niveau de la rapidité et de la qualité des mesures.

Voir toutes les offres

Comme base de comparaison, nous allons utiliser le Xiaomi Mi Plant (environ 10,50€) testé en détail dans cet article. Les objectifs sont les suivants :

  • Comparer la vitesse de réponse des capteurs lorsque le taux d’humidité change brutalement. Simulation d’un arrosage (ou d’un orage)
  • Essayer de calibrer le signal analogique pour estimer le taux d’humidité
  • Vérifier la stabilité des mesures

1 xiaomi mi plant flora review test 2018

Voir toutes les offres

Montage expérimental utilisé

Je suis parti du précédent projet d’acquisition de données via le port série depuis Node-RED. C’est un projet simple … mais très puissant pour débuter sur Arduino et Node-RED.

Les trois sondes sont reliées aux broches analogiques A3 à A5 d’un Arduino Uno.

 

 

L’Arduino Uno est connecté au port USB d’un Raspberry Pi sur lequel est installé Node-RED. On pourrait aussi l’installer sur un PC Windows ou un MAC. Le code Arduino identique à celui du précédent tutoriel renvoi les mesures sous la forme d’un objet JSON. raw signifie que c’est la valeur brute mesurée à l’aide du convertisseur Analogique – numérique. C’est une valeur codée sur 10 bits (1024 niveaux) :

{
  "YL69A_raw":valeur,
  "YL69B_raw": valeur,
  "v1_2_raw":valeur
}

Le Xiaomi Mi Plant est connecté au Raspberry Pi via la connexion Bluetooth du Raspberry Pi 3. J’ai utilisé le script MiFlora-MQTT-Deamon  développé par Thomas Dietrich. Il est disponible sur GitHub ici. Vous trouverez plus de détail sur l’installation et la configuration du script en lisant ce tutoriel. Le script mime l’application Mi Home et intercepte les trames Bluetooth qui contiennent les mesures renvoyées par le Mi Plant. Les données sont ensuite re-publiées vers le Broker MQTT (Mosquitto dans le cas présent).

Voici le schéma d’ensemble du montage d’essai

 

Flow Node-RED du système d’acquisition de données

Node-RED permet avec quelques blocs (nodes) de créer un système d’acquisition de données. J’ai opté pour cette solution de développement pour varier un peu les plaisirs.

Le node Serial permet de se connecter au port série de l’Arduino pour récupérer les mesures des deux sondes. Le node MQTT permet de se connecter au broker qui recevra les mesures en provenance du Mi Plant.

Avant d’importer le code du flow ci-dessous, commercez par installer le plugin dashboard depuis le gestionnaire de palette pour éviter toute erreur.

nodered menu manage palette nodered install dashboard plugin

 

Il vous restera ensuite à modifier le topic MQTT sur lequel sont envoyés les mesures du Mi Plant ainsi que le port USB sur lequel est connecté l’Arduino Uno.

[{"id":"53bfd90d.562a58","type":"mqtt in","z":"3639e7d1.f1c3e8","name":"Mi Plant","topic":"miflora/miplant2018","qos":"1","broker":"12f512eb.9c8b5d","x":100,"y":100,"wires":[["52c040c7.1694b"]]},{"id":"52c040c7.1694b","type":"json","z":"3639e7d1.f1c3e8","name":"","property":"payload","action":"","pretty":false,"x":250,"y":100,"wires":[["3cc11661.f653ca"]]},{"id":"3cc11661.f653ca","type":"switch","z":"3639e7d1.f1c3e8","name":"","property":"payload.moisture","propertyType":"msg","rules":[{"t":"gt","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":370,"y":100,"wires":[["324e0642.4a29ca","f2a4306f.30a42","6d40fd38.6d08f4"]]},{"id":"bc796f1f.f46ab","type":"file","z":"3639e7d1.f1c3e8","name":"","filename":"/home/pi/miflora.csv","appendNewline":true,"createDir":false,"overwriteFile":"false","x":820,"y":120,"wires":[]},{"id":"324e0642.4a29ca","type":"function","z":"3639e7d1.f1c3e8","name":"Format Mi Flora Data","func":"\nvar date = new Date().toLocaleDateString();\nvar time = new Date().toLocaleTimeString();\n//var dtstmp = new Intl.DateTimeFormat('fr-FR').format(date);\n\n//dtstmp = new Date(day,month,year,hour,minute,seconde).toString();\nvar output = date + \";\" + time  + \";\" + msg.payload.moisture + \";\" + msg.payload.conductivity + \";\" + msg.payload.light + \";\" + msg.payload.temperature;\nmsg.payload = output;\nreturn msg;","outputs":1,"noerr":0,"x":580,"y":120,"wires":[["c6d1cfd6.f9029","bc796f1f.f46ab"]]},{"id":"c6d1cfd6.f9029","type":"debug","z":"3639e7d1.f1c3e8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":790,"y":60,"wires":[]},{"id":"f2a4306f.30a42","type":"debug","z":"3639e7d1.f1c3e8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":550,"y":60,"wires":[]},{"id":"9435a9fc.ab96d8","type":"serial in","z":"3639e7d1.f1c3e8","name":"Arduino Uno","serial":"c237b06b.eb7ca","x":110,"y":280,"wires":[["4c310d82.46f3d4","1f6f19ed.d8ead6"]]},{"id":"1f6f19ed.d8ead6","type":"json","z":"3639e7d1.f1c3e8","name":"","property":"payload","action":"","pretty":false,"x":310,"y":400,"wires":[["2499ca17.61eff6","df59b710.dc7648","6ee454f.ffd6bac","b292e47a.faf158","a3fe94cf.a124f8"]]},{"id":"2499ca17.61eff6","type":"function","z":"3639e7d1.f1c3e8","name":"Format Mi Arduino Data","func":"\nvar date = new Date().toLocaleDateString();\nvar time = new Date().toLocaleTimeString();\n\nvar output = date + \";\" + time  + \";\" + msg.payload.v1_2_raw + \";\" + msg.payload.YL69a_raw + \";\" + msg.payload.YL69b_raw;\nmsg.payload = output;\nreturn msg;","outputs":1,"noerr":0,"x":530,"y":400,"wires":[["62e4634a.85417c"]]},{"id":"62e4634a.85417c","type":"file","z":"3639e7d1.f1c3e8","name":"","filename":"/home/pi/moisture_sensors.csv","appendNewline":true,"createDir":false,"overwriteFile":"false","x":850,"y":400,"wires":[]},{"id":"df59b710.dc7648","type":"function","z":"3639e7d1.f1c3e8","name":"Extract v1.2 data","func":"msg.topic = \"v1.2\";\nmsg.payload = msg.payload.v1_2_percent;\nreturn msg;","outputs":1,"noerr":0,"x":510,"y":460,"wires":[["44cbb0fe.6f088"]]},{"id":"6ee454f.ffd6bac","type":"function","z":"3639e7d1.f1c3e8","name":"Extract YL-69A data","func":"msg.topic = \"YL-69A\";\nmsg.payload = msg.payload.YL69a_percent;\nreturn msg;","outputs":1,"noerr":0,"x":520,"y":500,"wires":[["44cbb0fe.6f088"]]},{"id":"6d40fd38.6d08f4","type":"function","z":"3639e7d1.f1c3e8","name":"Format chart data","func":"msg.topic = \"Xiaomi Mi Plant (%)\";\nmsg.payload = msg.payload.moisture;\nreturn msg;","outputs":1,"noerr":0,"x":570,"y":160,"wires":[["71ec4374.1d3cdc","44cbb0fe.6f088"]]},{"id":"b292e47a.faf158","type":"debug","z":"3639e7d1.f1c3e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":510,"y":340,"wires":[]},{"id":"71ec4374.1d3cdc","type":"function","z":"3639e7d1.f1c3e8","name":"Format Mi Plant value","func":"msg.payload = {\n    \"CurrentRelativeHumidity\":msg.payload\n}\nreturn msg;","outputs":1,"noerr":0,"x":820,"y":180,"wires":[[]]},{"id":"4c310d82.46f3d4","type":"debug","z":"3639e7d1.f1c3e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":290,"y":280,"wires":[]},{"id":"a3fe94cf.a124f8","type":"function","z":"3639e7d1.f1c3e8","name":"Extract YL-69B data","func":"msg.topic = \"YL-69B\";\nmsg.payload = msg.payload.YL69b_percent;\nreturn msg;","outputs":1,"noerr":0,"x":520,"y":540,"wires":[["44cbb0fe.6f088"]]},{"id":"8fd97b0d.b73338","type":"ui_button","z":"3639e7d1.f1c3e8","name":"Init Graph","group":"bb260e6b.77d62","order":0,"width":0,"height":0,"passthru":false,"label":"Init Graph","color":"","bgcolor":"","icon":"","payload":"[]","payloadType":"json","topic":"","x":520,"y":260,"wires":[["44cbb0fe.6f088"]]},{"id":"44cbb0fe.6f088","type":"ui_chart","z":"3639e7d1.f1c3e8","name":"","group":"bb260e6b.77d62","order":0,"width":"12","height":"9","label":"YL69 (x2) + v1.2 (anti-corrosion)","chartType":"line","legend":"true","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"25","ymax":"75","removeOlder":"2","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"x":840,"y":320,"wires":[[],[]]},{"id":"12f512eb.9c8b5d","type":"mqtt-broker","z":"","name":"MQTT Local","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"c237b06b.eb7ca","type":"serial-port","z":"","serialport":"/dev/ttyUSB0","serialbaud":"115200","databits":"8","parity":"none","stopbits":"1","newline":"\\n","bin":"false","out":"char","addchar":false},{"id":"bb260e6b.77d62","type":"ui_group","z":"3639e7d1.f1c3e8","name":"DIY soil moisture sensors comparison - projetsdiy.fr - diyprojects.io","tab":"7c4acfe2.8a94","disp":true,"width":"12","collapse":false},{"id":"7c4acfe2.8a94","type":"ui_tab","z":"","name":"Home","icon":"dashboard"}]

Une fois importé , le flow Node-RED ressemble à ça

nodered flow soil moisture sensor xiaomi mi plant yl-69 hl-69 fc-28 comparison

Déroulement des essais

Je suis parti avec un arrosage assez élevé de 61%. Comme vous pouvez le voir sur ce graphique, les quatre sondes sont stables.

humidite 51% mi plant capteur yl-69 v1.2 mesure initiale

Signaux initiaux

 

J’ai ensuite complété l’arrosage (c’était déjà trop, mais c’est pour la bonne cause) jusqu’à atteindre 77% d’humidité. Vous pouvez voir le comportement des capteurs. Les courbes de réponse des sondes YL-69 est inversé par rapport à la mesure du Mi Plant mais c’est parfaitement normal. On récupère le signal pour les sondes DIY alors qu’on récupère directement le taux d’humidité du Mi Plant.

stabilisation signal tous capteurs

Arrosage jusqu’à 76% d’humidité puis attente de stabilisation des sondes YL-68 et v1.2

En dilatant l’échelle, on peut mieux voir la réponse des capteurs. Les deux capteurs YL-69 présentent une réponse différente. Le signal renvoyé par YL-69B fait un pic puis le signal se stabilise après environ 10 minutes. Le YL-69A a un comportement un peu plus singulier. Le signal descend dans une cuvette puis remonte pour enfin se stabiliser. Il faudra attendre environ 30 minutes pour obtenir un signal correct. Dans les deux cas, c’est un temps de réponse acceptable pour suivre à intervalle régulier le taux d’humidité du sol. Par contre inutile de vouloir utiliser cette mesure pour piloter une pompe d’arrosage, on va vite avoir des surprises :-). Le v1.2 quand à lui, se stabilise très rapidement. Il réagit aussi vite que le capteur du Mi Plant 2018.

arrosage à 76% d'humidité puis stabilisation signal

Arrosage jusqu’à 76% d’humidité puis attente de stabilisation des sondes YL-68 et v1.2

 

Maintenant, voici ce qui se passe lorsqu’on insère les capteurs dans un sol plus sec (13% au début du graphique puis à 22% d’humidité). Le Mi Plant réagit toujours très vite. Ici, le script python interroge le capteur toutes les 5 secondes. On voit qu’il ne faut que quelques secondes au Mi Plant pour renvoyer une mesure stable. C’est la même chose pour le capteur v1.2. Lorsque le taux d’humidité baisse, les capteurs YL-69 semblent mieux se comporter. Le YL-69B s’est stabilisé en moins de 5 minutes. Par contre, le signal du YL-69A est très bruité.

taux humidite sol 13 puis 22 mi plant yl-69 fc-28 hl-69 arduino nodered

Réponse des capteurs lorsqu’on passe de 13% d’humidité à 22%

Le bruit persiste même après 20 minutes de mesure.

noise signal bruit capteur yl-69 hl-69 fc-28 soil moisture

Signal fortement bruité pour la sonde YL-69B (même après 20 minutes de mesure) lorsque le taux d’humidité baisse.

Calibration des sondes YL-69 (fonctionne avec HL-69 et FC-28)

Dans un projet Arduino, on peut simplement fixer des seuils en fonction du niveau du signal analogique codé sur 10 bits mais c’est un peu moins sympa pour un affichage. On va donc faire une petite conversion d’échelle entre 0 et 100% d’humidité. On va donc calibrer le taux d’humidité à l’aide du Mi Plant. Pour cela il suffit de faire 2 mesures dans des conditions extrêmes (sec, trop humide) pour connaitre la correspondance entre le signal du capteur et le taux d’humidité correspondant.

Mi Plant 2018

(taux d’humidité en %)

YL-69A YL-69B v1.2
Trop sec

13

779

750

486

Correct

30

385

323

320

Trop humide

68

277

280

288

La calibration n’a rien d’obligatoire. Vous pourriez très bien fixer des seuils pour un signal donné et déclencher les événements correspondant dans le code Arduino. Alarte, alarme, déclencher la pompe d’arrosage ou du système d’irrigation… Voici les seuils que j’ai relevé sur les 3 sondes et l’équivalent en pourcentage d’humidité sur un graphique.

Comparaison de la réponse des capteurs en fonction du taux d'humidité (UA)

Comme vous pouvez le voir sur le graphique, l’évolution n’est pas franchement linéaire. Normalement le signal évolue linéairement (d’après ce qu’on peut lire sur les tutoriels qui trainent depuis des années sur internet). Le problème vient peut être du manque d’homogénéité de mes échantillons de terre. J’ai placé les capteurs le plus près les uns des autres. C’est un point à creuser si quelqu’uns veut prendre le temps de vérifier mes résultats. Quoi qu’il en soit, on va essayer de faire une première conversion linéaire à l’aide de la fonction map disponible en C++ de l’IDE Arduino. Elle prend cette forme

map(variable, signal_max, signal_min, percentage_min, pourcentage_max)

Ce qui donne pour la sonde v1.2 par exemple

map(v_1_2_percent,486,303,13,76);

Essai des sondes calibrées avec la fonction map

Après calibration, voici ce que j’ai réussi à obtenir dans un sol à 13% d’humidité. Les courbes se superposent assez bien. On a une petite différence de 1 ou 2% entre les sondes, ce qui est correct pour du fait maison 🙂

 

Sondes YL-69 et v1.2 calibrée à partir du Xiaomi Mi Plant 2018

 

Par contre les chose se gâtent dès que le taux d’humidité augmente. A 30% (d’après le Mi Plant), les autres sondes grimpent jusqu’à 50%. Aïe, ça ne marche pas vraiment 🙁

 

problem calibration diy soil oisture arduino

La calibration ne fonctionne pas au delà.

Calibration par regression linéaire

L’autre solution consiste à tracer une graphique sur un tableur pour en récupérer la droite de regression linéaire. Si vous n’avez pas de tableur, vous pouvez installer LibreOffice ou utiliser GraphPad qui propose quelques outils gratuitement sur internet.

Voici la courbe obtenue pour la sonde YL-69A sur GraphPad

et sur un tableur plus classique.

yl-69a linear regression soil moisture xiaomi mi lant flora arduino nodered

Droite de regression linéaire permettant de relier le signal brut au taux d’humidité du sol

Comme vous pouvez le constater, le coefficient de correlation (R) est assez médiocre. Il est d’environ 62%, ce qui laisse présager des écarts importants pour certaines mesures. Lors de la calibration de vos sondes, il faudra donc essayer de faire des mesures dans une zone avec un taux d’humidité homogène.

Plus vous aurez de points de mesure, plus la droite sera précise et donc plus l’estimation du taux d’humidité le sera également.

Voici les équations des droites qui permettent de convertir le signal analogique en % d’humidité :

  • YL-69A : -0.0858 * signal_yl69a + 75.682
  • YL-69B : -0.0917 * signal_yl69b + 81.045
  • v1.2 : -0.2179 * signal_v1_2 + 116.3

 

Voici ce que ça donne en estimant le taux d’humidité à l’aide une regression linéaire. J’ai déplacé les sondes après 20 minutes de mesure pour les rapprocher au maximum en espérant que le taux d’humidité soit homogène dans cette zone.

La calibration fonctionne parfaitement bien pour la sonde v1.2. La différence avec le Xiaomi Mi Plant n’est que de quelques pourcents. Idem pour la sonde YL-69A. Le signal est toutefois très bruité. Pour atténuer le phénomène, on pourrait par exemple filtrer le signal en calculant une valeur moyenne sur 10 mesures. Pour le YL-69B, ce n’est pas mieux, le taux d’humidité estimé est très éloigné des autres sondes. En fonction du fabricant (surtout pour les prix les plus bas), vous risquez donc d’avoir des surprises.

 

soil moisture sensor capacitive yl-69 fc-28 hl-68 xiaomi mi plant calibration

Taux d’humidité du sol estimé par regression linéaire

 

Code Arduino du projet

Voici le code source que j’ai utilisé pour réaliser ce comparatif. Plusieurs variables sont disponibles au début du code :

  • wait, temps d’attente entre deux mesures
  • scale_min et scale_max : extrémités de la plage de calibration
  • regression : si True alors le taux d’humidité est estimé à partir de la droite de regression linéaire
/*
 * Comparaison des sondes YL-69 / HL-69 / FC- 28 avec le Xiaomi Mi Plant 2018
 * Calibration des sondes avec la fonction map ou régression linéaire
 * Export des mesures sur le port série au format JSON
 *
 * projetsdiy.fr
 * ===========================================================================
 * Comparison of YL-69 / HL-69 / FC-28 probes with the Xiaomi Mi Plant 2018
 * Calibration of probes with the map function or linear regression
 * Export measurements on serial port in JSON format
 * diyprojects.io
 */

#define wait 60000        // durée d'attente entre les mesures - waiting time
#define scale_min 13
#define scale_max 68
#define regression true   // active le calcul par regression linéaire - activate linear regression 
void setup() {
  Serial.begin(115200);
}

void loop() {
  int v1_2 = analogRead(A3);   //v1.2
  int yl69a = analogRead(A4);  //YL-69A
  int yl69b = analogRead(A5);  //YL-69B
  
  
  Serial.print("{\"v1_2_raw\":");
  Serial.print(v1_2);
  Serial.print(",\"v1_2_percent\":");
  if ( regression ) {
    Serial.print(-0.2179*v1_2 + 116.3);  // Linéaire - linear regression
  } else {
    Serial.print(map(v1_2,486,273,scale_min,scale_max));
  }  
  Serial.print(",\"YL69a_raw\":");
  Serial.print(yl69a);
  Serial.print(",\"YL69a_percent\":");
  if ( regression ) {
    Serial.print(-0.0858*yl69a + 75.682);                     
  } else {
    Serial.print(map(yl69a,779,277,scale_min,scale_max));
  }
  Serial.print(",\"YL69b_raw\":");
  Serial.print(yl69b);
  Serial.print(",\"YL69b_percent\":");
  if ( regression ) {
    Serial.print(-0.0917*yl69b + 81.045);
  } else {
    Serial.print(map(yl69b,750,280,scale_min,scale_max));
  }  
  Serial.println("}");
  delay(wait);
}

Conclusions

Après calibration, on peut considérer que la sondes v1.2 avec un revêtement anti-corrosion permet d’obtenir une mesure équivalente à celle du Xiaomi Mi Plant. Reste à savoir si chaque sonde doit être calibrée individuellement comme cela semble être le cas pour les sondes YL-69. Il est probable que les sondes produites par un même fabricant donneront un signal équivalent. Je n’ai testé qu’un seul capteur avec un revêtement anti-corrosion (v1.2) similaire à celui de DFRobot. Le revêtement anti-corrosion semble équivalent à celui du Xiaomi Mi Plant. La durée de vie de la sonde devrait en être grandement améliorée et surtout elle devrait être stable dans le temps. Le temps de réponse est acceptable, disons qu’en cas de changement brutal du taux d’humidité, il faut environ 1 minute pour obtenir un signal stable.

Certaines sondes YL-69 (et équivalentes HL-69 et FC-28) de première génération permettent d’obtenir une mesure correcte. Il faudra accepter d’attendre au moins 30 minutes entre deux mesures, surtout en cas de changement brutal du taux d’humidité. C’est le cas lorsqu’on arrose ou qu’il fait un orage par exemple. Il faudra réserver ce type de sonde à de l’apprentissage ou pour faire de la surveillance lente et sans trop de précision. La précision des sondes semble varier fortement d’un fabricant à l’autre.

Pour conclure, je vous recommande de dépenser 1 ou 2 euros supplémentaires dans votre projet et d’opter pour les sondes de nouvelle génération, surtout si vous voulez piloter un système d’arrosage ou d’irrigation. Ce serait vraiment dommage de noyer vos plantes ou votre jardin lorsque vous partez en vacances 😉

comparaison soil moisture humidite sol xiaomi mi plant yl-69 fc-28

 

 

 

 

Inscrivez-vous à la newsletter hebdomadaire

Aucun spam et aucun autre usage ne sera fait de votre email. Vous pouvez vous désinscrire à tout moment.

Promos à ne pas louper

4
Poster un Commentaire

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  S’abonner  
Notifier de
Jihem

Bonjour Merci pour cet article très complet. Pour ma part, j’ai déjà testé plusieurs capteurs, Flower Power : des bugs, un serveur absent, impossible de récuperer les trames bluetooth sur raspberry Higrow: je n’ai pas trouvé de programme pour le faire fonctionner. Chirp! : le programme tourne mais il reste en mode alarme 9 fois sur 10. V1.2 : très fragile l’électronique n’est pas protégée je vais essayer avec de la gaine thermosensible. Finalement ce sont les modèles résistifs qui fonctionnent le mieux, pour éviter une corrosion trop rapide je ne fais que 2 mesures par jour et le reste… Lire la suite »

Merci beaucoup pour tous ces informations. A très bientôt

Paulo Rosa

Super comme article. Juste un petit doute. Serait il possible de faire le même test en utilisant seulement un raspberrypi ou il est indispensable d’avoir un arduino pour connecter les capteurs? Les connecteurs du RPi ne sont pas compatibles ou ne suffisent pas ou c’est une option que tu as prise comme test. Merci de m’eclaircir si possible. Excellent travail encore une fois. Bravo.

Bonjour Paulo et merci beaucoup. Oui, il est possible de tout faire depuis le Raspberry. Les 2 capteurs peuvent alimentés de 3 à 5V. J’en ai profité pour mixer deux tutos pour montrer comment exploiter un projet Arduino sur RPI. Bon week end

Domotique et objets connectés à faire soi-même