Connectez vos plantes avec le Flower Power

Lancé il y a presque un an par Parrot, le Flower Power permet de garder un oeil sur ses plantes.
Nous allons voir dans ce tutoriel, comment le connecter à notre Raspberry Pi.

fp

Introduction

Le Flower Power est un objet qui rend vos plantes connectées. Malheureusement, il communique via Bluetooth v4 ce qui nous oblige à être à proximité de la plante pour l'utiliser. Or, il serait utile de le connecter à notre système domotique pour une surveillance lors d'un voyage par exemple.

Connecter son Flower Power à son système domotique ne permet plus de bénéficier de la base de données de Parrot sur les plantes, qui est intégrée à l'application mobile.

Prérequis

Pour ce tutoriel, j'utilise :

Installation du Bluetooth

Puisque le Pi ne possède pas le Bluetooth par défaut, il faut lui installer une clé pour pouvoir communiquer avec le Flower Power.
La mienne porte la référence CSR 8510.

Je vous conseille de vérifier si la votre est compatible avec le Raspberry. Vous trouverez ici la liste du matériel compatible avec ce dernier.

Le Flower Power ne communique qu'en Bluetooth 4.0

Avant d'installer votre clé, exécutez la commande suivante :

                    tail -f /var/log/syslog
                

Après l'insertion de votre clé, de nouvelles lignes apparaissent indiquant la découverte d'un nouveau périphérique USB.

Installation

                    sudo apt-get install bluetooth libluetooth-dev
                    cd ~
                    wget http://node-arm.herokuapp.com/node_latest_armhf.deb
                    sudo dpkg -i node_latest_armhf.deb
                    npm install noble
                    npm install flower-power
                    npm install async
                

Pour se connecter au Flower Power :

                    cd ~/node_modules/flower-power
                    sudo node test.js
                

Connexion à Atlantis

Mon but était de connecter le Flower Power à mon système domotique pour consulter à distance les données de ma plante.
Pour cela, j'ai modifié le script original pour ne renvoyer que les valeurs recherchées (luminosité, température, humidité du sol et autonomie). Pour le télécharger :

                    cd ~/node_modules/flower-power
                    wget http://nawrasg.fr/download/pi/fp.js
                

Voici le code de la page PHP qui va récupérer ces données puis les renvoyer sous format JSON :

                    $output = shell_exec('sudo node /home/pi/node_modules/flower-power/fp.js');
                    $data = explode("\n", $output);
                    $arr = array('battery' => $data[0], 'light' => $data[1], 'temp' => $data[2], 'moisture' => $data[3]);
                    echo json_encode($arr);
                

Il faut donner au serveur la possibilité d'utiliser sudo :

                    sudo visudo
                

Puis rajoutez la ligne suivante en dernier :

                    www-data ALL=(ALL) NOPASSWD: /usr/local/bin/node
                

Pour lire les valeurs renvoyées en JSON, je vous renvoie vers ce tutoriel.

Comme je ne possède qu'un seul Flower Power, je ne sais pas comment le script réagira face à plusieurs ! Si quelqu'un en a plus d'un, je serai ravi de connaître le résultat :)

Merci à Sandeep Mistry pour sa bibliothèque Flower Power :)