Télécommande MQTT avec ESP8266
Partant d’un problème simple, comment remplacer une télécommande Somfy hors de prix pour venir activer la passerelle Somfy décrite ici ?
La solution est arrivée avec un vieux NodeMCU Lolin V3, un ESP8266 laissé de côté, mais largement suffisant pour pouvoir lire un clavier souple à membrane ou des boutons plus gros, suffisant pour une interface Web de configuration, pour une interface Web de gestion en cliquant sur les boutons, permettant une mise à jour OTA, autorisant également l’appui long sur les boutons pour offrir encore plus de fonctionnalités. Au final, ce sont donc 6 trames MQTT possibles, de quoi commander plein de volets ou imaginer une domotique un peu plus ergonomique, du bout des doigts !
La page de commande est on ne peut plus simple :
Bien entendu, la couleur et le texte des boutons se configurent à volonté dans l’onglet « Configuration » qu’on aperçoit en bas :
Restait donc à étudier un boitier pour intégrer tout ce p’tit monde de façon propre. Pris d’un doute sur les récentes capacités en hausse de Gemini, j’ai tenté une question en lui fournissant des photos du NodeMCU et du clavier :
es-tu capable de me faire un boitier pour ce module nodemcu lolin v3, dimensions 58 x 31 x 13 mm, en prévoyant sur le couvercle supérieur un clavier de dimensions 57 x 20 mm ?
Et là, surprise,ni une ni deux, Gemini me pond un code SCAD (OpenSCAD) qui va me générer le premier protoype de boîtier :
Vous noterez d’office qu’il a prévu de lui même une découpe pour le câble plat issu de l’interrupteur à membrane, je ne lui ai RIEN demandé, il a réfléchi tout seul pour ajouter ça !!! Je suis rarement impressionné, sauf là, vraiment, bravo, chapeau !
Après l’impression, le boitier collait parfaitement aux besoins :
On allait maintenant pouvoir arrondir un peu les angles, faire plus design :
J’ai ajouté 2 bandes sur le côté, configurables en largeur et hauteur, pour venir mieux caler le NodeMCU en fond de boitier. Par sécurité, je pense glisser une goutte de colle à terme ceci dit, ou de scotch double face, à voir. Et voici le résultat en impression 3D PETG :
Il ne reste plus qu’à venir fixer le clavier à membrane. A ce sujet, pour les trois boutons, l’ESP8266 utilise les GPiO D1, D2 et D5, mais bien entendu cela peut évoluer vers beaucoup plus au besoin, un clavier plus gros, un boitier adapté, etc.
Et voici pour terminer le code pour votre IDE Arduino. Les topics MQTT ne sont pas définis partout par défaut, uniquement sur les appuis courts des trois boutons. Là encore, tout est améliorable, à vous de jouer 😉









