RXB6 ESP8266

Bonjour la communauté !

Montage : Récepteur RXB6 433 + ESP8266 => data sur D7
Matériel émetteur : Digoo R8H et R8S
Librairies : homeGW
Plugin : Digoo, Weather

Je reçois correctement les capteurs et d'un coup je n'arrive pas à m'expliquer pourquoi l'ESP8266 reboot.
Mais en plus quand il reboot, je dois débrancher l'alimentation du RXB6 sinon ça boucle.
Que j'alimente le RXB6 en 5v (avec un pont résistance/diode) ou en 3.3v c'est pareil, ça fonctionne et reboot quelques instants après.
J'ai essayé de mettre le data sur D8, là je reçois plus rien et ça ne plante plus.
J'ai remplacé le RXB6 par un autre, pareil...

Je m'arrache les cheveux (et j'en ai plus beaucoup!) avez vous eu ce genre de problème et êtes vous arrivé à résoudre ?

Merci pour toute aide.

Bonjour,

quand l'ESP reboot normalement il affiche la raison sur la console (mauvaise utilisation de la mémoire, timeout, ...).

Merci pour la réponse,
Je sais, mais comment expliquer un reboot avant même qu'il n’exécute le programme ?
Je viens d'ajouter un yield() dans une boucle for, et hormis le plantage à la mise sous tension, pour le moment je reçois sans plantage. Mais même si cela résoudrait le problème, il n'explique pas le démarrage.

Je sais, mais comment expliquer un reboot avant même qu'il n'exécute le programme ?

Heuu, pour moi il exécute le programme dès la mise sous tension. Qu'il plante dès le début peut-provenir de plein de raisons. Qu'est le message au reboot ?

Voila ce que j’obtiens au démarrage.

Exception (0):
epc1=0x40218300 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000

>>>stack>>>

ctx: cont
sp: 3ffffa10 end: 3fffffc0 offset: 01a0
3ffffbb0:  feefeffe feefeffe feefeffe 00000020  
3ffffbc0:  ffffffff 0000000d 00000000 40101cf8  
3ffffbd0:  c0035035 feefeffe feefeffe feefeffe  
3ffffbe0:  feefeffe feefeffe feefeffe 00000022  
3ffffbf0:  3fffc200 40101c38 3fffc258 4000050c  
3ffffc00:  400043e4 00000030 00000015 ffffffff  
3ffffc10:  400044ab 3fffc718 3ffffd00 08000000  
3ffffc20:  60000200 08000000 08000000 00000000  
3ffffc30:  fffdffff 00000000 00000002 3ffffd60  
3ffffc40:  00000004 003ca0fc 003ca0fc 00000030  
3ffffc50:  feefeffe feefeffe feefeffe feefeffe  
3ffffc60:  feefeffe feefeffe feefeffe feefeffe  
3ffffc70:  feefeffe feefeffe feefeffe feefeffe  
3ffffc80:  feefeffe feefeffe feefeffe feefeffe  
3ffffc90:  feefeffe feefeffe feefeffe feefeffe  
3ffffca0:  feefeffe feefeffe feefeffe feefeffe  
3ffffcb0:  feefeffe feefeffe feefeffe feefeffe  
3ffffcc0:  feefeffe 7ffb1999 feefeffe feefeffe  
3ffffcd0:  00000136 3fff1050 00000001 40101058  
3ffffce0:  00000054 3fff1050 00000001 40101058  
3ffffcf0:  0000001c 3fff1050 00000001 40101058  
3ffffd00:  00000000 400042db 00000001 40101058  
3ffffd10:  40004b31 3ffffd60 00000004 003ca0fc  
3ffffd20:  40107318 0000000d 00000000 40101cf8  
3ffffd30:  401010fd 3ffffd60 003ca0fc 00000002  
3ffffd40:  3fffc200 40101c38 003ca0fc 40219251  
3ffffd50:  3fffc200 40101c38 3fff20c8 4021e0ce  
3ffffd60:  03120429 00000030 0000001c ffffffff  
3ffffd70:  3ffffdf4 00000002 00000002 40101058  
3ffffd80:  c0035035 000002b2 00000000 00000001  
3ffffd90:  3fff265c 003ca0fc 3fff20c8 40223014  
3ffffda0:  00000002 3ffffdf4 3fff0ebf 00000030  
3ffffdb0:  c0037035 feefeffe feefeffe 00000022  
3ffffdc0:  3fffc200 40101c38 3fffc258 00000375  
3ffffdd0:  000002f9 0000ffff 3fff20c8 40220c8c  
3ffffde0:  00000005 00000000 ffffffff 0000001f  
3ffffdf0:  3fff0312 00650429 00000000 3fff0650  
3ffffe00:  00300000 00000065 00002000 00000100  
3ffffe10:  3fff1400 3fff0550 3ffffee0 00000020  
3ffffe20:  00000001 000000fc 3fff20c8 4021f5e0  
3ffffe30:  3ffffe70 00000000 3fff235c 3fff265c  
3ffffe40:  3fff0ec1 00000000 3fff20c4 00000578  
3ffffe50:  000000f0 3fff20c8 3fff20c4 4021de79  
3ffffe60:  00000578 40224e44 00000000 4021c79d  
3ffffe70:  4021e040 4021e0fc 4021e238 000fb000  
3ffffe80:  00300000 00001000 00002000 00000100  
3ffffe90:  00000200 00000fb0 3fff2224 3ffffee0  
3ffffea0:  00000023 3fff0664 3fff0ebd 3ffffee0  
3ffffeb0:  3fff0550 3fff20c8 3fff20c4 4021dec2  
3ffffec0:  3fff0550 3fff1400 3fff1114 40224c41  
3ffffed0:  3fff0550 3fff0504 3fff1114 402087db  
3ffffee0:  00003b15 0000ffff 3ffe8d19 feefeffe  
3ffffef0:  feefeffe feefeffe feefeffe feefeffe  
3fffff00:  feefeffe feefeffe feefeffe feefeffe  
3fffff10:  feefeffe feefeffe feefeffe feefeffe  
3fffff20:  feefeffe feefeffe feefeffe feefeffe  
3fffff30:  feefeffe feefeffe feefeffe feefeffe  
3fffff40:  feefeffe feefeffe feefeffe feefeffe  
3fffff50:  feefeffe feefeffe feefeffe feefeffe  
3fffff60:  feefeffe feefeffe feefeffe feefeffe  
3fffff70:  feefeffe feefeffe feefeffe feefeffe  
3fffff80:  feefeffe feefeffe feefeffe feefeffe  
3fffff90:  feefeffe feefeffe feefeffe 3fff1248  
3fffffa0:  3fffdad0 00000000 3fff1218 4021bee0  
3fffffb0:  feefeffe feefeffe 3ffe85e8 401020ed  
<<<stack<<<

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

load 0x4010f000, len 1384, room 16 
tail 8
chksum 0x2d
csum 0x2d
v8b899c12
~ld
Ready to go

Je suis ok aussi sur le fait qu’il commence à exécuter une partie du programme, mais bon sang que ce machin m’agace !

Je croyais avoir résolu un peu avec le yield() mais ce ne fut que de courte durée.
Quelques fois en ouvrant juste une page web, ça plante si le rxb6 est connecté.
Est-ce qu’il est recommandé de le connecter à une pin en particulier ?

Tu peux détailler ton montage (ton esp est sur une carte, faite par toi ?)

EDIT : si c'est le cas regardes peut-être ici.

Une lecture des plus intéressante, merci.
Alors mon problème serait le chien de garde, comment résoudre cela???
Mon montage complet comporte la gestion d'un écran tactile capacitif en i2c ainsi qu'un mcp23008 (i2c aussi) pour avoir 8 i/o de plus, l'esp8266 n'en a pas beaucoup et divers capteurs.

Voici les connexions :

[pre]
const uint8_t RST                 = D0;  // Reset écran
const uint8_t SCL_PIN             = D1;  // SCL I2C écran
const uint8_t SDA_PIN             = D2;  // SDA I2C écran
const uint8_t SCRinterrupt        = D3;  // Ligne d'interruption écran D3
const uint8_t LED                 = D4;  // LED de fonctionnement
const uint8_t ONE_WIRE_BUS        = D5;  // Ligne One Wire capteur de température DS18B20
const uint8_t MCPinterrupt        = D6;  // Ligne d'interruption MCP23008
const uint8_t RF_RECEIVER_PIN     = D7;  // Pin d'interruption valable pour la reception 433Mhz
const uint8_t RF_TRANSMITTER_PIN  = -1;  // Pin de transmission 433Mhz (Utiliser -1 pour désactiver la transmition 433Mhz)
const uint8_t SOUND_PIN           = D8;  // Pin où est branché le buzzer
const uint8_t INT_VANNE           = A0;  // Ligne de mesure d'intensité de la vanne 4 voies (plus d'intensité, vanne arrivée en buté)

/* Commandes diverses du chauffage */
uint8_t MCPinterrupt_pin;                // Lecture du registre INTF indiquant le/les pin(s) ayant déclenché l’interruption.
uint8_t MCPinterrupt_etat;               // Lecture du registre INTCAP indiquant le/les pin(s) ayant déclenché l’interruption.
const uint8_t ACCELERATEUR         = 0;  // Relais de l'accélérateur commandé depuis le MCP23008
const uint8_t VANNE_PLUS           = 1;  // Relais ouverture de la vanne 4 voies commandé depuis le MCP23008
const uint8_t VANNE_MOINS          = 2;  // Relais fermeture de la vanne 4 voies commandé depuis le MCP23008
const uint8_t CHAUDIERE_STATUT     = 3;  // Statut de la chaudière depuis le MCP23008
const uint8_t CHAUDIERE_MARCHE     = 4;  // Fonctionnement de la chaudière depuis le MCP23008
const uint8_t CHAUDIERE_DEFAUT     = 5;  // Chaudière en panne depuis le MCP23008
[/pre]

Alors mon problème serait le chien de garde, comment résoudre cela???

Comme tu le fait déjà (yield()) mais plus souvent, partout et surtout ou tu as des delay() :wink:

Si tu veux éventuellement de l'aide il faut que tu poses tout ton code.

Je comprend que le code aiderait à trouver le problème, mais il est très gros et pas encore optimisé, mais merci pour ton aide et tes liens forts utiles. Là je dois arrêter, mais je reprend dès mon retour, ce n'est pas ce truc qui va gagner, j'en ai maté d'autres... :slight_smile:

:wink: