Une petite puce du nom d’Esp8266
Posted on Wed 15 November 2017 in Maker
Au détour de mes diverses lecture sur le oueb des Internets, je suis tombé (ne vous inquiétez pas, j’ai pas eu bien mal) sur ce billet d’Idleman : Créer une multi sonde wifi pour 11€.
L’idée était intéressante (elle l’est toujours d’ailleurs), et c’est à cette occasion que j’ai découvert les petites bêtes qu‘on appelle Esp-8266. Ni une ni deux, j’en commande quelques unes et me voilà avec la bête dans les mains. C’est assez petit comme bestiole (du moins dans la version ESP-12F ou Witty de son petit nom) et a priori ça fait pas mal de chose… Je vous passe le descriptif complet, d’autres ont fait ça bien mieux que moi (comme par exemple ici)
Histoire de prendre en main cette puce, j’ai fait un petit programme qui va utiliser les IO basique présent sur la carte : la DEL RGB, le bouton et le capteur de luminosité. Ce programme est disponible à cette adresse : https://gitlab.yapbreak.fr/iot/esp8266witty_basic
Le contenu
Le programme ne fait pas grand chose en lui même. Lorsqu’on appuie sur le bouton, la DEL change de couleur, et une mesure de luminosité est faite. Rien d’exceptionnel donc, et niveau utilité, on ne doit pas être loin du néant. Mais c’est un début.
Comme cet ESP est compatible avec le framework Arduino, on ne va pas s’en priver. Ce qu’il vaut savoir avant de commencer, c’est l’agencement des pins. Le minimum vitale est le suivant :
- la DEL RGB se contrôle via les pins
D8
,D6
etD7
(15, 12 et 13 pour les amoureux des chiffres) pour respectivement les composantes rouge, verte et bleu - le bouton est câblé sur le pin
D2
(ou encore 4…) - le capteur de luminosité est câblé lui sur l’entrée analogique
A0
(ou bien le assez logique 0)
Le contenant
Un mot sur le framework que j’ai utilisé pour développer tout ça. Beaucoup de personne vont vous parler de Arduino IDE, mais comme je ne fait jamais comme tout le monde, je préfère vous montrer platformio. C’est un moyen plutôt simple de gérer un projet IoT avec gestion de dépendance et de librairie, en ligne de commande ou avec IDE. Le partie ligne de commande est un plus en ce qui me concerne. Bref, c’est développé en Python et compatible à peu prêt tout OS.
L’IDE quant à lui est un « simple » plugin pour Atom ou VSCode, à vous de choisir.
Le type de carte du projet et ses dépendances sont simplement listées dans un fichier platformio.ini
et les quelques commandes suivantes suffisent à effectuer les tâches les plus basiques :
platformio init
pour initialiser un nouveau projetplatformio run
pour compiler le firmware- et
platformio run -t upload
pour envoyer le firmware sur la carte
Sur ce, je retourne à mes petits essais et je reviendrais un peu plus tard avec du plus concret.