Premier post, j'essaye de bien faire, mais n’hésitez pas a me dire si je ne respecte pas la charte !
J'ai bien chercher sur le forum et je ne trouve pas de réponse a mon problème plutôt précis
Je cherche à connecter un module ESP8266 par l’intermédiaire d'un ESP-01 adapter a mon Arduino Mega 2560 afin de communiquer en Wifi , mais je n'y arrive pas, j'ai essayé plusieurs configuration mais ne comprends pas ce qui coince, les schémas trouvées sur internet sont très souvent différents, alors j'ai plusieurs questions pour les connaisseurs.
Premièrement, j'ai branché le ESP-01 adapter comme suit : VCC > 5V de l'Arduino Mega 2560, GND > GND, puis le RX sur le RX1(19) de l'Arduino Mega 2560, et le TX sur le TX1(18) de l'Arduino Mega 2560
Le câblage vous semble t'il correct ?
Car de mon coté aucunes réponse quand je tape "AT" dans le moniteur série.
Secondement, j'ai vu qu'il était question de flasher l'ESP8266, le problème viens peut-être de la ? mais a ce niveau j'avoue ne pas savoir ni comprendre comment faire.
déjà j'ai un petit programme de test a te proposer :
/*****************************************************
Sketch pour tester la connexion entre l'Arduino Uno et
le module ESP8622.
*****************************************************/
#include <SoftwareSerial.h>
static const byte EnablePin PROGMEM = 6; // ch_PD
static const byte ResetPin PROGMEM = 7; // reset
SoftwareSerial mySerial(10, 11); // RX = 10, TX = 11
void setup()
{
Serial.begin(9600);
// Serial1.begin(9600);
mySerial.begin(9600);
pinMode(EnablePin, OUTPUT);
pinMode(ResetPin, OUTPUT);
RebootSystem();
}
void loop()
{
while (mySerial.available()) {
Serial.write(mySerial.read()); // réponse de l'ESP8266 copié dans le moniteur série
}
while (Serial.available()) {
mySerial.write(Serial.read()); // vos instructions transmises à l'ESP8266
}
/*
while (Serial1.available()) {
Serial.write(Serial1.read()); // réponse de l'ESP8266 copié dans le moniteur série
}
while (Serial.available()) {
Serial1.write(Serial.read()); // vos instructions transmises à l'ESP8266
}
*/
}
void RebootSystem()
{
Serial.println("Boot...");
EnableESP();
ResetESP();
// testesp();
// connectWiFi();
// testping();
// if (WIFIok) { CompteurMeteo=50; CompteurNTP=20; CompteurAutoReset=300; }
}
void ResetESP()
{
Serial.println("Rst.ESP");
digitalWrite(ResetPin, LOW);
delay(200);
digitalWrite(ResetPin, HIGH);
delay(800);
}
void DisableESP()
{
digitalWrite(EnablePin, LOW);
Serial.println("ESP off");
}
void EnableESP()
{
digitalWrite(EnablePin, HIGH);
Serial.println("ESP on");
// Open serial communications and wait for port to open:
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
}
j'étais parti sur une uno mais cela ne change pas si tu est un une mega ou nano
mon programme de test active la carte ESP01 et permet de dialoguer en AT
par contre tu ne peut pas mettre directement la ESP01 sur une arduino à cause des tensions différentes
je te met en pièce jointe le schéma que j'ai utilisé pour une horloge avec modules d'affichage 8x8 sur un arduino mega, un ESP01, module RTC et capteur de lumière...
maintenant, c'est bien pour jouer et apprendre mais je te conseil d'aller directement vers l'ESP32 qui a tout d'intégré !
pour ce qui est du 'flash' du module ESP01
normalement, de base il doit répondre aux commandes AT
sinon il est possible de le programmer directement avec l'éditeur arduino, c'est le plus simple,
il y a bien des outils spécifiques pour le flasher mais je n'ai jamais testé cela ...
pour le programmer sur l'interface arduino il te faut juste un adaptateur sur port USB comme il s'en vend sur 'ali' et ajouter les cartes ESP8266 aux gestionnaire de cartes arduino
j'ai branché le ESP-01 adapter comme suit : VCC > 5V de l'Arduino Mega 2560, GND > GND, puis le RX sur le RX1(19) de l'Arduino Mega 2560, et le TX sur le TX1(18) de l'Arduino Mega 2560
Le câblage vous semble t'il correct ?
Non; Il faut 'croiser les Rx et les Tx : la sortie TX de l'un doit aller vers l'entrée Rx de l'autre
Car de mon coté aucunes réponse quand je tape "AT" dans le moniteur série.
sans croisement pas d'échange de données*,* l'ESP8286 ne reçoit rien et s'il disait qq chose l'Arduino le recevrait pas
Pour le reste il serait préférable de donner un lien vers l'adaptateur utilisé pour voir s'il gère correctement l'alimentation de l'ESP8266 , les adaptations de niveaux 5V/3,3V pour les GPIOs....
Flasher ou Pas ? Seulement si c'est nécessaire parce que le firmware en place ne conviendrait pas.
Oui c'est pour apprendre, je verrai avec un ESP32 dès que je pourrais !
Pour la prise en charge de la tension de l'Arduino je pensait que mon ESP-01 adapter était la pour ça, je me trompe ?
Du coup, j'ai croisé le RX et le TX comme conseillé, j'ai chargé le programme que Stef96 m'a donné, l'ai adapté au pin de mon Arduino au niveau du RX/TX (18/19), et le retour dans le moniteur série est le suivant :
Boot...
ESP On
Rst.ESP
Il y a un changement mon ESP8266 est allumé fixe rouge comme d'habitude mais une nouvelle LED bleu s'allume, je pense que ça viens de ton programme si je le comprends bien mais lorsque j'envoie une commande AT, elle ne renvoie toujours aucunes réponses.
Salut
Si personne ne répond plus c'est que toutes les infos ont été données, en particulier le tuto conseillé par al1fch.
Tu ne dis même pas si tu l'as lu, compris, ni si tu as vérifié la présence d'un firmware AT.
Oui c'est pour apprendre, je verrai avec un ESP32 dès que je pourrais !
Si ta demande ne concerne pas un projet précis, il n'y a pas d'urgence.
D'autre part à quoi bon se familiariser avec ce genre de technologie complètement dépassée ?
Personnellement je te conseillerais de passer directement à l'ESP32.