Arduino Ep.16 - Installation du module Wifi ESP8266
Schéma pour commençer
Schéma pour initialiser automatique l'ESP8266
Code pour initialiser automatique l'ESP8266
#include <SoftwareSerial.h>
SoftwareSerial ESP8266(10, 11);
String NomduReseauWifi = "Entrez le nom de votre Box ou point d'accès Wifi"; // Garder les guillements
String MotDePasse = "Entrez le nom du mot de passe de votre Box ou point d'accès Wifi"; // Garder les guillements/****************************************************************/
/* INIT */
/****************************************************************/
void setup()
{
Serial.begin(9600);
ESP8266.begin(9600);
initESP8266();
}
/****************************************************************/
/* BOUCLE INFINIE */
/****************************************************************/
void loop()
{
while(ESP8266.available())
{
Serial.println(ESP8266.readString());
}
}
/****************************************************************/
/* 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);
}
Commentaires
beboxes
sam, 11/19/2016 - 19:42
Bonsoir,
J'ai réussi à connecté mon ESP à mon arduino. Je souhaiterai simplement appelé une URL (webservice) qui effectuerait un insert dans ma base de donnée et renvoyer un réponse.
La partir serveur est crée et fonctionne lorsque j'appelle mon URL.
Cependant, j'ai des difficultés à appeler l'URL depuis m'on arduino. Auriez-vous des conseils à me donner?
Je suis en train de considéré l'achat d'un shield WIFI qui, à première vue, me simplifierai ce type d'échange. Qu'en pensez vous?
Merci par avance,
Cdt,
Boris
Georges
lun, 11/21/2016 - 11:07
Bonjour à tous...
Alors je suis un passionné des systèmes embarqués et je me suis procurer un module ESP8266 esp-07, pour un projet et j'arrive pas à le faire fonctionner. J'ai essayé de suivre les étapes du tuto mais toutes les commandes que je rentre dans le moniteur serie ne passent pas
Si je pourrais avoir de l'aide svp
Dennissking
ven, 01/27/2017 - 21:25
Salut georges,moi ca ne marchais pas la premiere étapes,les commande ne passait pas non plus.Passe ala 2ieme étape et suis le code modifié de cyril.pour moi ca fonctionné.bye bonne chance.
Nazer
mar, 12/20/2016 - 12:05
Bonjour,
J'ai un soucis, le code précédant fonctionne mais les valeurs renvoyées par l'ESP sont incompréhensibles... Si quelqu'un connaît la solution à ce problème je suis preneur ! Merci d'avance
Bonne journée
Florian
**********************************************************
**************** DEBUT DE L'INITIALISATION ***************
**********************************************************
**********************************************************
)kßÊÿ**********************************************************
)1I;ø)kßÊÿ**********************************************************
**********************************************************
)1I;ø**********************************************************
**********************************************************
***************** INITIALISATION TERMINEE ****************
**********************************************************
)kßÊÿ
)1I;ø
Dennissking
ven, 01/27/2017 - 21:33
désolé pour le poste en double,je croyais qu'il n'était pas partie,bye tlm.
Domi94
ven, 04/14/2017 - 14:44
Bonjour à tous et merci à Alex pour ses riches vidéos. Je suis ingénieur retraité et débutant en IT et qui dispose maintenant de plus de temps pour découvrir les nouvelles technologies de systèmes et de programmations.
Moi aussi je n'arrive pas à faire communiquer la carte ESP8266 à l'Arduino Uno et n'ai aucun retour lorsque je rentre la première ligne de test AT + RST. L'alim est en 3.3 V à partir de la carte Arduino, les connexions RX et TX st biens croisées, le pgm blink test est chargé et fonctionne, le port USB reconnu est COM6 etc...et le cablage est Ok. J'ai acheté un mini module ESP8266 (version améliorée) par le site Les Elec.com.... Merci pour votre aide afin de faire avancer mon projet ....
Mouraps
dim, 05/07/2017 - 15:25
Bonjour Domi,
J'ai eu exactement le problème et j'ai inversé le câblage de Tx Rx faut pas les croisés comme indiqué dans la vidéo et ça marche. Je sais c'est bizzare et c'est pas logique c'est uen astuce que j'ai lu dans le premier commentaire de la vidéo .
Tiens moi au courant si vous avez réglé le problème.
Domi94
jeu, 05/18/2017 - 19:49
Bonsoir Mouraps et autres adhérents à ce blog,
Tout d'abord, merci pour ton aide et aussi désolé pour ma réponse tardive. Depuis j'ai acheté 2 nouveaux ESP01 -8266 car le tout premier m'indiquait un affichage fixe de la Led bleue depuis quelques jours et peu d'info lisibles sur le moniteur série. Je n'ai pourtant pas fait de fausse manip, ni de court-circuit ... Je vais essayé de flasher l'eeprom pour l'utiliser sans la carte Uno, si tu as une reco, je suis preneur, mais peut être que la carte est définitivement HS, si c'est le cas, ce n'est pas la catastrophe.
Donc j'ai refait mes expériences méthodiquement comme spécifié par Alex et euréka la connexion Wifi fonctionne et est bien reconnu autour de ma plate forme d'essais, donc ça progresse doucement ...
Maintenant j'aimerai passer à la phase 2 et trouver les codes qui vont bien pour réaliser 2 projets en mode dépendant (càd connecté au PC) et en mode autonome Wi Fi (càd sans PC à proximité, mais accroché à un routeur ) connectés ds les 2 cas à un réseau local. Nous pourrons envisager par la suite une connexion distante en utilisant le réseau internet, mais attention il faut rester prudent pour bien sécuriser le système contre les acte de malveillance.
Le pb en mode autonome c'est de disposer d'espace mémoires ds les micro-contrôleurs pour stocker en mode serveur les fichiers HTML et accéder au URL avec les smart phones ou tablettes ...
Je regarde également les appli de commande et de contrôle existantes disponibles et faciles à mettre en oeuvre, mais je pense qu'un outils comme "app inventor" est probablement plus performant, mais pas facile à assimiler de prime abord pour ma part....
Peut être que d'autres adhérents st intéressés par ces sujets passionnants et développements afin de constituer un groupe de travail et qu' Alex pourra nous donner quelques conseils avisés.
J'aurai aimé trouver sur ce forum davantage d'info et de suites aux différentes vidéos sur les modules ESP qui malheureusement ne sont pas totalement terminés .... Merci de ton (ou de vos) éclairage et de m'indiquer si il y a d'autres demandeurs intéressés par ces expériences en "Open Source" et de les partager tous ensembles.
Donc à très bientôt j'espère ...
Bien cordialement à tous .
Gekido
mar, 07/11/2017 - 09:28
Salut a tous.
J'ai connecté mon ESP8266-01 à mon arduino et les premières commandes
fonctionnent bien.
Mais au moment de connecter a mon WIFI il me renvoi bien WIFI CONNECTED mais au bout de
quelques secondes il me renvoi
WIFI DISCONNECTED
+CWJAP:1
FAIL
Est ce que quelqu'un sait de quoi ça vient ?
Merci
Julius
sam, 10/14/2017 - 13:07
Salut,
Je veux configurer mon esp8266 version 1 comme acess point(AP) et j ai quelques questions.
1) Est il posssible de configurer directement mon ESP8266 à l aide de la memoire Flash de mon ESP8266 sans utiliser l arduino ou soit un MCU ? si oui comment?
2)est ce que je peut utiliser CoolTerm comme Tools?
Dionysos
jeu, 11/02/2017 - 18:23
Bonjour,
Merci pour ce tuto, un des rares à proposer un échange de données en utilisant le sketch sur Arduino et non pas sur l'ESP8266 et pour les commentaires.
Si ça peut servir, je raconte ma démarche, après 2 jours de Doliprane..
Comme je suis candide en robotique, j'avais fait l'acquisition d'un shield ESP-13, soit-disant "prêt à l'emploi" comme celui-ci XC4614 chez Jaycar (puce Wifi 8266MOD de AI-THINKER), en croyant m'épargner quelques soucis. Mais comme il y a peu d'infos sur cette carte, je tourne en rond.
Je reliais l'Arduino Mega (5V, Gnd, pin 10 Rx et pin 11 Tx) au shield, sur les pin UART (5V, G, Rx et Tx) du côté inscrit "Arduino". Les switch bleus du shield étant bien sûr basculés sur OFF (sur 1 et 2). Et comme pour d'autres ici, le moniteur série affrichait une série de lignes étoilées qui me laissaient rêveur, dans les étoiles, sans information en retour de la part de l'ESP.
Depuis que j'ai relié l'Arduino Mega (3.3V, Gnd, pin 10 Rx et pin 11 Tx) au shield, respectivement sur les pin UART (3.3V, G, Tx0 et Rx0) du côté inscrit "ESP13" sur le shield, tout va bien. Je reçois correctement les infos de l'ESP.
Pour info :
Concernant d'autres causes potentielles de non communication (et donc d'absence d'affichage des réponses ou présence de caractères incompréhensibles entre les lignes étoilées), il me semble qu'on peut évoquer
Dionysos
jeu, 11/02/2017 - 18:25
Suite...
Finalement, j'ai pu embrocher le shield sur la Mega et simplifier les connexions :
Pin 10 (Rx) côté "Arduino" du shield -> pin Tx0 côté "ESP13" du shield
Pin 11 (Tx) côté "Arduino" du shield -> pin Rx0 côté "ESP13" du shield
C'est beaucoup plus simple. Ceci dit, la Mega possède plusieurs Rx et Tx, elle ne nécessite pas d'occuper inutilement les pins 10 et 11 ;)
Dionysos
jeu, 11/02/2017 - 02:35
Pour répondre à Domi94, j'ai utilisé en Bluetooth l'app Virtuino (actuellement seulement disponible pour Android) qui est d'une mise en oeuvre enfantine, une fois qu'on assimilé les subtilités des pins virtuels qui permettent de tout suivre : les valeurs des entrées sorties, digitales, analogiques ou des variables personnalisées en tous genres (mesures, états...) avec des widgets conviviaux et ultra-paramétrables.
Virtuino peut aussi se connecter en Wifi. J'espère que ce sera pour moi aussi aisé qu'en BT.
QUENTIN HUYS
lun, 01/22/2018 - 17:47
Bonjour tout le monde !
Merci pour ce tuto très bien fait !
Après avoir passé l'étape 1 avec succès ( tout a bien fonctionné) je suis coincé à la seconde étape où on doit définir les pins 10 et 11 RX et TX.
Pareil que pour d'autres la voie série m'indique :
**************** DEBUT DE L'INITIALISATION ***************
**********************************************************
**********************************************************
**********************************************************
**********************************************************
**********************************************************
**********************************************************
**********************************************************
***************** INITIALISATION TERMINEE ****************
J'ai alors essayé de changer les rx et tx: sans succes. Je ne comprend toujours pas pourquoi nous avons besoin d'une alimentation externe ? J'ai pourtant réussie à la première étape grace aux AT, de communiquer avec L'ESP-01 : se servir de L'ESP en serveur. J'arrive a recevoir des messages que j'envoi grâce a mobiltel.net sur ma voie série. Tout ma l'aire correct et tout fonctionne à pars le second programme
<incompréhension>
Merci de votre aide !!!
Gantfasia
mer, 05/16/2018 - 11:07
Bonjour,
Est ce que quelqu'un sais à quoi sert la broche CH_PD ?
merci d'avance
panter
lun, 06/25/2018 - 09:52
On the bottom (second row) you can find:
panter
lun, 06/25/2018 - 09:36
j'ai trouvé cela
panter
lun, 06/25/2018 - 09:37
ou en es tu de ton montage ?
panter
lun, 06/25/2018 - 01:35
Bjr
Tout est ok pour les connexions le prog a l'air de fonctionner je vois le SSID le prog boucle est ce normal ?
sinon et après comment peut on voir une utilisation concrète ? merci
kamal
jeu, 09/13/2018 - 03:46
BONJOUR,merci infiniment pour ce petit tuto qui a bien expliquer le fonctionnement de esp8266 mini sur UNO3, toute est bon, c'est vous permit de vous demendez un petit code pour le code que vous avez publier on a joutons une LED ou un RELAIS que on peut comander par 192.168.x.x/on1 pour allumer la LED et 192.168.x.x/off1 pour eteindre la LED. merci infifniment pour votre aide
christuf
sam, 02/16/2019 - 22:31
Bonsoir et merci beaucoup pour ces tutos géniaux !
Je n'arrive pas à avoir un retour sur des commandes AT :(
J'arrive juste à avoir ce message (@74880 baud) lorsque je fais un reset manuel de l'ESP.
=> est-ce que ça vous dit quelque chose ?
Merci d'avance,
ets Jan 8 2013,rst cause:2, boot mode:(3,6)
load 0x40100000, len 2408, room 16
tail 8
chksum 0xe5
load 0x3ffe8000, len 776, room 0
tail 8
chksum 0x84
load 0x3ffe8310, len 632o tail 8
chksum 0xc 8
ten
Spd z d O Il zM:b5B2 mo e 0
rf cal sector: 249
rf[112] : 00
rf[113] : 00
rf[114] : 01
SDK ver: 2.0.0(5a8aci u91::p r5pe1
Desquiens Gabriel
ven, 04/05/2019 - 11:36
bonjours désoler de vous déranger mais je n arrive pas a faire fonctionner l'esp8266 . je fait tou biens comme dans le tuto que ca soit les branchement ou les commande AT mais je n'arrive pas a faire la premier partie je voudrais bien comprendre pourquoi .
cordialement gabreil
Glaeyr
sam, 08/03/2019 - 14:31
Super article! Par contre j'ai l'impression que sur certains ESP les TX/RX sont inversés, et donc les deux cables sont a échanger.
J'ai aussi trouvé cet article sur le sujet https://www.atrakeur.com/blog/diy/wifi-avec-arduino-et-esp8266/
En gros on utilise le même montage que sur ta video pour flasher nodeMCU sur l'esp8266 et avoir toute la puissance du lua au lieu de se compliquer avec les commandes AT.
Anonyme
sam, 11/30/2019 - 09:07
Je ne comprends comment cela peut marcher, ces modules, pour être programmés doivent être mis sous tension avec la pin GPIO0 à la masse ce qui n'est pas dit ici donc j'ai un gros doute sur le fonctionnement suivant la vidéo !
Pour ceux qui ont eu le problème mettez un fil entre GPIO0 et le masse avant de mettre la carte Arduino sous tension puis retirez ce fil pour lancer le programmation !
beny3501
sam, 12/14/2019 - 17:08
Je viens de faire l'acquisition d'une ESP8266 et après de multiples essais ma carte est en 115200 et du coup j'essayais de la passer en 9600 mais a chaque fois j'obtenais "ERROR" avec la commande AT+CIOBAUD. Après reharche sur internet il faut dans certains cas remplacer la commande AT+CIOBAUD par AT+IPR
Ce qui donne dans l'init du programme : envoieAuESP8266("AT+IPR=9600");
3000
ven, 04/10/2020 - 19:11
bonjour je souhaiterai envoyé une commande get à mon serveur avec CPISEND. Mon site est en https://......fr
j'ai un retour : "the plain HTTP request was sent to HTTPS port" que puis faire ?
merci d'avance pour votre aide
Christophe M
ven, 04/24/2020 - 21:34
Bonjour a tous
Merci pour tous vos commentaires. Je suis parvenu a faire fonctionner arduino avec esp8266.
Je souhaite faire communiquer ensemble plusieurs arduino ensemble par wifi.
Qu elles sont les commandes at necessaires?
Merci
Gilles54
mer, 03/10/2021 - 22:59
Bonjour, je conseille à ceux dont les commandes AT ne fonctionne pas d'essayer ce tuto :
https://projetsdiy.fr/esp-01-esp8266-flasher-firmware-origine/
c'était mon cas j'avais installé un programme d'essai dans la ram de l'esp8266 du coup cela remplace la possibilité d'executer les commandes AT du sketch du présent tuto ...
On les réinstalle avec esp8266 flasher (le mode d'emploi est dans le tuto:projetsdiy.f)
Voilà j'espère que cela va aider certains d'entre vous. Pour moi cela a réglé tous mes problèmes...
A+
Pages