Supprimer les hiéroglyphes de Serial.begin()

Bonjour,
Je suis sur esp8266 qui envoie un message au format JSON via Serial à Node-Red. A chaque réveil de l'ESP8266 (ESP.deepSleep) la fonction Serial.begin se relance et il apparait des caractères illisibles avant mon message JSON.

Comment Peut-t'on faire pour éviter l'envoie de ces caractères sur le serial?

Merci
Guy

Bonjour

A chaque réveil d'un deepsleep() l'ESP8266 redémarre complètement et un message de démarrage est systématiquement émis à 744880 bauds et ceci avant que le setup() de ton application commence et donc avant l'action d'un quelconque Serial.begin()

Faire avec ce message qui à 74880 bauds a du sens, l'aspect 'hieroglyphe' résulte du fait que ce message est receptionné à un autre débit que celui de l'émission.

solutions :
-traiter le flux de donnée dans Node-Red pour écarter les données sans intérêt ?

-sortir de l'EP8266 par un autre port série (softserial) que celui utilisé pour le message de 'boot') ?
(Je ne propose pas d'utiliser le second port série matériel des ESP8266 (Serial1) dont la sortie TX est sur GPIO2 car lui aussi il 'cause a réveil')

laska18:
Bonjour,
Je suis sur esp8266 qui envoie un message au format JSON via Serial à Node-Red. A chaque réveil de l'ESP8266 (ESP.deepSleep) la fonction Serial.begin se relance et il apparait des caractères illisibles avant mon message JSON.

Comment Peut-t'on faire pour éviter l'envoie de ces caractères sur le serial?

Merci
Guy

Bonjour
de memoire l'esp8266 crache son "etat" à un taux de baud "exotique" (74400 ? ) à chaque reset (sortie de deep sleep ? )
peut etre initialiser le serial différemment juste avant la mise en sommeil ?

Bonjour Artouste

le débit du message de boot (pour tout reset, dont celui issu d'un réveil) est défini dans le bootloader figé en ROM, on ne peut pas le modifier par du code.

le débit est égal à : 115200 bauds * 26 / 40 = 74 880 bauds , avec les quartz 26MHz qui sont en général en place au lieu des 40 Mhz prévus initialement.... c'est un 115200 bauds (intention initiale) 'contrarié' par le choix de quartz des concepteurs de modules.

Je n'ai pas réussi à résoudre mon problème avec le Serial. J'ai opté pour la fonction dans Node-red qui récupère uniquement ce dont j'ai besoin.

Merci

Le message JSON sans les caractères devant dû à la mauvaise vitesse:

{"temp":{"rowid":4,"value":23.9},"pression":{"rowid":15,"value":999.11}}

var msg1 = {
    topic:"",
    payload: ""
}
var str = msg.payload;

var re = /\{\"temp/;

var i = str.search(re);
msg1.payload = str.slice(i);
return msg1;

Merci pour le retour et pour la fonction
ça pourra donner des idées à ceux pour qui (comme moi) le codage d'une fonction pour Node-Red n'est pas évident !