Go Down

Topic: ESP8266 avec arduino (Read 4197 times) previous topic - next topic

Flooow

Bonjour,

J'utilise un module ESP8266 ESP01 acheté sur Amazon et j'ai un problème.

Si je le connecte avec un cable directement sur l'USB du pc, j'envoi "AT", il me répond OK.

Mais si je connecte le RX/TX sur la liaison hardware de l'arduino RX/TX, aucune réponse.

J'ai bien pris attention à adapter les niveaux logique avec un composant spécial (https://www.sparkfun.com/products/12009)

J'ai une alimentation par USB avec un régulateur en 5V vers 3.3V

J'ai aussi connecté la patte CH_PD sur le 3.3v avant de mettre l'alimentation.

Le schéma du câblage (Vous m'excuserez du schéma je l'ai fait très rapidement):




Des idées ?

Merci.

Cordialement,
Flooow

Flooow

J'ai exactement ça, sauf la résistance de 470Ohms, mais le pire étant que cela fonctionne en liaison série directe, mais plus en passant par l'arduino ...

Flooow

En utilisant une liaison SoftwareSerial ?

Flooow

Ce qui me surprend c'est que même sans l'interface qui adapte les niveaux logique, ca ne fonctionne pas, si par exemple je branche juste l'alimentation, RX/TX et le CH_PD, ca ne fonctionne pas du tout (pas de réponse au AT)

Alors je doute qu'en utilisant une liaison SoftwareSerial, cela va corriger le problème

Flooow

J'ai juste mis un pont diviseur en sortie avant de le connecter

Flooow

Ce que je souhaite faire en gros, c'est envoyer les données que l'ESP reçoit sur la liaison série de l'arduino pour les traiter après (contrôler des moteurs sur une SoftwareSerial dans mon cas)

Si en WiFi l'ESP reçoit "abcd", il envoi cela sur l'arduino qui va commander tel truc.

Flooow

J'ai supprimé l'arduino et j'ai connecté le module ESP8266 via un cable FTDI directement à mon PC. En utilisant le terminal Arduino a 115000 baud, j'ai envoyé les commandes AT parfaitement, il est configuré.

Maintenant, je remet mon Arduino, je réalise le montage que j'ai mis sur mon premier post et si j'ouvre le moniteur série cette fois-ci en me mettant sur le port COM de l'arduino, et que j'essaie de renvoyer une commande AT (ce qui normalement devrait fonctionner si je ne me trompe pas) et bien plus rien.

Je pense que je ne comprend pas bien le fonctionnement, dois-je charger un programme dans l'ESP pour quelle fasse transiter les infos qu'elle reçoit sur l'Arduino ?

Désolé si je m'exprime mal, mais j'essaie d'exposer le problème le plus clairement possible.

Flooow

J'ai donc essayé ce que tu me propose, je reçoit des caractères illisible (à 9600 bauds) et je ne reçoit rien a 115200 bauds.

Flooow

115200 bauds c'était la vitesse

Flooow

Tout est bien configuré, pour cela que je n'arrive pas à comprendre.

Je vais réessayer demain.

Tu aurais la possibilité de me fournir le schéma que tu a câbler afin d'être sûr que nous avons la même chose ?

papybricol

Bonsoir,

+1 pour les schémas.

J'ajoute en plus, une liaison fixe entre la broche Reset (de l'Uno) et le GND. Pour désactiver l'Atmega, et donc son port série.
Et limiter les risques...
...ils embarquèrent la logique, coupèrent les cordons, alors, libérés de leurs chaînes, une immensité s'ouvrait devant eux...

Flooow

#11
Mar 07, 2017, 09:41 pm Last Edit: Mar 07, 2017, 09:53 pm by Flooow
J'ai câbler exactement le montage que tu as donné, j'ai chargé un programme vide dans l'arduino et j'ai regardé sur le terminal série connecté à l'arduino à une vitesse de 115000 bps, configuré en NL ET CR.

Et je n'ai rien du tout qui se passe quand j'essaye d'envoyer des commandes AT.

Pour être sûr, le schéma que j'ai fait est celui-ci:



Les références des composants utilisés:

- Régulateur 3.3V de chez Pololu -> https://www.pololu.com/product/2118/specs
- Logic Level Converter de chez Sparkfun: https://www.sparkfun.com/products/12009

Le cable USB ALIM sert uniquement a alimenter le montage, aucune donnée ne transitent par cette liaison, j'aimerais tout faire passer par la liaison série entre le PC et l'Arduino.

Alors soit je comprend pas le fonctionnement, soit j'ai un problème quelque part.

Flooow

Parfait, c'est fonctionnel, merci beaucoup !

Maintenant, si je veux recevoir les données qu'il reçoit en WiFi, je fais un programme normal en utilisant le liaison SoftwareSerial de l'arduino (connecté sur deux pattes autre que RX ET TX Hardware) et je lit les données normalement avec ESP.read() ?

Encore merci de ton aide et de ton temps ;)

Flooow

Et donc la seule alternative que j'ai c'est de passer directement par la liaison série Hardware de l'Arduino ?

Go Up