Tutoriel proposé par Marc-Antoine DUVAL, Joël GUILLEM et Quentin LEVERT.

Dans ce tutoriel, nous allons créer un boitier qui est relié à un ou plusieurs ordinateurs de la maison grâce à un ESP8266 connecté à constellation. Des LEDs permettent à l’utilisateur de suivre le résultat des commandes en temps réel. Le boitier permet de commander à distance le lecteur de vidéo VLC media player à travers différentes fonctionnalités. Il gère :

  • Le volume
  • La marche avant / marche arrière au cours d’un visionnage
  • La mise en lecture / pause d’une vidéo
  • La fermeture de VLC

Prérequis

  • Un ESP8266, nous utilisons un D1-mini
  • 6 boutons poussoirs tactiles blancs
  • 2 LEDs RGB
  • Une plaque de plexiglas noire
  • Une imprimante laser
  • Un serveur constellation
  • Le package « Windows Control » déployé sur une ou plusieurs sentinelles

Etape 1 : Réaliser le montage des boutons et LEDs

Dans un premier temps, nous allons réaliser le montage électronique des composants. Tout d’abord il est nécessaire de brancher l’ESP8266 à la breadboard et de l’alimenter en le connectant en mini-USB à une source d’alimentation. Il faut ensuite brancher la masse de l’ESP à la colonne de masse de la breadboard.

Pour les besoins de l’explication du montage, tous les autres composants seront connectés à la breadboard, cependant il est tout à fait possible de les connecter une fois insérés dans le boitier (voir Etape 2). Le schéma global est présenté ci-après.

Cablage

 

Ici nous avons choisi 2 LEDs RGB afin d’améliorer l’effet visuel pour obtenir une LED de couleur jaune. La première LED verte pourra être connectée directement au pin D8 de l’ESP. Quant à la seconde LED RGB, il suffit de connecter les pattes correspondant aux LEDs rouge et verte à la même ligne, puis de lier cette ligne au pin D7 de l’ESP.

Les boutons poussoirs sont à connecter avec les broches 1 et 3 d’un côté et les broches 2 et 4 de l’autre. Le branchement est classique, à savoir les pin D1 à D6 connectés directement sur la patte 1 de chaque bouton, puis retour à la masse sur la patte 3 des boutons. Lorsque l’on appuie sur le bouton, le pin correspondant passera donc en état bas (LOW) et est en état haut (HIGH) tant que l’on n’appuie pas.

Une fois le câblage terminé, nous allons passer à la réalisation du boitier qui contiendra à l’intérieur l’ESP et la breadboard.

Etape 2 : Réaliser le boitier

Dans un second temps, il nous faut un boitier que nous pourrons ouvrir pour mettre notre ESP. Le design de la face de devant doit aussi correspondre au nombre de boutons et LED que l’on souhaite mettre en place.

Afin de résoudre cette problématique, nous avons décidé d’imprimer le boitier grâce à une imprimante laser. Nous avons utilisé une plaque de plexiglas noir d’une épaisseur de 3mm.

Tout d’abord, nous avons créé le fond de la boite sans le couvercle. Nous avons utilisé le site : http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites qui permet de générer automatique le fichier .svg qui sera reconnu et utilisé pour l’impression laser. Il suffit d’entrer les dimensions voulues.

Ensuite nous avons utilisé SolidWorks afin de créer notre face avant personnalisée. Nous avons choisi percer 2 trous pour les LEDs et 6 pour les boutons carrés. Après la réalisation de la pièce, plusieurs étapes sont alors nécessaires pour exporter le fichier SolidWorks en fichier .svg.

  • Sélectionner la vue correspondant à la pièce à réaliser
  • Enregistrer le fichier SolidWorks au format .DXF.
  • Sélectionner la vue à exporter. Ici, on sélectionne la vue en cours.

Choix de la face à sauvegarder

  • Installer Inkscape, ce logiciel permettra de créer le fichier pour l’imprimante laser.
  • Importer le fichier dans Inkscape. Il faut désactiver mise à l’échelle automatique.
  • Sauvegarder le fichier qui sera utilisé pour l’impression laser.

Enfin, nous avons assemblé toutes les pièces du boitier :

Boitier

Etape 3 : Programmation

Dans un premier temps, il faut vous assurer que votre ESP8266 soit connecté à votre constellation, si vous ne savez pas comment vous y prendre, je vous invite donc à suivre le tutoriel réalisé par Sébastien Warin : https://developer.myconstellation.io/getting-started/connecter-un-arduino-ou-un-esp8266-constellation/ .

Pour commencer, il faut déclarer le matériel dans la méthode setup de notre ESP8266, conformément à l’étape 1, nous avons choisi les pin 1 à 6 en mode PULLUP pour les boutons et les pins 7 & 8 pour les LEDs :

Nous avons associé à chaque bouton un messageCallback avec les paramètres permettant d’effectuer l’action voulu. Pour faire cela, nous avons réalisé une fonction « checkButtonState » qui permet de gérer les évènements d’appuie sur les boutons et d’appeler le messageCallback correspondant au bouton. Juste avant l’appel du messageCallback, la led cablée au pin D7 est allumée pour une période de 2 secondes afin de montrer à l’utilisateur que l’ESP8266 a bien réalisé l’action. Cela permettra en cas de disfonctionnement, que l’utilisateur puisse savoir si c’est le hardware ou la transmission Wifi/Constellation qui est défectueux.

Le tableau ci-dessous récapitule les actions, messageCallback et pins qui sont associés ensemble :

image

Ci-dessous le code de la fonction checkButtonState :

Et voilà notre boitier de contrôle est opérationnel. Il ne reste plus qu’à l’alimenter et vous avons à notre disposition des boutons physiques pour piloter notre Windows facilement.

Créer un boitier connecté « Mix box » permettant de contrôler votre ordinateur
Editer la page sur GitHub
Étiqueté avec :                        

Rejoignez la discussion sur le forum Constellation