mercredi 1 février 2017

Domotique: l'ESP8266, mais qu'est ce que c'est cette référence ?!

Aujourd'hui, je vais vous parler d'un truc que j'ai découvert il y a 1 an à peu près, j'ai découvert un composant ou plutôt une carte qui permet de faire facilement votre propre "IoT" (Internet of Thing) et c'est donc idéal pour faire du "DIY" (Do It Yourself). C'est l'ESP8266, un composant possédant
la capacité de communiquer en wifi (donc un petit server ;-) avec des capacités d'entrée/sortie et cela sur une carte de quelques cm carré:



Je ne vais pas faire le wikipedia ;-) donc je vais aller à l'essentiel, ce composant existe depuis un moment et certains ont développé pleins des choses autour comme des firmwares et des cartes pour se simplifier la vie. Moi je vais vous parler ce ce que j'utilise et que je trouve le plus simple.
J'ai utilisé le NodeMCU, c'est en fait une carte de "prototypage" qui vient simplifier l'utilisation du ESP8266 et de sa programmation:

En fait, pourquoi j'ai utilisé cela ? Parce que finalement, dans la version simple, il faut utiliser un arduino et bricoler pas mal pour programmer finalement l'ESP8266.
Mais avec le nodeMCU, on a juste à utiliser un cable microUSB et à le relier sur un PC/Mac. De mon côté, j'ai testé sur Windows 7/10 et Mac Osx.

De plus cette carte a été copié depuis et même réduite en place, on trouve une carte équivalente que l'on appel "Wemos D1" :



Donc cela devient vraiment valable de ne pas s'embêter ;-)

En terme de soft, on a donc vraiment un projet complet que je vous laisse découvrir ici: http://www.nodemcu.com/index_en.html

Mais allons à l'essentiel (toujours !), maintenant je vous conseil la version "Wemos D1 Pro" maintenant qui a plus de mémoire, cela est vraiment important si vous voulez faire des choses toujours plus complexes. Vous trouverez cela sur AliExpress, cela semble être leur store officiel, et en ce moment c'est à moins de 7€ frais de port inclus : https://wemoscc.aliexpress.com/store/1331105
Je suis même sur que l'on peut trouver moins cher en cherchant un peu ;-)

Après l'avoir reçu, on doit y charger un firmware et c'est vraiment bien fait, on peut produire le firmware que l'on a besoin avec juste les librairies nécessaire et à partir d'un site web à cette adresse : https://nodemcu-build.com/
Il faudra donner votre email mais ainsi vous serez prévenu quand la build est prête pour vous !!!
Pour ma part, je pense que le minimum de libraries à charger est : bit, file, gpio, net, node, tmr, wifi.
Ensuite, il faudra peut être en rajouter d'autre(s) pour vos besoins, c'est vraiment bien complet.

Pour le charger ensuite dans la "bête", il faudra un outil pour flasher, le dernier en date est ici: https://github.com/marcelstoer/nodemcu-pyflasher/releases et seulement pour windows. Il vous faudra aussi des drivers potentiellement sur Windows (cherchez CH341SER) 
et sur MacOSx (cherchez ch341ser_mac-4).

Plus tard après l'étape  du chargement du firmware, je vous parlerais comment on peut implémenter et utiliser ce module.




6 commentaires :

  1. Très instructif et bien expliqué.

    RépondreSupprimer
  2. Merci, cela va me motiver à continuer ;-)

    RépondreSupprimer
  3. Il n'y a a plus qu'à communiquer en wifi pour transmettre des données comme la température à une base données commune à plusieurs capteurs!
    pascalou

    RépondreSupprimer
  4. Et voilà: première transmission de température avec ds18b20 réalisée en UDP...
    en plus on trouve maintenant le NodeMCU à 3,61 EUR port compris sur Ebay!

    RépondreSupprimer
  5. Super Pascal, GG ;-)
    N'hésite pas à mettre l'url ebay si tu peux dans les commentaires pour en faire profiter au plus grand nombre.

    RépondreSupprimer
  6. Et voilà le travail:
    http://www.ebay.fr/itm/192031968464?_trksid=p2060353.m2749.l2648&var=491726546617&ssPageName=STRK%3AMEBIDX%3AIT


    RépondreSupprimer