ESP01 & Arduino []

Outils pour utilisateurs

Outils du site


ESP01 & Arduino

Ceci est une ancienne révision du document !


ESP01 & Arduino

L'ESP01 (ESP8266) peut servir d'interface WiFi à un Arduino.

Interfaçage avec l'Arduino

L'ESP01 (le 8266 en général) fonctionne en 3,3V et nécessite une adaptation de niveaux pour la liaison série TX/RX.

C'est à ça que sert cette platine :

Initialisation ESP-01

Utiliser « SoftwareSerial » pour pouvoir utiliser les broches qu'on veut au lieu de TxD / RxD qui servent à la liaison Arduino ↔ PC.

#include <SoftwareSerial.h>
 
SoftwareSerial ESP8266(10, 11);
/****************************************************************/
/*                Fonction qui initialise l'ESP8266             */
/****************************************************************/
void initESP8266()
{  
  Serial.println("**********************************************************");  
  Serial.println("**************** DEBUT DE L'INITIALISATION ***************");
  Serial.println("**********************************************************");  
  envoieAuESP8266("AT+RST");
  recoitDuESP8266(2000);
  Serial.println("**********************************************************");
  envoieAuESP8266("AT+CWMODE=3");
  recoitDuESP8266(5000);
  Serial.println("**********************************************************");
  envoieAuESP8266("AT+CWJAP=\""+ NomduReseauWifi + "\",\"" + MotDePasse +"\"");
  recoitDuESP8266(10000);
  Serial.println("**********************************************************");
  envoieAuESP8266("AT+CIFSR");
  recoitDuESP8266(1000);
  Serial.println("**********************************************************");
  envoieAuESP8266("AT+CIPMUX=1");   
  recoitDuESP8266(1000);
  Serial.println("**********************************************************");
  envoieAuESP8266("AT+CIPSERVER=1,80");
  recoitDuESP8266(1000);
  Serial.println("**********************************************************");
  Serial.println("***************** INITIALISATION TERMINEE ****************");
  Serial.println("**********************************************************");
  Serial.println("");  
}
 
/****************************************************************/
/*        Fonction qui envoie une commande à l'ESP8266          */
/****************************************************************/
void envoieAuESP8266(String commande)
{  
  ESP8266.println(commande);
}
/****************************************************************/
/*Fonction qui lit et affiche les messages envoyés par l'ESP8266*/
/****************************************************************/
void recoitDuESP8266(const int timeout)
{
  String reponse = "";
  long int time = millis();
  while( (time+timeout) > millis())
  {
    while(ESP8266.available())
    {
      char c = ESP8266.read();
      reponse+=c;
    }
  }
  Serial.print(reponse);   
}
documentation/microcontroleurs/arduino/modules/esp01_arduino/index.1544704665.txt.gz · Dernière modification : de f1sls