TIPS & TRICKS

Si vos plantes pouvaient parler, que vous diraient-elles ?

unhappy_plant

Je suis presque sûr que la mienne dirait « Hé débile, merci de m’avoir noyée ! » ou « J’ai soif... de l’eau... Où suis-je ? Au Sahara ? » Oh, et aussi « Je déteste cet endroit, qu’est-ce qu’il faut faire pour avoir un peu de soleil le matin ? »

J’ai décidé qu’il était temps de faire appel à mon nerd intérieur pour réduire la souffrance de mes plantes. Et aussi que des plantes plus heureuses feraient le bonheur de ma fiancée. C’est là qu’intervient Splunk ! L’objectif :

  1. suivre le niveau d’humidité dans le sol,
  2. déterminer le meilleur emplacement pour l’apport en lumière,
  3. combiner les données météorologiques actuelles, les prévisions et les points 1 et 2 ci-dessus pour créer des modèles de machine learning capables de prédire le meilleur moment pour arroser. (Cette partie n’est pas encore tout à fait au point.)

Je vais l’appeler la... plantelligence opérationnelle ! La première fois que je l’ai dit à voix haute, la fiancée susmentionnée a secoué la tête d’un air las. Mais malheureusement, ça ne m’a pas découragé.

J’ai acheté ce kit pour cultiver des bonsaïs Redwood avec l’aide de la technologie Le résultat ?

plantlink_splunk2

Détaillons ce projet et voyons les étapes qui m’ont permis de créer ce tableau de bord.

Dans notre cas, j’utilise plusieurs appareils IoT pour collecter toutes les données générées par les machines.

  • Un capteur PlantLink qui recueille le niveau d’humidité du sol.
  • Un dispositif Thingsee qui mesure la luminosité ambiante, la température intérieure, la pression et l’humidité relative.
  • Un flux météo de Weather Underground qui fournit les données météorologiques actuelles, des données historiques et des prévisions. (Vous noterez que le tableau de bord comprend un iframe intégré d’io qui affiche la météo actuelle, mais il ne s’agit pas des données météorologiques indexées réelles.)

Mais pourquoi Splunk ? Naturellement, chaque source de données s’accompagne d’une application qui permet d’afficher et d’analyser les données en question. Mais Splunk me permet de combiner ces sources de données disparates (et plus encore !) au fil du temps pour obtenir des informations supplémentaires. Avec une vue composite, je peux découvrir davantage d’informations sur la vie de mes petites pousses adorées, seconde par seconde ou sur une période donnée.

C’est quelque chose d’assez courant dans le monde de l’IoT aujourd’hui, que ce soit dans le secteur de l’énergie, de la fabrication, de l’agriculture, de la robotique ou de la santé. On crée des capteurs et des applications qui analysent les données de ces capteurs pour atteindre un but ou servir un scénario d’utilisation spécifique. C’est peut-être le destin, la chance, ou les deux : Splunk était fait pour combler cette lacune avant même que nous ne sachions qu’elle se manifesterait et bien avant que l’acronyme IoT ne soit tendance.

C’est dans la combinaison des données de toute leur entreprise que nos clients commencent à trouver le plus de valeur ajoutée. C’est ce qu’on appelle l’intelligence opérationnelle, et notre mission est d’innover avec vous.

Bon, j’arrête avec ma passion absolue (mais parfaitement raisonnable) pour Splunk… et passons au plat de résistance.

Je commence par le capteur PlantLink : vous pouvez les acheter sur Amazon ou peut-être même fabriquer le vôtre pour économiser quelques sous. Si vous optez pour un PlantLink, vous pourrez collecter et afficher les mesures du capteur d’humidité en continu et recevoir des rappels quand il faut arroser votre plante via l’application incluse.   C’est génial, mais ce serait encore mieux avec plus de données !

J’ai utilisé le Splunk Add-on Builder pour créer une extension technologique (TA) simple qui extrait les données de l’API de PlantLink à la fréquence que JE choisis.

Voici à quoi ressemblent ces données dans Splunk :

plantlink_raw

Bravo, du beau JSON tout propre. Et les données Thingsee ?

thingsee_raw

Toujours du JSON, mais un peu cryptique ce coup-ci. C’est le moment idéal pour utiliser des tables de lookup afin de rendre ces données machine plus lisibles pour un humain. Ça tombe bien : des tables de lookup ont déjà été créées par la communauté et rassemblées dans une appli ! Cette même application vous aide à récupérer les données de votre dispositif Thingsee. J’adore quand il y a autant de contenu prêt à l’emploi. Merci Splunkbase !

Comme vous pouvez le voir, la table de lookup prend les données de la machine et y ajoute un contexte en temps réel pour les rendre beaucoup plus utilisables.  Les « senses » sont traduits en champs comme « air_pressure », « ambient_light », « battery_level », etc.  Notez que ces tables de lookup peuvent être des fichiers .csv ou une connexion directe à une base de données.

Enfin, nous avons les données météo d’une autre application, TA-wunderground.

weather_underground_raw

Une fois encore, ce doit être mon jour de chance car elles sont encore en JSON et les champs sont automatiquement extraits par Splunk (voir les champs sur la gauche).

Maintenant, la partie que je préfère : créer un tableau de bord. Je voulais un moyen de visualiser toutes ces sources de données dans une « vitrine unique » pour mesurer les différents paramètres ET commencer à trouver des corrélations significatives au sein des données.

Je voulais aussi superviser l’état de santé du capteur lui-même (niveau de la batterie et force du signal Wi-Fi par exemple) pour m’assurer qu’il fonctionne correctement. Si j’avais toute une armée de capteurs, je pourrais utiliser Splunk pour rechercher des écarts entre eux et éventuellement prédire les défaillances avant qu’elles ne surviennent. Différents scénarios d’utilisation avec les mêmes données !

Et voilà !

plantlink_splunk

Je souhaitais également pouvoir consulter les valeurs actuelles et historiques de PlantLink et de Thingsee sur n’importe quelle période, et avec différents niveaux de granularité (à partir de listes déroulantes en haut du tableau). Pour visualiser les corrélations, j’ai créé un graphique temporel avec la possibilité de superposer les données d’un champ de n’importe quelle source. Enfin, j’ai utilisé l’application Lookup Editor pour saisir mes propres commentaires dans un tableau (en haut à droite) et suivre mes progrès. Sachez que je n’ai utilisé ni code ni personnalisation pour créer ce tableau de bord. C’est si simple qu’un homme des cavernes (ou euh... un collégien ?) pourrait le faire.

Je veux tout savoir !

Désormais, je peux poser N’IMPORTE QUELLE question à mes données (bien plus que ce que chaque application ne permet de le faire individuellement). Quel est le niveau d’humidité actuel et à quelle vitesse baisse-t-il ? La plante reçoit-elle suffisamment ou trop de lumière (selon le capteur de lux de Thingsee) ? La pression, la température ou l’humidité (à l’intérieur et à l’extérieur !) ont-elles des effets sur l’évolution de l’humidité ? Et que sais-je encore ! Mais en collectant davantage de données, je peux rechercher des corrélations et des indices de prédiction potentiels qui m’aideront à créer des modèles avec l’application Machine Learning gratuite pour Splunk. Je pourrai ensuite configurer des alertes Splunk pour être informé des changements et des prédictions qui m’intéressent. Je trouve ça génial d’avoir toutes ces fonctionnalités sur une même plateforme !

Je n’en suis qu’au début de ce projet et j’ai déjà en tête les prochaines étapes :

  1. ajouter de nouveaux capteurs d’humidité pour les plantes,
  2. développer un modèle pour commencer à prédire à quel moment arroser, en m’appuyant sur davantage de conditions que ce qu’utilise l’application PlantLink commerciale,
  3. connecter ma pelouse.

J’aimerais beaucoup avoir vos suggestions, n’hésitez pas à laisser un commentaire !

J’espère que vous avez apprécié cet article et, comme toujours, bon Splunking !

*Cet article est une traduction de celui initialement publié sur le blog Splunk anglais.

Splunk
Posted by

Splunk