ESP8266 (ESP-07)

Bonjour,
Je suis actuellement en train de faire un projet de télécommande par Google Home,
J’ai donc besoin d’un module WIFI (ESP-07) qui se connecte à ma box et créer localement un site web, et en fonction des paramètres de l’url du site je pourrais émettre un code infrarouge différent pour changer les chaines de ma télé.

Bref, mon problème n’est pas là;
J’ai donc commandé ce module il y a 3 ans et je l’ai utilisé depuis ce module est rester au fond du placard, dans mes souvenirs j’avais beaucoup galérer et finalement j’ai réussi à le faire marcher.
Mais maintenant je souhaite continuer mon projet et le module marche encore mais je ne peux pas communiquer avec les commandes AT.

Voici mes branchements :
CH_PD (EN) → 3.3V ARDUINO
VCC → 3.3V ARDUINO
GND → GND ARDUINO
TX → TX ARDUINO
RX → RX ARDUINO
GPIO15 → GND ARDUINO

Dans cette configuration je reçois dans la console arduino à 74880 baud:

ets Jan  8 2013,rst cause:1, boot mode:(3,6)

load 0x4010f000, len 1384, room 16 
tail 8
chksum 0x2d
csum 0x2d
v09f0c112
~ld
⸮V⸮⸮⸮YH⸮⸮
1AsZ⸮⸮⸮T⸮JZ⸮pb)⸮ʠ⸮⸮V⸮⸮Z⸮⸮

et à 115200 baud je reçois :

⸮⸮c⸮⸮on⸮lno⸮⸮⸮l⸮⸮l⸮⸮r⸮⸮⸮r⸮pp⸮lslslp⸮l⸮⸮l⸮⸮
Configuring access point...AP IP address: 192.168.4.1
HTTP server started

Je précise que je ne sais pas pourquoi ça me met HTTP server started, j’utilise un code arduino vierge.
Quand je rentre AT dans la console je n’ai rien.

Mon module s’allume avec une LED rouge, et quand j’enlève et je remet le connecteur CH_PD alors une led bleu clignote une fois.

Merci d’avance.

Bonsoir

Configuring access point...AP IP address: 192.168.4.1

HTTP server started

De toute évidence le module ESP-07 contient déjà un code le configurant en point d'accès et y activant un serveur HTTP = Code préexistant, peut être préinstallé

CH_PD (EN) --> 3.3V ARDUINO
VCC --> 3.3V ARDUINO
GND --> GND ARDUINO
TX --> TX ARDUINO
RX --> RX ARDUINO
GPIO15 --> GND ARDUINO

Plusieurs problèmes potentiels :

  1. Il n'est pas du tout certain que le régulateur 3,3V de la carte Arduino puisse fournir en toute circonstance tout le courant appelé par l'ESP866 avec le WiFi activé

Actuellement il semble que la carte Arduino ne serve que d'interface ESP / USB
2) on doit croiser Rx et Rx si l'on souhaite que le microcontroilleur de la carte Arduino communique avec l'ESP8266

  1. les Rx et Tx de la carte Uno ne sont pas totalement libres pour communiquer avec l'ESP puisqu'ils sont reliés au circuit assurant la liaison USB

  2. le TX Arduino sort entre 0 et 5V, risque de destruction en reliant au RX ESP qui en principe (selon le constriucteur de la puce) attend un niveau haut de 3,3V

  3. les éventuels codes de termlnaison de ligne (après AT) peuvent ne pas convenir au code actuellement présent dans l'ESP8266... à supposer que ce code présent des commandes AT IL y a longtemps que j'ai laissé de côté l'utilisation des ESP par des commandes AT et je ne me souvient pas quelle combinaison fonctionne à gauche du réglage de débit
    combinaisons.png

combinaisons.png

Merci pour votre réponse rapide,

Oui j'ai probablement du mettre un code le configurant, mais alors comment revenir comme avant (en usine).

  1. Il n'est pas du tout certain que le régulateur 3,3V de la carte Arduino puisse fournir en toute circonstance tout le courant appelé par l'ESP866 avec le WiFi activé
  1. Je pense que je vais mettre une batterie. mais à l'époque je m'en souviens je n'avais rien utiliser de tout ça, j'avais seulement utiliser le module et arduino.
  1. on doit croiser Rx et TX ( le Tx arduino doit aller vers le Rx ESP...)

J'ai déjà essayer cela mais la console arduino me renvoie

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x88

--

Je comprends pas pourquoi mon module fonctionner très bien il y a trois ans et maintenant non, peut être car j'ai du changer le code de l'ESP, mais alors comment revenir.

Avant de continuer pourriez vous confirmez que vous souhaitez utilser le module ESP-07 en 'périphérique WiFi" d'une carte Arduino par envoi de commandes AT .... et non en carte autonome programmée avec l'IDE Arduino comme le font la majorité des utilsateurs d'ESP de ce forum (=sans carte Arduino, sans commande AT)

ce sont deux façons totalement différentes d'utiliser les ESP

J'ai un doute en lisant ceci qui, s'il n' avait pas eu le message d'erreur, aurait écrasé le 'firmware AT' éventuellement préinstallé 'usine'

'ai déjà essayer cela mais la console arduino me renvoie
Quote

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x88

-> remettre un 'firmware AT' , piloter l'ESP par des commandes AT... d'autres sauront içi répondre car j'ai totalement laissé tomber cette façon d'utiliser les ESP8266 ou ESP32

Je comprends pas, mais je vais essayer de vous formuler une réponse.
J'aimerais bien utiliser les commandes AT pour configurer le module, mais mon but final est de créer un site web avec le module qui se connecte sur ma box.
Je pourrais donc accéder au site localement.

Je ne connais pas encore bien les modules ESP donc une aide me serait d'une grande utilité pour comprendre ces modules.

mon but final est de créer un site web avec le module qui se connecte sur ma box.
Je pourrais donc accéder au site localement.

Une carte NodeMCU ou une WEMOS D1 MINI, autonomes (sans carte Arduino envoyant des commandes AT) permettront d'atteindre plus facilement ce but . (plus faciles à mettre en oeuvre que les ESP-01, ESP-03 ou ESP-07)

Il est maintenant possible de considérer ces cartes comme de 'nouvelles cartes Arduino' et les programmer avec l'IDE Arduino et les nombreuses librairies

Auriez-vous une vidéo/site/tutoriel pour me permettre d'arriver à mon but s'il vous plaît ?

sous la main ce soir pour commencer à piloter un ESP8266 (ici une carte NodeMCU) comme s’il s’agissait d’une carte Arduino :

Une fois installée l’extension ESP8266 pour IDE Arduino on y trouve des exemples d’applications Wifi : Point d’accès, Station , client HTTP, serveur HTTP…

Merci beaucoup !

Je viens de tester, dans cette configuration

rst cause:1, boot mode:(3,6)

Et en sélectionnant la carte NodeMCU 1.0 (ESP-12E MODULE)

L’IDE Arduino me renvoie ça

esptool.py v2.8
Serial port COM3
Connecting........_____....._____....._____....._____....._____....._____.....____Traceback (most recent call last):
  File "C:\Users\mm\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.2/tools/upload.py", line 65, in <module>
    esptool.main(cmdline)
  File "C:/Users/mm/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.2/tools/esptool\esptool.py", line 2890, in main
    esp.connect(args.before)
  File "C:/Users/mm/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.2/tools/esptool\esptool.py", line 483, in connect
    raise FatalError('Failed to connect to %s: %s' % (self.CHIP_NAME, last_error))
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header

_

la communication ne s'établit pas entre le programme esptool et le module ESP-07

causes probables :
-erreur de câblage,
-l'ESP8266 n'a pas été mis en mode 'flashage' (=combinaison d'états particulière pour GPIO0 et GPIO2)

De mémoire (donc à vérifier) pour qu'un ESP8266 passe en mode bootoader (flashage) il doit trouver la combinaison suivante à la mise sous tension :
GPIO0 = 0
GPIO2 = 3,3V (une résistance de pull up est parfois présente)
GPIO15 = 0 (condition réalisée sur certains modules)

Les cartes Wemos D1 Mini ou NodeMCU apportent , pour 3 € environ :
-Une alimentation 3,3V correcte (souvent 500mA)
-Une interface USB
-La commutation automatique en mode 'flashage'

Avec un module ESP-07 'nu' il faut gérer cela soi même !!
Pourquoi faire simple quand on peut faire compliqué ?

Et en sélectionnant la carte NodeMCU 1.0 (ESP-12E MODULE)

Est-ce bien une carte NodeMCU ?
Ou s'agit-il du module comme sur la photo de la demande ?

S'il s'agit toujours du module ESP-07 voilà une piste pour le flashage


Source : ESP-07 flashing - Let's Control It
(trouvée sans difficulté avec un moteur de recherche et les mots clefs "ESP-07 flash'....)

un conseil : se former à l'ESP8266 sous IDE Arduino avec une carte facile à utiliser, puis s'il y a un besoin particulier de miniaturisation et que l'on est à l'aise avec l'ESP8266 utiliser un module 'nu' ESP-03 , ESP-07, ESP-12., ESP-01....

Bonjour

hbachetti:
Est-ce bien une carte NodeMCU ?
Ou s'agit-il du module comme sur la photo de la demande ?

C'est effectivement mon module (sur la photo).


Alors c'est étrange j'ai réussi à upload un nouveau firmware hier soir, d'ailleurs merci beaucoup pour votre aide.
J'ai utilisé ces branchements :

VCC --> 3.3V
GND --> GND
CHP (EN) --> 3.3V
TX --> TX
RX --> RX
GPIO0 --> GND
GPI015 --> GND

PUIS BRANCHER ET RETIRER LE RESET AU GND.

Hier tout fonctionner bien (mon module clignoté bleu rapidement et installée le firmware) mais maintenant mon module clignote bleu lentement quand je mets un nouveau firmware.

Et j'ai toujours le message d'erreur

esptool.py v2.8
Serial port COM6
Connecting......................................____Traceback (most recent call last):
File "C:\Users\mm\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.2/tools/upload.py", line 65, in
esptool.main(cmdline)
File "C:/Users/mm/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.2/tools/esptool\esptool.py", line 2890, in main
esp.connect(args.before)
File "C:/Users/mm/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.2/tools/esptool\esptool.py", line 483, in connect
raise FatalError('Failed to connect to %s: %s' % (self.CHIP_NAME, last_error))
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header

réessayer en 'tirant' GPIO2 vers 3,3V à travers une résistance, GPIO2 en l'air ne suffit pas toujours à garantir un niveau logique permettant le mode 'bootloader'

Une alimentation 3,3V faiblarde donne en général des résultats imprévisibles... parfois ça 'tombe en marche' un certain temps

envoyer 5V sur l'entrée Rx de l'ESP8266 le fragilise et l'expose à une surtension.. ça passe ou ça casse....

Ajoute deux boutons RESET et FLASH :

Tu peux aussi faire comme sur une NodeMCU, en automatique :

Explications ICI : esp8266-sur-batterie

Bonsoir, merci pour vos réponses rapide.

J’ai actuellement suivi ce schéma (voir image), mis deux boutons, et ajouter un pont diviseur de tension sur la pin RX de l’ESP.

Sauf que pour ma part je doit mettre
TX Arduino → TX ESP
RX Arduino → RX ESP

J’ai mesurer le tension de arduino et de la broche TX de arduino :
Tension réel arduino (3.3V) : 3.190V
Tension TX Arduino : 2.7V


Pour passer en mode download firmware je reste appuyer sur le bouton FLASH puis j’appuie sur le bouton RESET.
Mais j’ai toujours le même problème arduino ne téléverse pas le code dans l’ESP,
Quand je téléverse le code, mon module clignotte 3 fois et arduino m’envoie le message d’erreur suivant :

esptool.py v2.8
Serial port COM3
Connecting…
Traceback (most recent call last):
File “C:\Users\mm\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.2/tools/upload.py”, line 65, in
esptool.main(cmdline)
File “C:/Users/mm/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.2/tools/esptool\esptool.py”, line 2900, in main
print(“Chip is %s” % (esp.get_chip_description()))
File “C:/Users/mm/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.2/tools/esptool\esptool.py”, line 1034, in get_chip_description
efuses = self.get_efuses()
File “C:/Users/mm/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.2/tools/esptool\esptool.py”, line 1030, in get_efuses
self.read_reg(0x3ff00054) << 32 |
File “C:/Users/mm/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.2/tools/esptool\esptool.py”, line 490, in read_reg
val, data = self.command(self.ESP_READ_REG, struct.pack(’<I’, addr))
File “C:/Users/mm/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.2/tools/esptool\esptool.py”, line 347, in command
p = self.read()
File “C:/Users/mm/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.2/tools/esptool\esptool.py”, line 292, in read
return next(self._slip_reader)
File “C:/Users/mm/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.2/tools/esptool\esptool.py”, line 2057, in slip_reader
raise FatalError(‘Invalid head of packet (0x%s)’ % hexify(b))
esptool.FatalError: Invalid head of packet (0x0A)
esptool.FatalError: Invalid head of packet (0x0A)

Je ne comprends pas pourquoi, peut être j’ai court-circuiter le module.
Merci d’avance.

As-tu essayé en sélectionnant "Generic ESP8266 Module" ?

Bonne idée !!

ce choix permettrait de compiler et flasher vers un module dont la mémoire Flash a une taille inférieure à 4Mbit
C'est peut être le cas du module ESP-07

Il serait aussi inéressant de tester avec un adaptateur USB/Série (FTDI ou autre) et non à travers une carte Arduino jouant plus ou moins bien ce rôle

Non malheureusement j'ai toujours le même message d'erreur.
J'ai plus aucune idée.

Voici ma configuration IDE

J'ai appris avec ça:

J'ai adopté le circuit page 5.

Pour récupérer les commands AT:

Il y a peut-être un GUI pour esptool sous windows, je ne sais pas.

Votre module a besoin d'une antenne.

Essayez de faire marcher le module avec le sketch "CheckFlashConfig", avec les mêmes réglages que moi, et de préférence avec un FTDI (avec cavalier 5//3.3V) au lieu de l'arduino.