yana-server icon indicating copy to clipboard operation
yana-server copied to clipboard

Proposition: plugin Flower Power

Open valentin8709 opened this issue 8 years ago • 19 comments

Présentation

Bonjour à tous! Je viens juste vous présenter mon travail, pour savoir si cela intéresse des gens. C'est une compatibilité avec le Flower Power de Parrot, qui est une sonde bluetooth, facile d'utilisation, et avec laquelle j'aimerai suivre l'état de mes petites plantations =)

Captures d'écran

capture d ecran 2016-06-21 a 09 54 04 capture d ecran 2016-06-21 a 09 55 17 capture d ecran 2016-06-21 a 09 55 36 capture d ecran 2016-06-21 a 09 55 47

En cours de développement

En plus de ce que vous voyez en screen, je compte développer:

  • Plusieurs widgets qui affichent chacun une des 4 données renvoyée par l'appareil
  • Des commandes vocales, une pour chaque donnée et une pour un rapport complet
  • Un bouton et une commande vocale qui seraient liée à un pin gpio (ou une commande bash je ne sais pas encore) pour pouvoir effectuer une action en fonction des données (genre "Yana, arrose les plantes", pour activer une électro-vanne / pompe à eau électrique). FAIT: il sera possible d'ajouter une commande pour l'arrosage et une commande pour l'engrais, en bash, ce qui permet à chacun de développer son propre système d'arrosage / d'ajout d'engrais.

Le plugin n'est pas fonctionnel car je n'ai pas encore acheté ce fameux Flower Power, j'ai juste développé le plugin en fonction de la doc trouvé sur internet pour interagir avec ce dernier via Raspberry Pi. Si vous avez des idées d'améliorations, je suis preneur! Si vous avez déjà utilisé le Flower Power avec node.js notemment le paquet npm qui va bien, ce serait cool de me donner un retour =) Sinon, si vous avez envie de m'acheter un Flower Power pour que je puisse avancer plus vite, je suis preneur également ;)

Avancement

Après pas mal de discussions, je compte procéder ainsi: la première version du plugin sera directement compatible avec le Flower Power, que j'achèterai en temps voulu. Je développerai par la suite un projet de sonde DIY autonome, soit un Flower Power fait maison pour un budget de 20€ max (capteurs + batterie + bluetooth). Chaque sonde sera indépendante et pourra être ajoutée au plugin, de façon à gérer plusieurs objets "Potager". Ce projet sera mis à disposition sur l'excellente plateforme Hackpoint, et je rédiregerai un article complet sur http://valou-tweak.fr, comme j'ai l'habitude de faire avec mes petits hacks. En parallèle, je compte mettre en place une boîte à permaculture, pour aller un peu plus loin qu'une simple gestion de potager, et destiné aux personnes qui comme moi n'ont pas la chance de posséder un lopin de terre. J'imagine cette boîte comme un cube en bois de 50cm3 environ, avec une "porte" s'ouvrant vers le haut où sera intégré l'électronique, le tout se déplaçant facilement (voir image ci-dessous): permaculture

Inspiration

Je poste l'excellent projet d'un étudiant ayant développé un système similaire, sur lequel je me suis fortement inspiré: http://www.pipotager.tk/

Merci pour votre lecture =)

valentin8709 avatar May 24 '16 19:05 valentin8709

Marrant :), j'ai un projet a long terme d'auto potager (potager domotisé en permaculture), j'avais un peu les même objectifs que toi du coup si je peux me permettre une suggestion, pourquoi ne pas fabriquer ta sonde toi même ? Au vues du hardware assez pauvre de flower power la vraie valeur ajoutée se trouve dans leurs logiciel de gestion de la plante. En utilisant yana et un peu d'huile de coude question dev tu obtiendra un résultat identique, et pour le hardware tu peux utiliser un simple capteur DHT11 pour la temperature/humidité couplé à un capteur de luminosité, un capteur d'humidité du sol et un atmeg pour commander tout ça, tu t'en tirerais entre 10 € et 20 € ça serait plus intéressant sachant qu'il en faut un par plante parce qu'un flower power à 40€ par plante tu te ruine vite.

Chez moi entre les arbres, le potager et les plantes esthétiques j'ai environ 30 spécimens, ça me reviendrais a 1500€ de hardware avec du flower power contre 300€ avec une sonde diy plus customisable et discrète.

Note qu'il existe enormement de tuto pour construire des sondes type flower power (voir mieux) : http://plantesvertes.net/2014/05/08/capteur-maison-arduino/ http://tiptopboards.free.fr/arduino_forum/viewtopic.php?f=2&t=50 http://letmeknow.fr/blog/2013/08/10/la-plante-connectee/ http://www.instructables.com/id/Self-Watering-Plant/

etc etc...

Bref je pense que tu pourrais te concentrer a fond sur la partie plugin / soft pour fair eun truc original et bien ficelé et coté hardware partir sur une sonde DIY toute faite histoire de gagner du temps et de l'argent.

Autre suggestion, je vois qu'il y a un graphique sur ton interface, j'ignore si tu es au courant mais yana intégre la librairie chartjs (http://www.chartjs.org/) notamment utilisée pour le graphique de la ram sur la home, ça fait des graphiques interactifs, responsive, et assez jolis, je te conseille de l'utiliser :)

ldleman avatar May 25 '16 07:05 ldleman

Merci Idle pour toutes ces infos, tu gères! Et oui moi aussi j'aimerai me lancer dans la permaculture, mais je bouge pendant 4 mois donc j'attends de me poser pour pouvoir lancer une petite plantation.

Pour le Flower Power, c'est sûr que c'est chère mais j'aimais bien le côté tout en un, sur batterie et avec bluetooth. Puis surtout on peut le mettre en extérieur / intérieur, et ça reste fiable. Je vais quand même essayer de voir si je peux faire un produit similaire en DIY (éventuellement en 434 Mhz pour le côté sans fil, mais d'après mes essais c'est tout de même moins fiable que le BT), les liens que t'as passé sont vraiment chouettes, je pensais pas que c'était si peu chère en fait =) Par contre ça fait pas très propre, faudrait que j'essaye de voir avec un arduino micro ce que je peux faire pour rentrer tout ça dans une jolie petite boîte. Puis j'ai déjà un capteur de luminosité et un DHT22 qui traînent dans le tiroir =)

Sinon pour les graphes je savais pas que c'était directement intégré, je vais changé ça de suite, je galère un peu à faire mes petits historiques x)

En tout cas merci pour toutes ces infos, ça m'avance bien!

valentin8709 avatar May 25 '16 16:05 valentin8709

Bon j'ai regardé un peu les composants que je devrai acheter, et je m'y perd un peu niveau prix. J'ai regardé sur snootlab et sur tiptopboard, et voilà ce que je trouve:

  • Carte Arduino: ~20€
  • Bluetooth: ~20€
  • Capteur humidité sol: 5€
  • Capteur conductivité (pour engrais): 5€

On arrive donc à 50€, soit le prix du flower power à la Fnac, sans compter le prix d'un capteur de luminosité / température / pression et les résistances, bread board etc... (mais bon ça c'est pas le plus chère, quelques euros je pense). Ensuite faut prévoir une jolie boîter hermétique (encore quelques euros), bref du coup j'ai du mal à rentrer dans les 10 - 20€ de budget que tu prévoyais... =/

valentin8709 avatar May 26 '16 10:05 valentin8709

Au passage, peux-tu me dire comment intégrer chart.js? Enfin il doit bien y avoir un include ou quoi à ajouter dans le fichier du plugin non? Ou je peux direct balancer un var mychar = new chart ... ?

valentin8709 avatar May 26 '16 12:05 valentin8709

@valentin8709 : perso j'utilise ces "arduinos nanos compatible" et ils fonctionnent nickel > http://www.banggood.com/5Pcs-ATmega328P-Arduino-Compatible-Nano-V3-Improved-Version-With-USB-p-951782.html

Si tu en prends une quinzaine (3 lots de 5) ça te les fait à moins de 3€ pièce ;)

Autre exemple pour les capteurs d'humidité à moins d'1€ pièce : http://www.banggood.com/2Pcs-Soil-Hygrometer-Humidity-Detection-Moisture-Sensor-For-Arduino-p-946021.html

Pour le bluetooth (pas testé personnellement) tu devrais trouver ton bonheur ici : http://www.banggood.com/search/bluetooth-module.html

Bref, je pense qu'il faut juste trouver un fournisseur pas trop cher et tester les composants :)

darkpisto avatar May 26 '16 16:05 darkpisto

Sympa comme fournisseur! Mais bon faut quand même acheter chaque composant en x10... Je suis moyen chaud, pour l'instant je reste un peu entêté dans l'idée du Flower Power, je le sens mieux, ce sera beaucoup plus simple et l'appli sur tel est vraiment sympa. En plus, je pourrai partager le plugin et il y aura plus de monde pour s'en servir (alors que si chacun doit se monter sa sonde en DIY, ça va forcémment moins marcher).

valentin8709 avatar May 26 '16 16:05 valentin8709

Ha non pas du tout tu peux les acheter en individuel, mais je pensais te faire gagner du temps et quand on prend par lot le prix baisse de quelques centimes à l'unité :) En plus la livraison est gratuite (par contre faut pas être pressé, ça peut arriver environ 1 mois plus tard ^^)

Perso je me baserai surement sur ton plugin pour faire mes sondes DIY (plus tard quand j'aurai un peu de temps libre, là c'est une année difficile ^^) :)

darkpisto avatar May 26 '16 20:05 darkpisto

Okay j'avais pas vu! Dans ce cas c'est carrément intéressant alors =D

Sinon je fais en sorte que le plugin soit compatible avec tout type de capteur: en gros il va simplement lire des fichiers textes avec les valeurs renvoyées par les sondes, ensuite tu mets les commandes qui vont bien dans un scénario Yana pour remplir les fichiers, donc théoriquement tu peux prendre n'importe quel matos.

Après je ferai un script dans le plugin spécifique à mon montage qui s'occupera de tout ça, donc il suffira de l'appeler dans le scénario, sans se prendre la tête =)

valentin8709 avatar May 26 '16 20:05 valentin8709

J'avais commencé à bidouiller un peu de code pour que mes arduinos envoient des données au RPI toutes les X secondes, et que le RPI récolte les données en BDD : ça marchait mais faudrait que je remette au propre tout ça et là je suis vraiment pas dispo avant fin juillet. T'auras probablement refait bien mieux d'ici là :package: Si tu es intéressé je peux toujours t'envoyer mon code-en-bordel par mail ;)

darkpisto avatar May 27 '16 06:05 darkpisto

@valentin8709 Effectivement tu as un problème de fournisseur, passe plutot par ebay et autres, généralement les boutiques type sparkfun,snootlab etc c'ets bien pour s'inspirer ou piquer les datasheet mais coté prix c'ets la baise totale. Tu as également un pb de composants initiaux. Pas besoin d'un arduino tout entier, tu peux ne prendre que l'atmega (le cœur de l’Arduino) qui coute dans les 3€.

Pour refaire ta liste avec des prix plus corrects :

Atmega328 : 1.33€ (frais de ports inclus) Carte Bluetooth: 1€ (frais de ports inclus) Capteur humidité sol: 1.57€ Capteur conductivité (pour engrais): Celui là fait un peu double emplois avec le précédent composant qui mesure aussi la conductivité du sol.

Donc on arrive a exactement 4.08€ (toujours frais de ports inclus) t'as encore 6€ pour t'ajouter les éléments qui te manquent (transformateur ou pile, régulateur 16mhz, boitier pvc (tu peux acheter un boitier de dérivation électrique c'est étanche, facile a usiner et c'est low cost))

ldleman avatar May 27 '16 06:05 ldleman

Pour le graphique c'ets intégré direct tu peux utiliser le code new Chart() direct.

ldleman avatar May 27 '16 06:05 ldleman

Merci pour toutes les infos! J'avoue passer souvent chez snootlab pour le matos, mais j'ai toujours eu des projets assez peu coûteux, et je faisais financer les plus gros par l'université (halala les jeunes de nos jours!). Du coup oui ça change tout, surtout maintenant que je sais où acheter tout ça =D

Pour les graphiques, j'ai ouvert une issue, car j'arrive pas à les faire fonctionner (ou alors je fais bugger la dashboard).

@darkpisto ben je veux bien ton code oèp =) mon adresse mail: [email protected] côté Arduino je pense que ça peut pas mal m'aider. Sinon je ne passerai pas la commande avant octobre, donc fin juillet le plugin devrait être fini, mais pas testé =/

Je mettrai à jours les screenshots dès que le problème des charts sera résolu, mais vous allez voir ça fait beaucoup mieux visuellement! Sinon j'aimerai bien ajouter une prise en charge multi-sondes. Côté technique je pense juste envoyer depuis chaque sonde BT une ID différente, avec un système de hash + horodatage pour éviter le rejeu de base. Côté graphique, vous avez une idée de comment je pourrai intégrer la gestion multi-sonde?

valentin8709 avatar May 27 '16 06:05 valentin8709

Les meilleurs fournisseurs pour moi :

  • aliexpress
  • banggod
  • ebay
  • dx.com

Et parfois amazon (curieusement)

Une petite idée au cas ou ça t’intéresse, j'avais pensé a pousser la mentalité du logiciel un peu plus loin que les interfaces traditionnelles.

A savoir qu'au lieu d'afficher uniquement les données tel quel (température, humidité etc..) j'aurais trouvé intéressant de les "compiler" en fonction de la race de la plante pour en déduire ses besoins directs et en faire une sorte de tamagochi.

Par exemple si ma base de données contient la fleur "tulipe" qui nécessite entre 20 et 24° et une humidité entre 40 et 60% pour survivre et que ma sonde me récupère du 27° et 25%, la fleur adresserais direct a moi avec un besoin simple : "j'ai soif". tlip En plus de l’intérêt ludique et visuel, ça permettrait aux pipes du jardinage comme moi de savoir ce qu'ils doivent faire de ces données et de leurs plante, car les besoins de chaques plantes peuvent extrêmement varier. Évidemment ça demande une base de données de plante bien renseignée mais ça doit pouvoir se trouver sur le web :)

ldleman avatar May 27 '16 07:05 ldleman

Alors èp l'idée est un peu celle de l'appli Android du Flower Power, qui utilise une base de données libre plantDB. J'ai regardé un peu, mais honnêtement je ne me sens pas du tout de développer ça. L'idée est géniale mais dans un premier temps si j'arrivais à faire un plugin propre, ce serait super cool. Ensuite si tout fonctionne à merveille, je pourrai toujours ajouter une page "Besoins" ou autre dans le plugin avec l'intégration de la BD.

valentin8709 avatar May 27 '16 07:05 valentin8709

Pas de soucis fais selon tes besoins ce n'est qu'une idée, je me ferais mon ptit plugin en temps voulu :)

ldleman avatar May 27 '16 07:05 ldleman

Pour ceux qui font du prototypage, Dallas semicontucteur propose des composants one wire gratos : https://shop.maximintegrated.com/storefront/samplecart.do?event=ShowSampleCart&menuitem=SampleCart&mode=getfreesamples J'ai plusieurs sondes de températures qui ne m'ont rien coûté. Ghislain

theos10 avatar May 27 '16 20:05 theos10

Projet mis à jour et prise en compte des discussions sur le fil =)

valentin8709 avatar Jun 21 '16 08:06 valentin8709

Bonjour je cherche un capteur conductivité engrais pour arduino avez vous des idées d'ou je pourrai en acquérir ???

toxypapi avatar Aug 09 '16 14:08 toxypapi

Bonjour toxypapi, vraiment désolé pour le temps de réponse j'étais pas dispo =/ Si ce n'est pas trop tard, les capteurs d'engrais n'existent pas. Pour pouvoir le mesurer, il te faut un capteur de conductivité du sol , qui ressemble à ça:

conductivite

Pas besoin de "compatibilité" avec Arduino, c'est de l'électronique de base donc forcément compatible avec une entrée analog ou digitale (à voir sur la doc du composant). Ensuite pour l'engrais il faut convertir le retour renvoyé par la sonde pour que ce soit interprétable comme une quantité d'engrais. 2 façons de faire:

  • Cherche sur internet =P
  • Test ton sol à sec, puis avec différentes doses d'engrais, pour te faire un tableau des valeurs

Je t'invite à regarder les liens proposés dans le fil de discussion qui avanceront tes recherches, si ce n'est pas encore trop tard...

valentin8709 avatar Sep 28 '16 09:09 valentin8709