Go Down

Topic: Les Bases d'un Serveur Web sur ESP-01 en commande AT (Read 10654 times) previous topic - next topic

kayel

 J'ai suivi le tuto de J-M-L avec un Pro Mini. Il faut mettre le ESP à 9600 bauds AVANT de l'attacher à l'Arduino.

J-M-L

Oui c'est pour un MEGA effectivement. pour passer sur uno, il faudra déclarer une instance de SoftwareSerial

par exemple en faisant au début
Code: [Select]
#include <SoftwareSerial.h>
SoftwareSerial portSerieLogiciel(10, 11); // RX, TX
#define ESPSEPRIAL portSerieLogiciel



au fait en relisant ce que j'avais posté plus haut, c'est documenté dans le code source, on peut utiliser USESOFTWARESERIAL...
Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums
Pas de messages privés SVP

EricRecifal33480

Bonjour,
Desolé JML je n'avais pas vu
J'ai appliqué la modification sur le SERIAL mais je rencontre deux problèmes:

1- J'ai le message "Can't continue: CIFSR failed", je n'arrive pas à comprendre pourquoi j'ai ce blocage
quand je ping sur 192.168.1.28 j'ai zéro perte. De plus quand je met la ligne CIFSR en commentaire, si j'ai bien suivi le tuto ce message ne sert qu'a visualiser l'IP, je reussi à aller au "Ready!".
Je pensais que ce n'etait pas grave vu que je connaissait l'adresse (192.168.1.28) mais .... le 2- est arrivé...

2-J'ai ouvert CHROME ( j'ai aussi essayé FIREFOX ), dans la barre d'adresse 192.168.1.28 mais sa tourne dans le vide et finit par afficher :
 
"Cette page ne fonctionne pas
192.168.1.28 n'a envoyé aucune donnée.
ERR_EMPTY_RESPONSE"

Je n'ai pas l'impression qu'il voit la connexion au serveur, il ne lui repond donc pas et j'arrive au Timeout.

As tu une idée de si le problème est lié au problème avec le CIFSR?

As tu une idée de comment trouver le problème ?

Merci d'avance

J-M-L

AT+CIFSR Retourne l'IP locale - si ça plante c'est bien que l'ESP n'a pas obtenu d'adresse...
Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums
Pas de messages privés SVP

EricRecifal33480

Ah ok je pensais que ce n'etait qu'informatif
Je vais devoir chercher ce qui cloche dans le getmyipadress

J-M-L

oui cf mon post #2

AT+CIFSR

j'ai comme réponse

AT+CIFSR

+CIFSR:STAIP,"192.168.1.28"
+CIFSR:STAMAC,"18:fe:34:e6:27:8f"


--> si ça ne fonctionne pas c'est qu'il y a un soucis
Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums
Pas de messages privés SVP

EricRecifal33480

#36
Sep 06, 2018, 08:17 pm Last Edit: Sep 06, 2018, 08:18 pm by EricRecifal33480
Merci de pas m'abandonner JML

Donc ce soir j'ai utilisé ton bout de soft pour passer les commandes AT. Je l'ai modifié pour utiliser une softserial vu que je suis sur un UNO

J'ai suivi pas à pas ton tuto et nickel sa fonctionne.

Je suis donc revenu sur la version complète et là plusieurs choses dont une qui m'ennuie bien
Dans les inits tu écris

// The BAUD RATE OF YOUR ESP-01
// Don't go faster than 38400 with sowftare serial for reliability

Quand je met 38400 je suis bloqué dès la commande AT+RESTORE. J'ai l'impression que l'ESP8266 ne comprend pas ce language  :)

Quand je met 115200 (hier je n'avait pas vu le détail du BaudRate), je ne suis pas bloqué au RESTORE ( parfois) mais j'ai un fonctionnement très aléatoire.

j'ai l'impression que l'esp8266 est configuré en 115200 et ne comprend que sa. Si je ne me trompe pas c'est dans le logiciel de l'esp8266 et donc non changeable.

Cela veux t'il dire qu'un arduino UNO ne peux pas communiquer de manière fiable en command AT ? et que le passage par un arduino MEGA est obligatoire pour obtenir un programme fiable et répétable ?

Ce qui est stable c'est que même rendu à Ready! le serveur ne s'affiche pas dans la page web

Le truc ce corse :smiley-confuse:

J-M-L

il faut au niveau des commandes AT passer votre ESP à 9600 bauds par exemple et ensuite vous utilisez cette vitesse sur le Software Serial

de mémoire regardez du côté des commandes AT+UART_CUR ou AT+CIOBAUD je ne sais plus trop
Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums
Pas de messages privés SVP

kayel

 Comme j'ai dit au poste #30, il faut mettre le ESP en 9600 bauds AVANT de le connecter en Software Serial à l'Arduino.

 Pourquoi?

 Parce que le ESP est réglé par défaut à 115200 bauds mais l'Arduino n'est pas assez rapide pour faire du Software Serial à 115200 bauds. Vous ne pouvez donc pas changer la vitesse de communication en Software Serial sans avoir réduit la vitesse de communication au préalable.

 Si vous réussissez à mettre le ESP en 9600 bauds, la commande "AT+Restore" remettrait le ESP en mode "sortie d'usine", c'est à dire 115200 bauds.

 Oubliez AT+RESTORE, ça ne sert à rien.

J-M-L

En théorie Il y a moyen avec des commandes AT (celles se terminant en _DEF) de rendre « permanents » certains changements et même un reset ou restore  n'efface pas ce changement

Quote
AT+ UART_DEF=<baudrate>,<databits>,<stopbits>,<parity>,<flow control>
For example 9600 baudrate / 8 data bits / 1 stop bits and none parity and flow control
AT+UART_DEF=9600,8,1,0,0
the command AT+CIOBAUD=9600 would change the baudrate temporarily
chaque module peut ne pas avoir le même firmware de commandes AT donc faut explorer un peu. Sur le web vous trouverez des articles de bidouilleurs disant que AT+UART_DEF a rendu leur ESP Inopérant, donc à creuser en lisant bien tout. ça fait longtemps que je n'ai pas joué avec, donc voir aussi les derniers firmwares AT (et prendre celui adapté à la taille flash de son ESP01). J'ai vu qu'il y avait une version ESP8266_AT_V1.1 based on ESP8266_NONOS_SDK_V1.5.4 qui est plus récente que celle de mon tuto effectué avec l'AT version 0.6 de début 2016 (0.60.0.0. (Feb  2 2016 18:43:31)) ou encore une V2.0 AT Firmware mais les numérotations sont un peu fantaisistes donc à creuser pour voir vraiment ce qui est le plus récent (les ESP01, surtout ceux avec 4Mb (512K) de mémoire flash, ne sont plus utilisés et l'OS dispo est vieux)

@Kayel
Concernant le RESTORE ça fait partie des bonnes pratiques à explorer pour être en état connu. Lisez par exemple cette discussion, le restore semble avoir résolu le problème d'instabilité
Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums
Pas de messages privés SVP

kayel

 @J-M-L

 J'ai eu le même problème que EricRecifal33480 en suivant votre tuto. On tombe dans le trou laissé par le chapitre qui manque sur les Arduinos avec un seul port série.

 AT+UART_DEF=9600,8,1,0,0 peut survivre à un RST, pas à un RESTORE.

 Tout l'intérêt d'un AT+RESTORE est d'être, comme vous dites, en état connu.

 L'intérêt pâlit un peu lorsque l'on sait que cet état rend le software sérial inutilisable.

J-M-L

Effectivement je vois ce que vous voulez dire. le code dit
Code: [Select]
// Don't go faster than 38400 with sowftare serial for reliability
#define ESPSERIALBAUD 115200 // Set to whatever is used by default by your ESP after a RESTORE
donc si effectivement la version d'usine de votre ESP01 est à 115200 (souvent le cas) c'est un soucis car je donne des instructions contradictoires

L'intérêt pâlit un peu lorsque l'on sait que cet état rend le software sérial inutilisable.
Ce n'est pas insurmontable cependant:

- Effectivement comme vous le dites on peut éviter le restore mais dans mon cas avec le vieil OS, et comme indiqué dans le lien ci dessus, le AT+RST pour faire un reboot n'est pas toujours suffisant pour assurer le bon fonctionnement, d'où l'habitude de passer par un RESTORE

- Si votre ESP n'est plus en 115200, il faudrait, en cas d'usage du port série logiciel, ouvrir le Software Serial au débit connu (9600 par exemple), envoyer le RESTORE, fermer le port série, et le ré-ouvrir à 115200 (le défaut), et reconfigurer à 9600, puis refermer le port série, et le ré-ouvrir à 9600 . comme cela vous êtes dans une config maîtrisée.

Le Software Serial ne va fonctionner à 115200 que pour une seule commande dans le setup et donc ce n'est pas un soucis ensuite dans le reste de votre code (même  si ma recommandation reste de ne pas utiliser SoftwareSerial)
Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums
Pas de messages privés SVP

EricRecifal33480

Merci pour toutes ces informations
J'ai réussi à ouvrir la page web du serveur

Go Up