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);   
}

Fichier attaché: 

Commentaires

Portrait de EasyC

Grand merci à toi. ca marche bien avec Arduino R3. si c'est pas le cas chez quelqu'un inerser les bornes RX et TX

Portrait de inflamers

Bonjour, la commande AT+RST ne renvoie rien, pourtant je vois un réseau AI_THINKER depuis mon ordinateur. Une idée ? Je pense avoir fait le cablage correctement.

 

 

Portrait de inflamers

La commande fonctionne finalement, j'ai du mettre 115200 baud (à quoi ça sert ? je ne sais pas). Mais la commande AT+CWJAP me renvoie un "ERROR"

Portrait de inflamers

Je me demande si cette solution fonctionne réellement sans alimentation externe. Le pin 3.3V du Uno fournit 50mA, les datasheets que j'ai trouvé sur le net indiquent que l'ESP réclame jusqu'à 215mA pour être connecté. En gros, j'ai l'impression que tout fonctionne jusqu'au moment où je me connecte à un point d'accès, l'ampérage dispo étant trop faible, ça se coupe tout seul. Personne n'a le problème ?

Portrait de inflamers

Ok, ça fonctionne, j'ai bizzarement juste tapé le CWJAP à la main, sans faire copié-collé et ça fonctionne. Peut-être un formatage bizzare je sais pas...

Portrait de inflamers

Quelles sont les fonctions pour retourner l'adresse IP par exemple ?

Portrait de Guispeedd4262

Bonjour,

J'ai bien suivi le tuto mais je n'ai aucun retour d'information de la carte ESP8266.

Ci-dessous le resultat avec le code, car en manuel, je n'ai aucun retour.



**********************************************************

**************** DEBUT DE L'INITIALISATION ***************

**********************************************************

**********************************************************

**********************************************************

**********************************************************

**********************************************************

**********************************************************

**********************************************************

***************** INITIALISATION TERMINEE ****************

**********************************************************

Cependant, la led bleu clignote à l'execution du code.

As-tu une idée ?

D'avance Merci

Portrait de AMINE BOUYAHYA

salut tout le monde :)
qq1 peut m'expliquer le fait de bsculer entre les 2 schema j'ai rien compris là que dois je faire ?? quel schema je dois suivre ??

Portrait de cyril

Salut, bien que mon module ne fonctionne pas encore chez moi , tu dois suivre en premier le 1er schema et dans ce cas on se sert de l'arduino comme convertisseur RS232 vers TTL. Le terminal serie permet d'envoyer les commandes AT et le module wifi doit répondre, si c'est pas le cas c'est pas la peine d'aller plus loin!

Petit détail: suivant la date d'achat du module wifile baudrate n'est pas forcement de 9600 mais peut etre 115200 ou 57600.

 

Portrait de cyril

Je viens de lire pas mal de choses au sujet de ce module et il semblerais que les pin RX et TX ne supporte que du 3.3v hors l'arduino est aliimenté en 5v donc le module risquerais d'être détruit. Il semble qu'il soit necessaire de faire un pont diviseur avec 2 resistances sur la pin TX de l'arduino pour qu'il envoit du 3.3v environs sur le module wifi.

Portrait de Alex

C'est une bonne remarque et effectivement, pour faire ça dans les règles il faudrait utiliser deux buffers.

Un buffer 3.3V vers 5V et un buffer 5V vers 3.3V. Un pont diviseur ça convient mais c'est pas terrible.

En tout cas, tu peux utiliser du 5V. L'ESP8266 "encaisse" sans problème.

Portrait de Sylvaingamblin

Bonsoir,

je cherche un peu d'aide pour réceptionner des données venant d'un esp8266.

Concrètement, j'ai un esp8266 avec un LM35 qui relève la T°.

Je souhaiterai q'un autre esp8266 avec un relais de connecté puisse s'ouvrir ou se fermer selon la T° reçu.

Avez vous des infos à m'apporter.

Je bloque juste aux transfert de données.

merci pour votre aide

Portrait de cyril

Suite a mes autres messages je précise qu'il faut utiliser du 3.3v provenant d'une autre source que l'arduino sinon le module risque de bugger ou pas du tout démarrer!

Portrait de cyril

Encore un petit détail pour ceux qui ont comme moi un module qui dialogue à 115200 Bauds, c'est pas la peine d'essayer le scripte de config automatique même en modifiant le débit car il me semble que le softserial dépassera pas les 19200bauds!

Donc avant faut envoyer cette commande à chaque redemarrage du module en chargant un prog comme blink qui n'utilisera pas le port serie et en reliant TX et RX sur les pinS 1 et 2 de l'arduino, puis envoyer ceci depuis la console serie réglé sur 115200bauds:

AT+CIOBAUD=9600

Ensuite charger le programme d'exemple et modifier les pins RX et TX en les mettant sur Les pins 10 et 11 de l'arduino.

Transferer le programme puis ça devrais être ok, comme dans la vidéo.

J'ai obtenu ceci:

 

**************** DEBUT DE L'INITIALISATION ***************
**********************************************************
**********************************************************
AT+CWMODE=3

OK
**********************************************************
AT+CWJAP="freebox_EGOOJV","monpasse"

WIFI DISCONNECT
**********************************************************
AT+CIFSR

busy p...
**********************************************************
AT+CIPMUX=1

busy p...
**********************************************************
AT+CIPSERVER=1,80

busy p...
**********************************************************
***************** INITIALISATION TERMINEE ****************
**********************************************************

+CWJAP:1

FAIL

La je suis trop loin de ma box pour pouvoir me connecter

 

Portrait de cyril

Bon finnallement y'a moyende faire plus simple si votre module fonctionne à 115200 Bauds:

Suffit d'envoyer la commande AT+CIOBAUD=9600 avant ont ouvre la connection serie a 115200 bauds ont repace ensuite a 9600Bauds par contre il faut enlever la commande AT+RST sinon le module redemarre à 115200 bauds, ce qui n'est pas le but. Soft serial fonctionne donc parfaitement avec un débit de 115200bauds contrairement à ce que j'avais  inscrit avant.

Le code mdifié:

    #include <SoftwareSerial.h>

    SoftwareSerial ESP8266(10, 11);

    String NomduReseauWifi = "freebox_EGOOJV"; // Garder les guillements
    String MotDePasse      = "mot de passe"; // Garder les guillements

    /****************************************************************/
    /*                             INIT                             */
    /****************************************************************/
    void setup()
    {
      Serial.begin(9600);
      
      ESP8266.begin(115200);
      envoieAuESP8266("AT+CIOBAUD=9600");
      recoitDuESP8266(4000);
 
      
      ESP8266.begin(9600);  
      while(1){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");
      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);   
    }

 

 

Portrait de Dennissking

merci a toi cyril, ca fonctionne avec ton code modifié.Avant j'avais moi ausssi toute sorte de simboles bizard,mais avec ton code ,plus de charabia. je sais pas si t'ai encore la vu que le poste est de 2015 mais en tout cas MERCI :-)

Portrait de Dennissking

merci a toi cyril, ca fonctionne avec ton code modifié.Avant j'avais moi ausssi toute sorte de simboles bizard,mais avec ton code ,plus de charabia. je sais pas si t'ai encore la vu que le poste est de 2015 mais en tout cas MERCI :-)

Portrait de yassine abbajeddi

Bonjour

j'ai besoin de fichier .aia de l'application android si possible  et mercis à plus

Portrait de salome

Bonjour,

J'ai suivi le tuto mais je n'ai aucun retour de la carte ESP8266:


**********************************************************


**************** DEBUT DE L'INITIALISATION ***************


**********************************************************


**********************************************************


**********************************************************


**********************************************************


**********************************************************


**********************************************************


**********************************************************


***************** INITIALISATION TERMINEE ****************


**********************************************************

Je ne comprend pas d'où vient le problème.

Quelqu'un pourrait m'aider ?

Portrait de Alex

As-tu essayé de décroiser la liaison série?

Dans tous les cas, je te recommande le dernier tuto sur l'ESP8266 avec le Node MCU.

Portrait de salome

J'ai essayé en décroisant la liaison série et il ne se passe toujours rien.

Je viens donc de commander un FTDI, en espérant que cette soluction fonctionne.

Merci ! 

Portrait de Alex

Ca ne devrait rien changer honnêtement.

Commandes une deuxième puce pour comparer.

Portrait de braoutch

Hello, vidéo très claire ! Une seule remarque, que se passe-t-il en cas de coupure, y a-t-il un moyen de récupérer une information de déconnexion afin de tenter immédiatement de se reconnecter?

Portrait de bensofus

salut tout le monde.

 

comme plusieurs d'entre vous, je n'ai aucune reponse de mon module esp8266. j'ai essayé avec le 1er tuto c-a-d en utilisant les entres 1 et 2 pour rx et tx , le tuto 2 avec les entres 10 et 11 de ma carte uno, g essayé avec 9600 et 115000 pour la console série, a chaque fois j'ai croisé et décroisé. mais toujours, aucune reception serie. juste une led rouge sur l'ESP, et un clignotement RX sur larduino uno quand j'envoi de la console serie. mais pas encore eu le plaisir d'un TX. 

je suis tunisien, et donc l'aquisition d'un  autre ESP n'est envisagable que lors de mon prochain voyage.

toute idée sera la bienvenue.

merci de votre aide

 

Portrait de titimal

branche ton ESP sur une alimentation 3.3v externe et relis le ground de ton arduino sur le ground de l'alim externe. branche simplement le tx/rx de ton ESP sur le rx/tx de ton arduino.
branche aussi un cable sur le pin RST(reset) de ton ESP mais sans le relier de l'autre coté.
change le baudrate de ton esp et passe le en 9600.

une fois le baudrate de l'esp changé, mets un programme de base sur ton arduino genre blink et ouvre le serial monitor pour ecouter ce que l'ESP te dit(pense à changer le baudrate à 9600 dans le monitor).branche et debranche maintenant le cable relié au RST de l'ESP sur le ground pour rebooter l'ESP et regarde le monitor. si rien ne s'affiche, regarde si les TX/RX sont ok et change les si besoin. si y a des symboles bizares c'est que le baudrate est pas bon(soit sur le serial soit paramétré sur l'ESP). mais si tout est ok tu devrais voir un truc du style "ready" 
tente ensuite d'ecrire AT puis cliques sur le bouton "SEND". si la reponse est OK et que l'ESP n'a pas l'air de rebooter tout seul c'est que c'est ok. tu peux aussi tenter d'autres commandes pour essayer de te connecter a ton reseau wifi

Portrait de Brohty

Bonjour

j'ai les mêmes problèmes que vous pour dialoguer entre l'ESP8266 et mon arduino Uno. J'ai mis une alimentation externe en 3,3 Volts pour l'ESP sa LED rouge s'allume. Quand je tape la commande "AT" dans la moniteur la LED bleue s'allume ainsi que la Led TX de l'arduino. Cependant je n'ai aucune réponse en provenance de l'ESP. Je précise qu'avec un pont diviseur ou non sur le TX de l'arduino je n'ai toujours pas de réponse.

j'aimerais savoir comment changer la valeur du baudrate de l'ESP ( "change le baudrate de ton esp et passe le en 9600." Par un programme ou en par le moniteur?

merci d'avance

Portrait de titimal

Bonjour !

si tu tapes la commande AT et que tu vois bien un signal coté Arduino et ESP8266 c'est qu'il y a bien communication(peut etre que dans un sens).

Il me semble que l'arduino(contrairement à un FTDI) ne communique pas en 115200. par conséquent, tu devrais changer le baudrate(comme tu l'envisages). la commande AT pour cela est AT+CIOBAUD=9600(tu pourras l'augmenter plus tard, en restant dans la limite du baudrate max de ton arduino mais plus c'est lent, moins il y aura d'erreurs)

donc normalement,vu que la communication à l'air de passer dans un sens, essaye cette commande puis essaye ensuite les commandes AT. une fois le baudrate changé pense aussi à le changer dans le serial monitor ou tu verras plein de symbols...

Portrait de titimal

Salut à tous,

nouveau sur ce site, je voulais vous partager les problèmes que j'ai rencontré avec l'ESP8266. j'ai acheté 5 de ces modules sur un site chinois, en me basant sur les critiques assez positives. Le but etant de le brancher sur un arduino pro mini 5v

1ere étape : je branche le module comme il faut en suivant la datasheet, je mets un regulateur (5v=>3.3v), des condensateurs pour avoir une tension bien stable,
Tout est OK, petite diode rouge.

2eme etape : je créé un petit sketch arduino comme indiqué ici. là ca deconne. en effet après vérification le baudrate de mon esp doit etre 115200 pour dialoguer avec lui.j'essaye de nouveau et ca ne fonctionne toujours pas.je me dis qu'avant de tenter un sketch il faut tester directement via le FTDI sans passer par l'arduino et envoyer les commandes AT directement.

3eme étape : je branche l'ESP sur le ftdi en mettant le jumper sur 3.3v(ca m'evite donc de passer par un régulateur)le TX/RX vers le RX/TX du FTDI, le VCC, le ground ok et je relance le tout. en passant par le serial monitor de l'ide arduino sur le baudrate 115200. je vois l'ESP ai-thinker ready, je me dis cool ca marche...et hop ca reboot continuellement, de maniere cahotique...visiblement problème de tension...je passe donc par une alimentation externe en 3.3v, je relis donc juste le TX/RX du ftdi à l'ESP et le reste sur le + et - de l'alim externe. je relis aussi le ground du ftdi au ground de l'alim externe.
ca reboot encore...à tout hazard, je vire mes cables male/male femelle/femme par des cables male/femelle et là ho miracle ca fonctionne, plus de reboot.

4eme etape : je relis tout de nouveau à l'arduino, en utilisant encore une alim externe pour l'ESP et je relance. ca à l'air de rouler mais pas encore nickel. apparement mon arduino pro mini supporte mal de communiquer en 115200, de modifie donc le baudrate du ESP en mettant 9600 et en modifiant donc le sketch en consequence et là tout fonctionne nickel !

en résume :

- utiliser une alimentation externe 3.3v dédiée à l'ESP(ne pas utiliser celle de l'arduino)
- utiliser des cables de qualité si possible male/femme pour éviter les risques d'instabilité
- modifier le baudrate de l'ESP s'il est en 115200. le passer à 9600
- le brancher en direct sur le ftdi pour tester les commandes AT via le serial monitor de l'IDE Arduino
- si l'ESP reboot c'est qu'il y a probablement un probleme d'instabilité dans l'alimentation ou que le firmware est foireux(differents outils existent pour flasher l'ESP avec un firmware AT)

Portrait de DanMarion

La connexion automatique fonctionne super bien. Toutefois, lorsque je suis le déroulement du programme avec Serial Monitor, je ne vois que des caractères bizarres défiler..

**********************************************************
**************** DEBUT DE L'INITIALISATION ***************
**********************************************************
AZ%­)U¨H¨HèjµDì•I0BH£CÊʪÔ(¥Hü
 ets Jan  8 3013,rst catse:2, boot lode:(3,7)

load 0x40100000, ldn 1396, rool 16
tail 4
chksum 0x89
load 0x3ffd8000, len 776, otail 4
x,4tail 2 Sz sij1ŒÕ(j5�!
-�2%1…

j
äsl�Ø£
Ai-Thinkes Technology Co. Ltd.
invalid
**********************************************************
AR)ƒWSŠTZšj
C¡j­HøWIFI CONNDCTED
WIFI GOT IP
**********************************************************
**********************************************************
AR)ƒIGSR
¥¨RÔ*)§P•
…ÉÒÊ’r‹²Âr¢r…m
¥¤ÊÔ*%
AMAC,#1a:fe:34:db;05:c:1"
**********************************************************
AR+CIPSUÕŠj
OKCø**********************************************************
@T¥¨R5RkF¦=L ‚j
OK
**********************************************************
***************** INITIALISATION TERMINEE ****************
**********************************************************
Vous avez une idée de la cause de ce charabia?
Merci
Portrait de titimal

salut !

alors ca, c'est spécial. autant des communications avec des symbols partout j'en ai vu mais là, ca ressemble à rien. au niveau de résultat, tout semble OK, donc je dirai que coté ESP, y a pas de pb. je pense plutot que c'est au niveau de ton FTDI que la lecture de ce que dit l'ESP est plutot bancale. si jamais les symboles ne sont jamais au meme endroit, c'est qu'un truc interfere dans la communication entre les deux. change à tt hasard les fils TX/RX RX/TX

Portrait de DanMarion

Bonjour, Merci pour la réponse. Je n'ai pas le FTDI. Je me suis branché sur le Uno directement. J'ai aussi essayé avec les fils inversés, sans succès. Il se peut que ce soit avec mon ordi configuré avec Windows 10. Le jeu de caractères peut y être pour quelque chose. Je vais essayer avec un ordi Windows 7. Merci encore.

Portrait de Alex

Je doute sincèrement que ça vienne de l'OS mais c'est possible que la puisse soit défectueuse ou qu'elle est subie une surtension.

Portrait de Philippec66

J'utilise un Adafruit HUZZAH ESP8266 Breakout, je n'arrive pas à dialoguer en commande AT, il fonctionne bien avec les commandes Lua,

comment faire pour l'utiliser avec un Arduino UNO selon ce tuto?

Merci de votre aide

ok j'ai vu les autres vidéos!(10/02/2016)

Portrait de DanMarion

Je crois que mon problème de charabia venait du fait que j'avais fait un copier-coller du sketch. En recopiant à la main les commandes, j'ai un meilleur résulta. Cela m'apprendra à être paresseux... :-)

Portrait de DanMarion

J'ai une application sur le iPad qui veut communiquer par wifi. Pour établir la connexion, on me demande le nom du serveur (ok - j'ai configuré le ESP8266 en mode serveur), l'adresse IP (ok - pas de problème) et le port. Alors, là... je bogue. Pouvez-vous m'indiquer comment trouver ce numéro de port?

Merci

Portrait de mataf_breton

Bonjour

je prends le train en retard ;peux-on faire la meme chose avec ESP8266 13 merci de votre aide

Portrait de Bribri Najet

Bonsoir;

Sil vous plaît j'ai 2 questions conçernant le chapitre installation du module Wifi ESP8266:

1/J'ai pas compris comment se fait la connexion entre carte arduino et pc .

2/La programmation arduino est ce que ça marche toujours ? ne change rien ?

Et on vous remercie d'avance .

Portrait de Jean

Bonjour.

Dans "server.rar" il y a une petite erreur, heureusement facile à repérer lors de la compilation :

recoitDuESP8266(10000);  est devenu recoitDuESP8266(10 000);

Merci pour tout ce partage ... de qualité.

Portrait de galoupios

Bonjour,

Connection établie !

Grâce à ce post et à tout les commentaires.

J'espère qu'il y aura une suite pour Arduino car je ne suis pas très chaud pour flasher le NodeMCU et me mettre au LUA 

Merci encore

Portrait de Ariane98

Bonjour à tous

un grand merci à Alex pour ses tutos qui m'ont dépannée plus d'une fois...

Je poste en désespoir de cause, j'espère trouver ici le gourou qui saura me sortir de l'impasse

J'ai un Arduino Uno auxquel sont branchés un esp8266 et un capteur de distance (ultrason). Grâce à l'ESP, j'envoie toutes les 15 secondes la distance mesurée par le capteur sur une chaine thingspeak.
Tout allait très bien et puis...ça ne marche plus (alors que je n'ai rien changé). Plus précisément

- tout va bien quand mon ESP se connecte via ma box (SFR)
- mais quand j'utilise mon smartphone comme passerelle ça ne marche plus

Informations supplémentaires

- la mise à jour des données thingspeak fonctionne via le navigateur du PC (connecté à internet via le smartphone)
- quand je tente d'utiliser l'ESP avec les commandes AT :

AT+CIPSTART="TCP","api.thingspeak.com",80
AT+CIPSEND=58 (longueur de la chaine+2)
j'obtiens bien le curseur >, donc j'envoie GET /update?api_key=*******&field1=20&field2=50
et je reçois Recv 58 bytes CLOSED SEND FAIL ou SEND OK CLOSED et les données n'apparaissent pas sur la chaine

Lors d'une mise à jour réussie (via la box) la réponse est de type
Recv 58 bytes SEND OK +IPD,4:1246CLOSED
(ce qui veut dire que la donnée est prise en compte, c'est le 1246e point de la courbe)

En résumé :

l'ESP fonctionne (via la box)
la passerelle smartphone fonctionne (via le navigateur)
ESP + smartphone connecte à thingspeak mais la mise à jour de la chaine échoue

si quelqu'un avait une idée ?!!

Portrait de MadeInFck

Bonjour,

j'ai eu le même problème. Je pense que cela vient d'une saturation de la chaîne Thingspeak. Il doit y avoir un nombre de points d'enregistrement max même si je n'ai pas trouvé la réponse. En supprimant les données, mon système a refonctionné.

Portrait de khaoula

salut, merci pour vos vidéos , j'attend la vidéo sur l'application android et l'esp, merci 

Portrait de jeanduez

Je ne reçois aucune réponse de la carte  (encore un) mais parmi ceux qui ont posé la question, je n'ai pas vu de réponse.

**********************************************************

**************** DEBUT DE L'INITIALISATION ***************

**********************************************************

**********************************************************

**********************************************************

**********************************************************

**********************************************************

**********************************************************

**********************************************************

***************** INITIALISATION TERMINEE ****************

**********************************************************

Est-ce que quelqu'un a trouvé la raison de ce problème ?

Portrait de jeanduez

En donnant une alimentation séparée à l'ESP et à l'Arduino, j'obtiens une réponse mais c'est du gibberish:

**********************************************************
**************** DEBUT DE L'INITIALISATION ***************
**********************************************************
AZ%¥*U¨H¨Hèj•Dü\]%®U¸X¨Øê{ªìøÜ}5®ÿÕÿ¬ýùï«ÿüÞ_ÍíÝÿþýýÿ«ÿýÿÝÿ¯ÿþýÿµýwÿÿþýµý÷ÿÿÿý½ÿÿÿÿÿÿÿÿÿýýýýýýýýýÿÿÿ
 ets Jan  8 2003,rst cause;2, boot modd:(3,0)

load 0x40100000,1tail 4
chkstm 0x89
o7tail 4
chmfotail 8sv 4 Sa2eón't use rtc mem data
sl��oÌÿ
@i-Thinker Tdchnology Co/,Ltd.

ready
v
ERROR
ÅimThinoeò Tecènoìo^H¨Ë‰‰Š‘¹5)þ
ERROR
reùýþÏë-¬ÿ©¿kïoÿµïý»ÿ½ÿyÿ¿ý½ëý½ÿ½ûÿý¿ÿ½ÿïýÿ½ÿÿ½ýþ¿ÿÿýï½ýÿ¿ÿÿïÿÿ**********************************************************
AT+CWMŠTZšj
OKCøÿíÿ**********************************************************
AR)ƒWEPÕ)10ÕÂ’qåš�Å­¡j
îûÏŸýïÿïï3;þýÿÿý¿ÿÒÍÝîïÍÿÊʪÔø¦¨OÿEU5
busy p...
busy p...
busy p...
WIFIðýÿWIFI GOT IÐÿÕ
busy p...ü
Èÿ
OK
**********************************************************
AZ¥¨RÔ*¥¨$t%F*%
AIH.#192.Lr¡qŠj
¥¨RÔ*%
�5A(Iª*é™éº2éÂ骊Қ‰j
+CP c
ÿÿ**********************************************************
AR¥¨RÕªÕŠj Cèj•Hø{**********************************************************
AZ¥¨R5VIeIy1&<0
Cèj•Düÿ×ü**********************************************************
***************** INITIALISATION TERMINEE ****************
**********************************************************

 

Portrait de Misterarduino

Bonjour à tous,

Je dispose d'une carte Arduino Mega 2560 et d'un ESP8266 que j'ai acheté récemment. J'ai suivi la vidéo ci-dessus mais lors de la saisie de la commande AT+RST, celle-ci ne retourne rien. Je suis certain d'avoir fait le bon câblage et d'avoir appuyé sur le RESET de ma carte. Aidez-moi s'il vous plaît !!!

Portrait de L&#039;ami René

Bonjour,

Cela fait quelques mois que je suis ce site avec une grande joins d'écouter et de lire en français des contenus pertinents et de qualité ! Un très Grand Merci à Alexandre Pailhoux (alias : U꞊RI) pour son énorme travail !

Pour ajouter une minuscule pierre à son édifice, pour blink.ino si vous avez une carte Node MCU V3 ESP-12E avec puce WiFi ESP8266 et UART CP2101, l'équivalant de la DEL de la broche 13 d'une Arduino Uno est la broche 2 sur le ESP-12E.

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the Uno and
  Leonardo, it is attached to digital pin DEL_BROCHE. If you're unsure what
  pin the on-board LED is connected to on your Arduino model, check
  the documentation at http://www.arduino.cc

  This example code is in the public domain.

  modified 8 May 2014
  by Scott Fitzgerald
 */

const byte DEL_BROCHE = 2;

// the setup function runs once when you press reset or power the board
void setup ()
{
  // initialize digital pin DEL_BROCHE as an output.
  pinMode(DEL_BROCHE, OUTPUT);// Ma trouvaille microscopique
  pinMode(LED_BUILTIN, OUTPUT);// C'est une constante de la bibliothèque ESP8266.
}

// the loop function runs over and over again forever
void loop ()
{
  digitalWrite (LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
  digitalWrite (DEL_BROCHE, HIGH);// turn the LED on (HIGH is the voltage level)
  delay (1000);                   // wait for a second
  digitalWrite (LED_BUILTIN, HIGH);// turn the LED on (HIGH is the voltage level)
  digitalWrite (DEL_BROCHE, LOW); // turn the LED off by making the voltage LOW
  delay (1000);                   // wait for a second
}

Je suis sous Linux Kubunt 16.04 64 bits, avec l'IDE Arduino Nightly 1.6.11 avec une carte Node MCU V3 ESP-12E et je rencontre le bogue suivant à la compilation du code d'initialisation proposé par Alexandre :

#include <SoftwareSerial.h>
/****************************************************************/
SoftwareSerial ESP8266 (22, 21);
/****************************************************************/
String NomduReseauWifi = ...

...

<command-line>:0:9: error: expected unqualified-id before numeric constant
/home/rene/sda6/Électroniques/MesProjets2016/Projet-44-ArduinoWiFi_ESP-12E/ArduinoWiFi_ESP12E/ArduinoWiFi_ESP12E.ino:11:16: note: in expansion of macro 'ESP8266'
 SoftwareSerial ESP8266 (22, 21);
                ^
/home/rene/sda6/Électroniques/MesProjets2016/Projet-44-ArduinoWiFi_ESP-12E/ArduinoWiFi_ESP12E/ArduinoWiFi_ESP12E.ino: In function 'void recoitDuESP8266(int)':
ArduinoWiFi_ESP12E:26: error: request for member 'available' in '1', which is of non-class type 'int'
     while(ESP8266.available())
                   ^
ArduinoWiFi_ESP12E:28: error: request for member 'read' in '1', which is of non-class type 'int'
       char c = ESP8266.read();
                        ^
/home/rene/sda6/Électroniques/MesProjets2016/Projet-44-ArduinoWiFi_ESP-12E/ArduinoWiFi_ESP12E/ArduinoWiFi_ESP12E.ino: In function 'void envoieAuESP8266(String)':
ArduinoWiFi_ESP12E:41: error: request for member 'println' in '1', which is of non-class type 'int'
   ESP8266.println(commande);
           ^
/home/rene/sda6/Électroniques/MesProjets2016/Projet-44-ArduinoWiFi_ESP-12E/ArduinoWiFi_ESP12E/ArduinoWiFi_ESP12E.ino: In function 'void setup()':
ArduinoWiFi_ESP12E:83: error: request for member 'begin' in '1', which is of non-class type 'int'
   ESP8266.begin(9600);  
           ^
/home/rene/sda6/Électroniques/MesProjets2016/Projet-44-ArduinoWiFi_ESP-12E/ArduinoWiFi_ESP12E/ArduinoWiFi_ESP12E.ino: In function 'void loop()':
ArduinoWiFi_ESP12E:93: error: request for member 'available' in '1', which is of non-class type 'int'
    while(ESP8266.available())
                  ^
ArduinoWiFi_ESP12E:95: error: request for member 'readString' in '1', which is of non-class type 'int'
      Serial.println(ESP8266.readString());
                             ^
exit status 1
request for member 'available' in '1', which is of non-class type 'int'

J'ai dû repositionner les différentes fonctions du code source par ordre inversé d'appel, dû au nouvel IDE d'Arduino, mais je ne comprends pas cette erreur, car si je choisis la carte Yun au lieu de NodeMCU 1.0 (ESP-12E Module), il n'y a pas ce bogue !

Vous auriez une solution, une piste ?

Mersi d'avance !

L'ami René

P.S. Je suis unilingue francophone (Québec, Canada) ;-) !

Portrait de Arduigrove

Bonjour à tous,

déjà merci pour ce site que j'ai découvert aujourd'hui en cherchant à connecter un ESP sur mon arduino. Cette vidéo est vraiment très bien faite, et j'ai survolé les autres du site, je crois que je vais me réserver un peu de temps ;-)

Bon, sinon je laisse juste ce petit commentaire qui peut éviter à certains de passer 4 heures comme moi à chercher la solution...

Pour les EPS-07 (http://www.banggood.com/ESP8266-ESP-07-Remote-Serial-Port-WIFI-Transceiver-Wireless-Module-p-961247.html) et peut être d'autres, il faut brancher le GPIO15 à GND, sinon on n'a aucun retour à la commande AT. (et dans mon cas, les BAUD à 115200 mais bon, ça ça a l'air d'être variable).

C'est tout bête mais je viens d'y passer ma matinée et je commençais sérieusement à penser que ma carte était endommagée...

Bonne journée à tous

Portrait de beboxes

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

Portrait de Georges

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

Portrait de Dennissking

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.

Pages