Projets:Perso:2015:LedTube:ESP12Q

From Electrolab
Revision as of 17:37, 6 March 2016 by Lcdvasrm (Talk | contribs)

Jump to: navigation, search

Module ESP-12-Q

Ce module porte, dans un boitier métallique faisant office de blindage, un chip WIFI ESP8266 de "Espressif Systems" (chinois)

Il y a du firmware dans le ESP8266. Il peut-être mis à jour.

Ce chip ESP8266 peut être utilisé de plusieurs façon.

  • Soit on dialogue avec le module par la liaison série (typiquement à 115200 bauds) en envoyant des commandes AT. Mais cela suppose d'avoir flashé dans le module le firmware AT de Espressif, ou un de ses dérivés
  • Soit on développe sois même du firmware, on le compile, on le flashe dans le module. Ca permet de faire une solution WIFI sans processeur externe.

Les modules dans le distributeur sont flashés avec un firmware type "internet of things" qui permet de se connecter directement avec un browser internet au module. J'ai pas perdu de temps avec ça. Pour les geeks.

En ce qui concerne le projet LedTube, je l'ai utilisé en mode AT.

J'ai donc reflashé le module, avec le firmware AT officiel de Espressif.

Ce qu'on appelle des commandes AT : c'est juste un protocole où on envoie vers le module des commandes par la liaison série en ASCII et on obtient des réponses. On peut ainsi par exemple depuis un PC, avec un simple logiciel terminal (terraterm par exemple) dialoguer "à la main" avec le module, envoyer des trames TCP, UDP, recevoir des trames. C'est pratique pour le debuggage. Ensuite dans le circuit final, votre processeur fait la même chose.

Selon le niveau électrique sur des broches en sortie de reset, le module va passer en mode normal, ou bien re-flashage. Voir plus bas


Voici les images utiles pour réaliser un schéma électronique



Définition des broches


Le module dans son sachet ESP12Q top.jpg ESP12Q bottom.jpg


Le schéma interne du module.

Important :

  • On voit qu'il y a une pull up sur le RESET. Pour bloquer en RESET, mettre cette broche à 0V.
  • La broche ENABLE est active à 3.3V.
  • On voit que le GPIO2 est connecté au + par LED + résistance. Si bien qu'il n'est pas requis de le contrôler en sortie de RESET car il aura le bon niveau (Haut).

ESP12Q schematic esp-12e.png Schéma interne au module


Comment je l'ai intégré dans mon schéma:

Projets perso 2015 ledtube esp-12-q-module.png

Selon le niveau électrique sur des broches en sortie de RESET, le module va passer en mode normal (flash boot mode), ou bien re-flashage (Uart download mode). Dans le schéma,

  • UART Download Mode est le mode re-flashage
  • Flash Boot mode est le mode de fonctionnement normal, le processeur exécute son application

Choses à télécharger sur le site web espressif

Documents importants

  • Le protocole AT,  : 4A-ESP8266__AT Instruction Set__EN_v1.4.pdf
  • Le 0B-ESP8266__Hardware_User_Guide__EN_v1.1.pdf peut aider si on se pose des questions

http://bbs.espressif.com/viewtopic.php?f=51&t=1022 http://bbs.espressif.com/viewtopic.php?f=51&t=818

Logiciels Essentiels

  • Le FLASH_DOWNLOAD_TOOLS_v1.2_150512 est l'outil pour reflasher le ESP8266 par sa liaison série
  • esp_iot_sdk_v1.4.0_15_09_18.zip (contient les binaires à flasher avec l'outil, sont dans le rep bin/at et bin/)

Terminal pour vérifier que le flashage a bien marché.

  • Terraterm (pas un outil de expressif)

Les binaire pour le protocole AT (doit être flashé car pas dedans par défaut)

Voici la config qui a marché pour moi, ce n'est surement pas la config optimale, mais elle fait le job

ESP12Q flash config.png

Vu sur ma carte shield pour Nucleo64

Projets perso 2015 ledtube shield.jpg

Cf http://bbs.espressif.com