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 (en plus d'alimenter l'ESP01 en 3,3V) :
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); }