Wiki

Reso-nance numérique | Arts et cultures libres

Outils du site


Panneau latéral

materiel:esp8266:accueil

Ceci est une ancienne révision du document !


ESP8266

L’ESP8266 est un micro-contrôleur pas cher (entre 4 et 10€) avec connexion WiFi intégrée, produit par les fabricants Espressif et AI-Thinker. Depuis 2014, une communauté s'est créé autour de cet appareil pour le documenter et le rendre accessible, notamment en rendant possible la programmation du micro-contrôleur via le logiciel open source Arduino.

On peut se servir du module pour :

  • Créer un serveur Web, pour visualiser les données d'un capteur sur un téléphone mobile ou un ordinateur via le navigateur Web ou bien pour lui envoyer des commandes comme fermer la porte du garage ou arroser les plantes (pour une utilisation un peu classique)
  • Créer un réseau maillé, où chaque module envoie et reçoit des informations des autres. Voir notre projet City Lights Orchestra Device (CLOD).
  • Créer des connexions sans fils, et donc envoyer et recevoir des informations par le WiFi en passant par d'autres méthodes que le navigateur Web, par communications UDP/TCP/OSC par exemple, qui sont interfaçables avec beaucoup de langages de programmations et logiciels.

Caractéristiques

L'ESP8266 est composé d'un micro-contrôleur 32 bits (Tensilica Xtensa LX106) cadencé à 80MHz avec une mémoire Flash de 16 MO et une mémoire RAM de 32K + 80K. Il intégre la norme Wi-Fi IEEE 802.11 b/g/n avec possibilité d'authentification par mot de passe WEP ou WPA/WPA2. Il possède 16 entrées/sorties (GPIO), dont une entrée analogique 10 bits.

Pour comparaison, l'Arduino Mega, une des plus puissantes cartes Arduino ne propose qu'un micro-contrôleur 8 bits cadencé à 16MHz avec une mémoire Flash de 256KO et 8KO de RAM. En revanche, il y a beaucoup plus d'entrées analogiques.

Famille

L'ESP8266 est disponible en plusieurs versions, il faut donc veiller à prendre celle qui convient le mieux.

Nous vous conseillons pour débuter de choisir une carte prête à être programmée (Development Board) intégrant l'ESP-12E, comme la Wemos D1 ou des équivalents au NodeMCU ou l'HUZZAH d'Adafruit :

Alimentation

Le module seule, c'est-à-dire non intégrée à une carte de développement, doit être alimenté en entre 3.0V et 3.6V. La consommation peut être très basse en sleep mode mais peut atteindre les 500 mA avec la transmission de données Wi-Fi. Il est donc impératif d'utiliser une alimentation régulée. Neil Kolban suggère d'ajouter un condensateur de 10 uF entre le +3.3 et la masse (GND) pour lisser le signal.

Vous aurez sans doute moins de problème avec les cartes de développement puisqu'elles intègrent un régulateur de tension. Ce qui n'enlève pas l'idée d'avoir une alimentation dédiée pour le module.

Entrées/sorties

  • Les entrées/sorties de tous les modules en images : jpralves

Configuration

On peut programmer l'ESP8266 avec plusieurs langages : commandes AT, ESP8266 SDK, Lua (NodeMCU), C/C(Arduino), microPython, Javascript. Nous retiendrons ici la méthode la plus familière en utilisant Arduino. Pour les autres méthodes, suivez ces liens : [[http://www.kloppenborg.net/blog/microcontrollers/2016/08/02/getting-started-with-the-esp8266

Veillez à vérifier que les câbles micro-USB sont corrects, c'est-à-dire qu'ils permettent la communication série et pas uniquement l'alimentation électrique. Parfois il sont vendus uniquement pour alimenter un téléphone mobile et pas pour transmettre les données, ce qui économise deux fils pour le producteur !

==== Avec le logiciel Arduino ==== * Installer le logiciel Arduino * Ouvrir le logiciel et les “Préférences” (Menu Fichier > Préférences) * Dans le champ “URL de gestionnaire de cartes”, ajouter ce lien :

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

* Ouvrir le gestionnaire de cartes (Menu Outils > Types de Carte > Gestionnaire de cartes) * Chercher le paquet “ESP8266” et installez le * Sélectionner votre carte (Menu Outils > Type de carte) et le bon port

    * exemple de carte "WeMos D1(retired)"
    * exemple de port wchusbserialXXX (sur Mac OS)
* Par mesure de sécurité, vous pouvez aussi diminuer la vitesse d'importation du programme, cela pose parfois des problèmes
    * exemple de vitesse "Upload Speed 57600"

Soyez patient, la vitesse de transfert de votre programme dans la puce de l'ESP8266 met autour de 30 secondes.

==== Avec une carte Arduino ==== Vous pouvez aussi utiliser ces modules pour ajouter une connexion Wi-Fi à un projet utilisant déjà une Arduino.

===== Exemples ===== ==== Faire clignoter la LED ==== Rien d'original si ce n'est que la LED intégrée au module est sur la sortie n°2. À savoir, la variable “BUILTIN_LED” permet de s'affranchir du numéro physique de la sortie.

int led = 2;
 
void setup() {                
  pinMode(led, OUTPUT);     
}
 
void loop() {
  digitalWrite(led, HIGH);
  delay(1000);
  digitalWrite(led, LOW);
  delay(1000);
}

==== Serveur Web ==== Éteindre ou allumer une LED avec le navigateur Web. L'ESP8266 crée un réseau Wi-Fi, sur lequel va se connecter un ordinateur ou un téléphone mobile. Il suffit ensuite d'ouvrir le navigateur Web et d'entrer dans la barre d'adresse, l'adresse suivante : http://192.168.4.1/OFF pour éteindre la LED ou bien http://192.168.4.1/ON pour l'allumer. ssss

 

++

/home/resonancg/www/wiki/data/attic/materiel/esp8266/accueil.1487881501.txt.gz · Dernière modification: 2017/02/23 21:25 de resonance