Arduino Uno + ESP8266: pas de retour après un Serial.begin

Bonjour,

Récent acquerreur d'un ESP8266, je souhaite envoyer mes "précieuses" informations sur le web.
Apres avoir parcouru de nombreux tutos, j'en suis arrivé au branchement simple suivante:
Arduino - ESP8266
RX - RX
TX - TX
GND - GND
3.3v - CH_PD
3.3v - +3V

Lorsque j'upload un sketch vide dans l'arduino et que j'ouvre le moniteur série, j'ai configuré le tout pour discuter en 9600 bds, cela fonctionne: si j'envoie la commande AT, il me répond OK. Idem pour le reste des commandes (détection des réseaux wifi,...)

Maintenant, si je téléverse un programme qui me permet d'automatiser cette tache, je ne recois pas de réponse.
Exemple de sketch:

void setup(){
  Serial.begin(9600);
 
  // Test ESP8266 module.
  Serial.println("AT");
  delay(5000);
  if(Serial.find("OK"))
  {
    connectWiFi();
  }
   else
   {
    Serial.println("Can't connect");
   } 
}

Ce programme me renvoie irrémédiablement sous mon moniteur série: "Can't connect".

Informations supplémentaires:

  • Je peux saisir n'importe quelle commande apres Serial.begin(9600), aucune information n'est retournée
  • Un AT+GMR me donne la version suivante:
    AT version:0.25.0.0(Jun 5 2015 16:27:16)
    SDK version:1.1.1
    Ai-Thinker Technology Co. Ltd.
    Jun 23 2015 23:23:50

Je n'arrive pas à comprendre la différence de comportement entre la saisie manuelle dans le moniteur série, et l'utilisation de la commande Serial.

Je suis preneur de toute information complémentaire ou de tuto fonctionnel concernant l'utilisation, le flashage ou la configuration de cette petite merveille.

Merci d'avance :slight_smile:

Kubi:
Je suis preneur de toute information complémentaire ou de tuto fonctionnel concernant l’utilisation, le flashage ou la configuration de cette petite merveille.

Merci d’avance :slight_smile:

bonjour
avec un sketch vide tu evacue le MCU pour simplement utiliser la connection directe avec le compo usb/uart
lorsque tu souhaite utiliser le MCU il faut inverser les connections sur les pin RX/TX (0 et 1 pour un uno)

et donc si tu veux utiliser ton arduino “entre les deux” il te faut declarer 2 uart

#include <SoftwareSerial.h>
//
SoftwareSerial BTSerial(2, 3); // RX | TX
// RX arduino <--- TX cible
// TX arduino ---> RX cible


void setup()

{
  Serial.begin(9600); // vitesse serial monitor

  BTSerial.begin(9600);  // vitesse software serial NB ne pas depasser 57600
}

void loop()
{


  if (BTSerial.available()) Serial.write(BTSerial.read());


  if (Serial.available()) BTSerial.write(Serial.read());
}

NB au passage , utiliser l’IDE arduino avec les esp8266 est tres simple , pas besoin d’arduino

Merci Artouste, je teste cela dès ce soir et te fais un retour dans la foulée.
Car dans mes essais infructueux, je crois déjà avoir tenté d'inverser les RX/TX sans succés...

En esperant que la clé soit dans le bout de code que tu as posté!!!