Avanquest et sa division « Objets Connectés » myDevices présentent Cayenne, outil de développement et de création de projets IoT à partir d’un Raspberry Pi. Cayenne est une solution gratuite, accessible en ligne ou via une application mobile, permettant aux développeurs et aux créateurs de concevoir en quelques heures des solutions IoT.
Cayenne, une plateforme gratuite IoT
Le communiqué de presse
myDevices a développé une plateforme IoT robuste permettant aux sociétés de connecter des objets, de visualiser des données, d’appliquer facilement des règles sophistiquées et d’interagir avec leurs clients connectés de manière efficace.
Avec Cayenne, myDevices étend sa plateforme (lancée en octobre 2015) de connectivité et d’objets connectés, à la communauté des développeurs et créateurs sous la forme d’un outil facile d’utilisation grâce à sa fonction « Glisser-déposer ». Cette plateforme permet un prototypage rapide, elle est ouverte à la communauté des développeurs. Au 30 mai 2016, plus de 20 000 développeurs travaillent sur des projets, dont environ 5000 sont actifs, et ont généré plus de 200 millions d’événements… Cayenne enregistre environ 1400 inscriptions supplémentaires par semaine.
Cayenne permet aux développeurs, utilisant des Raspberry Pi, de réaliser leurs projets sans avoir besoin de recourir à des SDK ou des API.
Ce qu’amène Cayenne
- La reconnaissance automatique des différents actionneurs et capteurs connectés au Raspberry Pi lui permettant d’être opérationnelle en 7 minutes;
- De nombreux widgets personnalisables, pour visualiser en temps réel les données ainsi que leurs historiques au travers d’une interface graphique simple et pratique;
- Des déclencheurs très faciles à mettre en place avec le système « Glisser-déposer », permettant à un capteur, un moteur ou un actionneur de lancer une action automatique sur un autre objet connecté;
- Des alertes de seuils qui envoient des e-mails ou des SMS selon des critères personnalisables;
- La possibilité de programmer la mise en route et l’arrêt de lumières, moteurs, soupapes et actionneurs à des jours et à des heures donnés.
Cayenne peut être utilisé pour effectuer des prototypages efficaces, optimiser les prévisions commerciales ou encore assurer la continuité du flux de travail. À la maison, Cayenne permet par exemple de contrôler, de manière simple et fluide, la domotique, la sécurité, les capteurs et l’éclairage. Outre une interface utilisateur intégrée et intuitive, son plus gros avantage est de permettre d’entreprendre des projets IoT simples et de réduire de manière significative le temps et les frais associés à des projets IoT plus complexes.
Vous pouvez ouvrir un compte Cayenne gratuit sur : www.cayenne-mydevices.com
Les principales caractéristiques de Cayenne
- Une application mobile pour configurer, suivre et contrôler les objets et les capteurs partout où l’on se trouve;
- Une configuration intuitive qui connecte le Raspberry Pi, ses capteurs, actionneurs et extensions à Internet en quelques minutes seulement;
- Un moteur de règles pour déclencher des actions automatiques entre les objets connectés;
- Un tableau de bord personnalisable avec des widgets d’affichage de données utilisant le « Glisser-déposer »;
- Une programmation horaire des lumières, moteurs et actionneurs;
- Une gestion graphique des entrées/sorties GPIO configurable depuis une application mobile ou un tableau de bord;
- Un accès distant instantané depuis un téléphone ou un ordinateur.
Comment ça marche ?
Cayenne est le premier outil de création de projet IoT de type glisser/déposer qui permet aux développeurs de créer et d’héberger rapidement leurs projets d’objets connectés. Cayenne a été conçu pour l’Internet des objets. Il peut contrôler le matériel à distance, il peut afficher les données des capteurs, stocker des données, les analyser etc.
Il y a plusieurs éléments importants dans la plate-forme:
- Cayenne App – configurez et contrôlez vos projets IoT avec des widgets en glisser-déposer dans une application.
- Tableau de bord en ligne Cayenne – Utilisez un navigateur pour configurer et contrôler vos projets IoT.
- Cayenne Cloud – responsable du traitement et du stockage des données des périphériques, des utilisateurs et des capteurs pour les commandes, les actions, les déclencheurs et les alertes.
- Agent Cayenne – permet la communication avec le serveur, l’agent et le matériel pour la mise en œuvre des commandes entrantes et sortantes, les actions, les déclencheurs et les alertes.
Chaque fois que vous appuyez sur un bouton de l’application Cayenne sur votre smartphone ou sur le tableau de bord en ligne, l’information part vers le Cloud Cayenne où elle est traitée puis envoyée à votre matériel. Ça fonctionne de la même façon, mais en sens inverse. Vous pouvez utiliser l’application mobile Cayenne ou le tableau de bord en ligne, c’est vous qui choisissez. Toutes les modifications apportées au matériel depuis l’application mobile sont immédiatement reprises par l’affichage du tableau de bord en ligne, et vice versa.
Caractéristiques principales
- Connexion via Ethernet, Wi-Fi et téléphone (pour l’application mobile uniquement)
- Découvre et configure automatiquement un (ou plusieurs) Raspberry Pi sur un réseau (en Ethernet ou Wi-Fi uniquement)
- Tableau de bord personnalisable par glisser-déposer de widgets
- Accès à distance, redémarrage et l’arrêt du Raspberry Pi
- Ajout et contrôle de capteurs, actionneurs et extensions connectées à un Raspberry Pi
- Configuration de déclencheurs pour les Raspberry Pi, les capteurs et les actionneurs
- Configuration et réception d’alertes de dépassement de seuil via e-mail et SMS
- Surveillance de périphériques et création d’historique de valeurs fournies par les capteurs
- Test et configuration de matériel via le GPIO
- Et bientôt ! Configuration des actions et des commandes récurrentes
Les images fournies par Cayenne
Cette série d’images fournies par Cayenne montre des copies d’écran sur navigateur web, puis sur l’application smartphone de Cayenne.
Copies d’écran smartphone
Copies d’écran navigateur web
Essais de Cayenne
Vous imaginez bien que j’ai voulu tester cette solution et ne pas me contenter de reprendre ce communiqué. Voici ce que ça donne…
J’ai commencé par créer un compte gratuit sur Cayenne puis…
Installation de l’application Cayenne
L’application est disponible pour iOS et pour Android. Une fois l’installation de l’application Cayenne faite vous pouvez la lancer (nan, pas le téléphone… juste l’appli )
Mais que se passe-t-il sur le Raspberry Pi ?
Je suis toujours curieux de savoir ce qui se passe sur mon Raspberry Pi…
sudo wget https://s3.amazonaws.com/mydevices-cayenne/prod/agents/1.0/rpi.sh sudo chmod 774 rpi.sh sudo mv rpi.sh rpi_0fxtzycgi1.sh sudo nohup ./rpi_0fxtzycgi1.sh
Donc ça lance un fichier appelé rpi.sh dans lequel il y a :
pi@raspberrypi:~ $ cat rpi.sh #!/bin/bash # myDevices setup script set -e NAME="$0" PREFIX="myDevices-1.0" HOME="$( cd "$( dirname "${BASH_SOURCE[0]}" )" pwd )" echo $NAME codeRaw="${NAME##*_}" inviteCode="${codeRaw%.*}" wget -O $HOME/$PREFIX.tar.gz "http://updates.mydevices.com/raspberry/myDevices-1.0.tar.gz" tar -xzvf $HOME/$PREFIX.tar.gz cd $HOME/$PREFIX chmod +x $HOME/$PREFIX/setup.sh bash -x $HOME/$PREFIX/setup.sh -code "$inviteCode" "$@"
Voilà vous avez tout sous la main, je vous laisse décortiquer tout ça…
Continuons avec notre appli Cayenne…
Cette première étape fonctionne, j’ai le contrôle de mon RasPi sur le smartphone.
L’interface web de Cayenne
Connectez vous sur la page web de Cayenne. En haut à gauche de l’écran, il y a un menu. Choisissez ADD New… > Device
Vous aboutissez sur un menu permettant de choisir ce que vous souhaitez ajouter : Actionneur, extensions ou capteurs.
Vous voyez par exemple ci-dessus le menu des capteurs disponibles. Si vous cliquez sur un type de capteur vous déroulez la liste des capteurs que Cayenne va gérer de façon native. Si vous cliquez sur température vous obtenez :
Ce résultat est susceptible d’évoluer puisque l’équipe de Cayenne ajoute constamment des nouveautés à ses listes de capteurs/actionneurs/cartes d’extension.
Si vous vous voulez ajouter des extensions :
Cliquez par exemple sur Analog Converter et vous obtenez :
On voit que la liste est déjà conséquente et elle va encore s’allonger
Pour tous ces composants listés dans la rubrique Add New… Cayenne fournit le driver, l’installe…
Il vous reste donc le plus difficile à faire : vous connecter à votre appli ou à votre page web sur Cayenne et… regarder le résultat
Comme j’avais un DS18B20 soudé sur un connecteur GPIO (c’est un reste de l’article sur le 1-wire ), je n’ai pas hésité longtemps et je l’ai branché sur le Raspberry Pi 3 utilisé pour les tests. Après avoir activé le 1-wire le tableau de bord donne ceci :
Dans la colonne de gauche, le DS18B20 a été ajouté à la liste, et sur le Tableau de bord il y a l’affichage de la température mesurée par la sonde… Et… c’est tout ce qu’il y a à faire !
Si on clique sur DS 18B20 dans la liste de gauche :
On peut paramétrer l’utilisation du DS 18B20 par Cayenne et même… accéder à la documentation technique
Sur le tableau de bord en ligne, il suffit d’amener le curseur de la souris en haut d’un des widgets et le curseur prend la forme d’une croix à quatre flèches. On peut alors déplacer les widgets à son gré pour constituer un tableau de bord « maison ».
Ci-dessus la courbe de charge du CPU en cours de déplacement sur l’écran du navigateur.
J’ai eu un peu plus de mal sur l’appli Android. L’ajout du DS18B20 s’est bien passée. Par contre je n’ai pas réussi à déplacer les widgets à tous les coups… Avant de trouver la méthode : Il faut poser le doigt sur un widget et le tenir appuyé. Après un court instant le widget est « libéré » et peut être déplacé. Sur mon Samsung S4 avec le vibreur activé lorsque le widget est libéré, ça fait BZZZZT
Les modifications (ajouts ou retraits) que vous faites sur une des deux interfaces sont reportées sur l’autre.
Et les triggers ?
Un des points forts de Cayenne, c’est la possibilité de mettre en service des triggers (déclencheurs) qui vont déclencher des actions en fonction de seuils prédéterminés.
Le test consistera à déclencher un ventilateur lorsque le température mesurée par la sonde de température sera trop élevée.
Créer le Ventilateur
Allez dans ADD NEW… et ajoutez un device (dispositif). Comme le ventilo est une machine tournante, j’ai choisi un moteur. L’écran ci-dessus montre le ventilo en cours de création, il reste à remplacer la première ligne (Motor Switch) par son nom réel : Ventilation. après un Add Sensor… c’est prêt !
Retour au tableau de bord qui est maintenant équipé d’une interface représentant le ventilateur. Là encore ça reste très simple : cliquez sur le bouton, le ventilateur tourne (l’icône du moteur passe au rouge) … cliquez à nouveau et le ventilateur s’arrête (l’icône redevient grise).
Configurer la sortie
J’ai connecté un relais au GPIO pour actionner le ventilateur. C’est le GPIO 18 qui s’est vu confier cette tâche redoutable
Les ports GPIO sont par défaut (et par sécurité) configurés en entrée. J’ai passé le port 18 en sortie. Sur l’écran du PC (ci-dessus) il m’a suffi de cliquer sur le bouton IN pour qu’il se transforme en OUT ! Qui dit plus simple ? Et si vous voulez tester la commande de ventilateur, cliquez sur le port GPIO lui même. LOW deviendra HIGH et votre ventilateur tournera
Mettre les triggers en place
La mise en place des triggers est aussi simple que tout ce que nous venons de voir et ne nécessite pas de connaissance particulière. La création est guidée par l’interface.
Créer un trigger pour le ventilateur
Premier trigger pour la mise sous tension du ventilateur. Cliquez sur My Triggers puis New Trigger. Nommez le trigger (ici Ventilation). Glissez l’icône du Raspberry Pi à côté du if (si) et sélectionner la source du déclenchement (ici la sonde DS18B20). Avec le curseur indiquez la température de déclenchement (ici 30°C) puis Température above (Température supérieure).
Dans la partie then (alors) Sélectionnez ce que vous voulez déclencher (ici ventilation, GPIO 18) puis cochez la cas ON pour mettre le ventilo en route au déclenchement.
et … c’est tout. Cliquez en bas à droite sur Save Trigger. Votre premier déclencheur est prêt !
Second trigger pour arrêter le ventilo. Bin oui sinon il reste en fonctionnement après le déclenchement précédent… Même manip que précédemment, sauf qu’ici on déclenche lorsque la température redescend en dessous de 27°C (un peu d’hystérésis ça ne fait pas de mal ) et qu’on arrête le ventilateur (case Off). et… bin oui, c’est tout aussi.
Créer un trigger pour le SMS
Mais ce qui serait bien ce serait d’être averti par SMS que le ventilo tourne (ou que la salle de bain est inondée, que la porte est ouverte, que le congélateur est à -4°C…).
Allez maintenant qu’on sait comment faire, créons un trigger qui m’avertit lorsque la température monte à 29°C, juste avant le démarrage du ventilo. J’ai sélectionné Text Message et rentré mon téléphone au format +336xxxxxxxx (en enlevant le zéro qui est avant le 6). Sauvez le trigger et… vous avez deviné ? C’est tout…
Tests des triggers
Tout ça c’est bien beau mais est-ce-que ça fonctionne ? En mettant les doigts sur la DS18B20, la sonde prend un coup de chaud et sa température augmente. Pile poil ce qu’il faut pour tester !
24.19°C pas de problème, le ventilateur est éteint (petit navire ).
La température grimpe. Au dessus de 30°C, le relais colle. Ici, à 31.75°C le ventilateur est en fonctionnement : le symbole du moteur est rouge. Lorsque la température redescend, le second trigger arrête bien le ventilateur.
Et pendant ce temps sur mon portable un message est arrivé :
L’avertissement a bien été envoyé sur mon téléphone. La température est un peu au dessus des 29°C programmés, car la transmission des infos se fait à intervalle de temps fixe. Ce qui explique le léger décalage entre le moment où le seuil est dépassé et le déclenchement du trigger.
Une abondante documentation (en anglais) est disponible pour vous aider à mettre votre système sur pied.
Videos
Conclusion
Cayenne se révèle un outil très puissant pour créer rapidement un tableau de bord. Si vous envisagez une installation domotique à base de Raspberry Pi, son utilisation vous simplifiera grandement la vie et vous disposerez d’un tableau de bord d’apparence professionnelle sans taper une seule ligne de code !
Le service Cayenne vous permet aussi d’afficher les courbes ou les événements sur une période, à des fins de surveillance ou d’analyse. Vous pourrez mettre en place avec facilité des déclencheurs, par exemple : « si la température excède 29 degrés, mettre la ventilation en marche » comme décrit ci-dessus.
La gamme des capteurs/actionneurs/cartes E/S évolue constamment et Cayenne devrait permettre de gérer prochainement de nouvelles plateformes et de nouveaux réseaux comme LoRa ou Sigfox (dont je vous avais présenté un exemple avec la carte de SNOC) pour faire communiquer tous ses objets entre eux via le moteur de règles et de gestion d’événements vraiment simple à utiliser sans programmation aucune.
Un forum communautaire est disponible pour trouver (ou amener) de l’information, laisser des suggestions, des commentaires…
Si vous réalisez des projets avec Cayenne, n’hésitez pas à partager vos réalisations sur framboise314, ne serait-ce qu’une capture d’écran !
Et puis si vous testez simplement cette plateforme, vos commentaires seront les bienvenus…
Sources
- http://www.cayenne-mydevices.com/
- https://pimylifeup.com/raspberry-pi-cayenne/
- http://www.cayenne-mydevices.com/docs/
- http://community.mydevices.com/