Nodemcu ESP8266 ESP12E 512 K 32 bits

 

 

 Le câble USB est un câble standard pour téléphone

 NODEMCU Une carte complête (open-source)basée sur l’ ESP8266, qu’est-ce que c’est ?

L’ESP8266 n’est ni plus ni moins qu’un microcontrôleur possédant des capacités Wi-Fi. Rien de très novateur là dedans me direz-vous, mais détrompez-vous : l’ESP8266 a de quoi séduire les plus rabats-joie d’entre vous !

Bien des arguments pour convaincre

Et pour en lister grossièrement quelques-uns :

  • Il est très petit, puisque du haut de sont package QFN32, le microcontrôleur seul ne fait que 5mm de côté.
  • Il ne consomme qu’une dizaine de micro-ampères en modedeep-sleep, ce qui rend aisés les montages sur batterie.
  • Comme nous le verrons au cours de cet article, il s’utilise de manière très simple.

Toutes ces qualités lui ont permis de se forger une immense communauté qui se fera -je l’espère- un plaisir à répondre aux questions que je n’aurais pas abordées ici.

Pourquoi l’utiliser ?

Ai-je réellement besoin de répondre à cette question ? L’ESP8266 permet aux gens que nous sommes de connecter de manière simple et économique nos montages.

On l’imagine très facilement dans des projets type domotique, dans des sondes autonomes basse consommation (température, ouverture de portes, etc.), dans nos micro-ondes, cafetières, et j’en passe.

Et techniquement, comment ça se passe ?

L’ESP8266, quand vous le recevez, embarque déjà toute la pile TCP/IP. Une bonne partie du travail nous est alors offerte et nous n’avons plus qu’à nous amuser. Nous verrons dans cet article qu’il existe plusieurs façons de l’utiliser, mais pour le moment, il est encore trop tôt pour en parler.

Abordons plutôt dans un premier temps l’aspecthardware.

 

Caractéristiques principales :

– 802.11 b/g/n protocol

– Wi-Fi Direct (P2P), soft-AP

– Integrated TCP/IP protocol stack

– +19.5dBm output power in 802.11b mode

– Power down leakage current of < 10uA

– Integrated low power 32-bit MCU !! 80 Mhz 

– Integrated memory flash 512 K !!

– SDIO 2.0, SPI, UART

– STBC, 1×1 MIMO, 2×1 MIMO

– A-MPDU & A-MSDU aggregation & 0.4μs guard interval

– Wake up and transmit packets in < 2ms

– Standby power consumption of < 1.0mW (DTIM3)

– Compatible et simple d’utilisation avec l’IDE ARDUINO

– Programmation possible via LUA ou PYTHON

NodeMCU

Ah, enfin, nous l’abordons ! Au risque de me répeter : l’ESP8266 est un microcontrôleur. Et qui dit microcontrôleur, dit programme.

En vérité, lorsque nous utilisons le module avec son jeu de commandes AT, nous demandons au programme d’interpréter nos commandes pour faire telle ou telle chose. Alors pourquoi simplement ne pas remplacer ledit programme par le notre et ainsi supprimer l’Arduino que nous aurions par exemple dû utiliser précédement ? Par contre nous pouvons utiliser l’IDE de l’Arduino si nous voulons l’utililiser comme un Arduino en C.

Des gens brillants se sont mis à travailler sur des firmware alternatifs, le plus connu d’entre eux étant NodeMCU.

Concrètement,NodeMCU permettra à l’ESP8266 d’embarquer un petit système de fichier ainsi qu’un interpreteur LUA(car oui, il va falloir se mettre au LUA) ou en Python  ; tout cela pour nous permettre d’utiliser les capacités Wi-Fi de l’ESP et de jouer avec les entrées/sorties du microcontrôleur.

En premier,  UTILISATION COMME UN ARDUINO

Première chose à faire ,ajouter les cartes esp à l’IDE

allez dans Fichiers – Préférences – à URL de gestionnaire de carte suplémentaire ajoutez :

http://arduino.esp8266.com/stable/package_esp8266com_index.json

 

ensuite allez dans Outils – Type de carte – Gestionnaire de cartes, cherchez ESP8266 et installé ! c’est tout

maintenant dans les cartes pour notre composant choisissez NodeMCU 1.0 (ESP12E module)

 

Attention les pins des programmes arduino ne correspondent pas aux pins de l’ESP voici la correspondance

  
ESP  Arduino ide
0  16
1  5
2  4
3  0
4  2
5  14
6  12
7  13
8  15
9  3
10  1

Vous pouvez définir des constantes au début de votre programme pour la simplicité

static const uint8_t D0 = 16; static const uint8_t D1 = 5; static const uint8_t D2 = 4; static const uint8_t D3 = 0; static const uint8_t D4 = 2; static const uint8_t D5 = 14; static const uint8_t D6 = 12; static const uint8_t D7 = 13; static const uint8_t D8 = 15; static const uint8_t D9 = 3; static const uint8_t D10 = 1;

 Donc le programme blink fera clignoté le port 7 du nodemcu

 DANS LES EXEMPLES DE l’IDE VOUS TROUVEREZ PLEIN D’EXEMPLES


Flasher le ESP8266 et utiliser LUA ou Pytho pour le programmer

 


 

Flashage pour utiliser en LUA ou PYTHON

 

2 logiciels pour flasher un en python  Source:https://github.com/themadinventor/esptool Supported platforms: OS X, Linux, Windows, anything that runs Python

et un pour windows  NodeMCU Flasher

Source:https://github.com/nodemcu/nodemcu-flasher Supported platforms: Windows

et le dernier firmware https://github.com/nodemcu/nodemcu-firmware

 

Dans SDK / BIN vous trouverez le firmware esp_init_data_default.bin

 

Flashage avec NodeMCU Flasher

 

 

 

 

 

Article en cours de rédaction 16/04/2016 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *