Accueil | Niveau de difficulté | Avancé | Cayenne IoT + ESP8266 : piloter un mini kit Pan-Tilt FPV SG90 en WiFi avec un smartphone ou tablette

Cayenne IoT + ESP8266 : piloter un mini kit Pan-Tilt FPV SG90 en WiFi avec un smartphone ou tablette

Dans ce nouveau tutoriel sur Cayenne IoT, nous allons apprendre comment piloter en WiFi un système articulé Pan-Tilt PTZ SG90. Dans le tutoriel précédent, nous avons vu comment faire avec la librairie et l’application Blynk. Cayenne IoT se programme de manière assez similaire. Il faut obligatoirement passer par les serveurs de myDevices.com ce qui peut provoquer un petit délai de latence (qualité de la connexion internet, charge serveur…).

De quoi avez vous besoin ?

Contrairement à Blynk, Cayenne IoT ne propose pas (encore ?) de serveur local. Il faut donc posséder un compte utilisateur. Vous pouvez en créer un directement sur le site mydevices.com ou depuis l’application iOS ou Android.

Si vous venez de faire l’acquisition d’un kit Pan-Tilt PTZ SG90, suivez le tutoriel précédent pour le montage.

Matériel utilisé

Je vous propose donc ici de piloter en WiFi le mini kit Pan/Tilt. Vous pouvez utiliser n’importe quel ESP8266.

esp8266 Wemos D1 miniWemos D1 Mini
chargeur raspbery pi 3 5v 3000maAlimentation 5/3A micro-usb
mini kit fpv pan tilt sg90Mini Kit FPV Pan Tilt avec 2 servos SG90
jumper dupontJumper Dupont
breadboardBreadboard

Circuit

Le circuit est parfaitement identique à la version Blynk.

mini kit pan tilt servo wemos d1 mini wifi cayenne iot mydevices

Préparer le Device

Tout d’abord, nous devons ajouter un Device. Contrairement à Blynk, Cayenne a besoin d’être connecté à l’objet à tout moment durant la configuration.

Cayenne propose de créer un Device de type Raspberry ou Arduino. Ce n’est pas un problème, l’ESP8266 est très bien géré même s’il n’est pas dans la liste.

cayenne mydevices add device raspberry arduino

Vous pouvez récupérer par email un petit exemple de code pour Arduino

 cayenne mydevices add arduino device

Sélectionnez Arduino Uno puis WiFi Shield. Un Token est généré. A partir de maintenant, Cayenne attend que l’Arduino (ou l’ESP8266 dans le cas présent) se connecte aux serveurs mydevices.com avant de pouvoir continuer. C’est un peu frustrant, mais c’est le mode de fonctionnement actuel.

cayenne mydevices esp8266 wemos d1 mini nodemcu

Préparer l’IDE Arduino

Lancez l’IDE Arduino et ouvrez le gestionnaire de bibliothèques. Dans le champ de recherche, faites une recherche sur le mot clé Cayenne. Installez la librairie Cayenne by myDevices. Installez également la librairie servo.

ide arduino install cayenne mydevices library

Code Arduino

Collez le Token du Device dans le code suivant et modifiez les paramètres de connexion (ssid, pass) à votre réseau WiFi. Téléversez le code et ouvrez le moniteur série pour vérifier que tout se passe bien.

Configuration des commandes d’axe sur l’appli Cayenne

Retournez sur l’application Cayenne. Dès que l’ESP8266 se sera authentifié sur les serveurs de Cayenne, l’application passera automatiquement à l’écran suivant.

 cayenne iot mydevices authenticate

Cliquez sur ADD au centre de l’écran pour ajouter les commandes des axes. Contrairement à Blynk, il n’existe pas de widget joystick. Il faudra se contenter de 2 sliders (ce qui n’est pas vraiment un problème, ce n’est pas si simple de contrôler les axes précisément avec le joystick  😕 ). Ajoutez un Device de type Motor.

cayenne mydevices add motor

Puis Servo Motor

cayenne mydevices servo motor

Configurez le comme ceci

  • Name : Pan ou Tilt
  • I/O : Virtual
  • Pin : V0 pour Pan, V1 pour Tilt (par exemple)
  • Widget : slider
  • Activer min/max et attribuez 0..180 (degrés)
  • Terminez par Save

Faites la même chose pour le 2ème axe.

cayenne mydevices pan virtual v0

Voici ce qu’on obtient

cayenne mydevices sliders pan tilt

Comme Cayenne n’accepte de configurer les Devices que s’il est connecté à l’Arduino/ESP8266, le contrôle des axes est immédiatement fonctionnel.

Si vous perdez la connexion avec votre appareil, voici le type de message qui s’affichera en haut de l’écran

cayenne mydevices device offline

Avec une petite vidéo, c’est plus simple  😉

Sur la vidéo, vous pourrez remarquer un légers décalage entre le déplacement d’un slider et l’execution de la commande par l’ESP8266. Cayenne est un projet récent qui présente encore des défauts de jeunesse mais on lui pardonnera assez facilement car il est proposé totalement gratuitement (jusqu’à quand ?).