Culture en environnement contrôlé

Culture en environnement contrôlé

Comme on l'a illustré dans un article précédent, il suffit de quelques modules Yoctopuce et d'une logique très simple pour réguler un facteur d'environnement comme l'humidité. Partant de là, pourquoi pas généraliser le principe et produire un environnement entièrement optimisé dans un but précis, comme la culture de plantes ? On a décidé de tester le principe sur la culture des champignons. Des champignons plutôt que des tomates ou des citrouilles, parce qu'un champignon, ça pousse vite et dans le noir. Il est donc relativement facile de faire un time-lapse de leur croissance avec un éclairage bien contrôlé...


On a choisi des champignons de Paris parce qu'on trouve assez facilement des kits pour faire pousser ce type de champignons dans les magasins de jardinage. Le kit se présente sous la forme d'un bac en polystyrène expansé. Le fond du bac contient une matière lyophilisée peu engageante, on ne sait pas exactement ce que c'est, mais on est assez certain de ne pas vouloir le savoir :-) Le processus pour faire pousser ces champignons de Paris est relativement simple: il faut remplir le bac avec le terreau fourni dans le kit, et garder le tout très humide en vaporisant de l'eau plusieurs fois par jour, tout en maintenant la température entre 16 et 18°C.

Il paraît qu'il y a des champignons qui vont pousser là-dedans
Il paraît qu'il y a des champignons qui vont pousser là-dedans



Contrôle de la température

On a placé notre kit dans une petite cave. La température de la cave étant inférieure à la température requise, nous y avons installé un petit chauffage céramique. Nous avons modifié le chauffage en plaçant un Yocto-LatchedRelay sur son alimentation.

Un petit appareil de  chauffage.. ..contrôlable par USB grâce à un Yocto-LatchedRelay
Un chauffage ordinaire, transformé en chauffage USB


Ainsi le chauffage peut être allumé ou éteint automatiquement. Le chauffage est contrôlé par un YoctoHub-Wireless auquel un Yocto-Meteo est aussi connecté.

Contrôle automatique de la température à l'aide d'un chauffage, d'un Yocto-Meteo et d'un Yocto-LatchedRelay
Contrôle automatique de la température à l'aide d'un chauffage, d'un Yocto-Meteo et d'un Yocto-LatchedRelay


Toutes les dix minutes, le hub déclenche un script PHP via un callback HTTP. Si la température ambiante mesurée au moment du callback est inférieure à 17°C, le script déclenche le chauffage pendant une minute. Ce système suffit à maintenir une température constante dans la cave, au quart de degré près.

On arrive à maintenir une température très stable
On arrive à maintenir une température très stable



Contrôle de l'humidité

Les champignons de Paris ont besoin d'un substrat très humide pour pousser. Au point qu'on est censé vaporiser de l'eau sur le bac plusieurs fois par jour. On a résolu le problème avec un vaporisateur électrique. Ce vaporisateur ressemble à un vaporisateur classique, sauf qu'il suffit de presser sur un interrupteur pour que la pompe à l'intérieur se mette en marche et vaporise l'eau. On a simplement modifié le dispositif en câblant un Yocto-PowerRelay en parallèle avec la gâchette.

Un vaporisateur électrique.. ..contrôlable par USB grâce à un Yocto-PowerRelay
Un vaporisateur électrique, maintenant contrôlable par USB


Pour mesurer l'humidité dans le bac, on a utilisé un capteur d'humidité MAS-1 de Decagon. Ce capteur a une sortie 4-20mA qu'on a branché sur un Yocto-4-20mA-Rx.

la sonde utilisée pour mesurer l'humidité du sol
la sonde utilisée pour mesurer l'humidité du sol

Le vaporisateur et le Yocto-4-20mA-Rx sont connectés à un YoctoHub-Wireless. Toutes les dix minutes, le hub lance un script PHP via un callback HTTP. Si l'humidité au moment du callback est en dessous d'une certaine limite, le vaporisateur est mis marche pendant 15 secondes.

Contrôle automatique de l'humidité du sol à l'aide d'une sonde 4-20mA et d'un vaporisateur
Contrôle automatique de l'humidité du sol à l'aide d'une sonde 4-20mA et d'un vaporisateur



Prises de vues

Pour faire notre time-lapse de champignons qui poussent, on a réutilisé notre système de prise de vues automatisé basé sur un appareil photo Canon EOS et un Yocto-Relay. Pour l'éclairage, on a utilisé un gros projecteur à LED, qu'on a aussi modifié en plaçant un Yocto-PowerRelay sur son alimentation.

Un gros projecteur a LED.. Modifié lui aussi
Un projecteur à LED, rendu USB lui aussi

Le projecteur et l'appareil photo sont contrôlés par un YoctoHub-Wireless: toutes les dix minutes, on allume la lumière, on prend la photo et on éteint aussitôt.

On prend une photo toutes les 10mn. La lumière et l'appareil sont contrôlés à l'aide d'un Yocto-PowerRelay et d'un Yocto-Relay
On prend une photo toutes les 10mn. La lumière et l'appareil sont contrôlés à l'aide d'un Yocto-PowerRelay et d'un Yocto-Relay


Un conseil: désactivez tous les automatismes de votre appareil photo, y compris l'autofocus si vous voulez obtenir une qualité constante d'une photo à l'autre.

L'installation complète, hormis le chauffage qui est posé par terre
L'installation complète, hormis le chauffage qui est posé par terre



La partie logicielle

La partie programmation est tout simplement triviale: chaque hub Yoctopuce a la particularité de pouvoir se connecter à intervalle régulier sur le serveur de votre choix et d'y lancer un script PHP en lui transmettant la valeur de tous les capteurs qui lui sont raccordés. Le script peut alors répondre avec une liste d'actions à effectuer sur les actuateurs. Dans le cas du contôle de la température par exemple, la partie logicielle se résume à un script PHP du genre si trop froid alors allumer chauffage.

<?php
include("yocto_api.php");
include("yocto_temperature.php");
include("yocto_relay.php");

if (yRegisterHub("callback",$errmsg)!=YAPI_SUCCESS) die($errmsg);

$temperatureSensor = YfindTemperature("temperatureSensor");
$heatControl       = YfindRelay("heater");
$temperature       = $temperatureSensor->get_currentValue();
if ($temperature<17)  $heatControl->pulse(60*1000);
?>

Notez que cette technique bien pratique existe aussi pour Java et Node.js.

Résultats

L'expérience a tourné pendant plusieurs semaines sans que rien ne pousse malgré un environnement parfaitement stable. Au moment où on commençait à vraiment désespérer, le premier champignon a commencé à sortir de terre, bientôt suivi par une ribambelle d'autres.

It's moving, it's alive, it's alive, it's alive, it's alive, IT'S ALIVE!
It's moving, it's alive, it's alive, it's alive, it's alive, IT'S ALIVE!

On vous confirme qu'un champignon pousse relativement vite: sur la vidéo suivante chaque seconde équivaut à environ 4 heures.

  


Vous remarquerez qu'alors qu'on croyait faire pousser des champignons, on a en fait élevé une multitude de petites bestioles un peu flippantes.

Conclusion

Du point de vue de la technologie Yoctopuce, c'est un succès total: on a une fois encore mis en évidence qu'avec quelques relais et quelques capteurs reliés à un YoctoHub, il est très facile de transformer des objets de la vie courante en objets connectés capables de comportements relativement complexes.
Du point de vue jardinage, il y encore quelques progrès à faire: utiliser un vaporisateur n'est clairement pas la méthode la plus efficace pour arroser un bac: beaucoup d'eau est perdue car vaporisée hors du bac. La prochaine fois, il faudra trouver un moyen de vaporiser par le dessus. Le capteur d'humidité du sol marche très bien, mais les valeurs qu'il mesure dépendent énormément de la façon dont il est installé. Les valeurs reportées peuvent varier du simple au double en fonction de l'orientation du capteur et de la compacité de la terre. Il est très efficace pour mesurer les variations et ainsi maintenir constante l'humidité du sol, mais il ne faut pas trop compter sur lui pour obtenir une valeur absolue exacte.
Pour finir, on a pu manger le résultat d'une de nos expériences, et ça, c'est une première chez Yoctopuce.

Commenter 2 commentaires Retour au blog



1 - mathcoll Samedi 12 avril 2014 11H24

> on a pu manger le résultat d'une de nos expériences
Bravo, vivement la prochaine expérience... Comment ça plus personne ne répond?! vous êtes déjà tous malade avec le champignons ?!

2 - martinm (Yocto-Team)Samedi 12 avril 2014 12H43

@mathcoll: non, non tout le monde va bien :-) à vrai dire, on a découvert les bestioles en montant la vidéo, bien après avoir mangé les champignons.

Yoctopuce, get your stuff connected.