Problème avec Wemos D1 mini (clone) et bibliothèque MySensors

Bonjour à tous.

Je possède plusieurs wemos D1 mini (clone) avec un esp-12F. (achetés ici)
Lorsque je téléverse un programme d'exemple de la bibliothèque Mysensors, (celui ci ou n'importe lequel de la liste d'exemples) je me retrouve dans l'incapacité de compiler le programme si je laisse la ligne "#define MYDEBUG".
Si je la supprime, j'arrive à téléverser mais la liaison série m'écrit ceci :

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

load 0x40100000, len 2592, room 16
tail 0
chksum 0xf3
load 0x3ffe8000, len 764, room 8
tail 4
chksum 0x92
load 0x3ffe82fc, len 676, room 4
tail 0
chksum 0x22
csum 0x22

2nd boot version : 1.7(5d6f877)
SPI Speed : 40MHz
SPI Mode : DIO
SPI Flash Size & Map: 32Mbit(512KB+512KB)
jump to run user1 @ 1000

correct flash map
mismatch map 2,spi_size_map 4
system param partition error
system_partition_table_regist fail
V2
Mo
rf_cal[0] !=0x05,is 0xFF

Mon shéma est le suivant : Shema pour le branchement du NRF24L. Je ne branche pas le contact ILS.
J'ai essayé de flasher mon esp avec les dernières versions mais j'ai toujours le même problème.

Ne sachant plus quoi faire je me tourne vers vous.

Par avance merci.

lisez "Les bonnes pratiques du Forum Francophone”

donnez le code, le montage, un lien vers votre D1 etc...

1 Like

Désolé merci.

Bonjour

Quelle sélection de carte as tu effectué , avec quels paramètres ?
Pourquoi SPI Mode : DIO ?

Sélectionner 'Carte LOLIN(WEMOS D1 MINi (clone) en laissant les paramètres de base

En effet c'est ce que j'ai sélectionné.
J'ai même essayé sous visual studio code avec platformIO. Même souci.

Avec ce choix le paramètre Flash Mode arrive en DOUT, pas en DIO, (et toutes mes cartes D1 MIni se flashent en mode DOUT)

ESsayer de réduire le débit de flashage, 921600 bauds ne passe pas toujours bien...

EDIT : ton schéma plan de câblage montre un contact ILS sur D3(GPIO0)
A éviter , GPIO0 joue un rôle important lors du flashage, mieux vaut le laisser tranquille dans cette phase si tu n'est pas certain qu'il soit ouvert
https://i2.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/ESP8266-WeMos-D1-Mini-pinout-gpio-pin.png?w=715&quality=100&strip=all&ssl=1

Oui désolé j'ai pas précisé... En fait je fais pas le montage pour le contact ILS, j'ai un relais de branché dessus sur D1 c'est tout. c'était pour montrer le branchement du nrf24.

Je dois avoir une config comme celle ci on est d'accord ?


:roll_eyes: :question:

Ce type d'écran correspond à un flashage d'un firmware spécifique dans un ESP

Une personne qui, par exemple, voudrait mettre un firmware AT, MicroPython, NodeMCU.....etc ...dans un ESP pourrait passer par ce genre de flashage avec des bouts de binaire à mettre à certaines adresses.

Quand on flashe à partir de l'IDE Arduino avec un code perso compilé on est dans une situation tout à fait différente , pas de firmware prélalable à flasher, L'IDE Arduino envoie tout ce qu'il faut !!

L'IDE Arduino avec extension ESP gère intégralement la chose et ne nécessite pas de préparation préalable de l'ESP avec un firmware quelconque

On code, on compile et on envoie, tout se fait dans l'IDE Arduino sait flasher grâce à son utilitaire intégré

Ah oui non mais pour téléverser j'ai pas de problèmes oui pardon.
Quand tu as parlé de flash je pensais au flash du firmware interne comme j'ai dit que j'avais du coup cherché à le mettre à jour vu que ça me mettait les lignes que j'ai mis dans le post en haut.

Donc oui pour compiler et téléverser, j'ai pas de soucis. j'ai essayé en DOUT et QOUT en DIO aussi mais j'ai toujours l'esp bloqué avec ce texte en liaison série.

Alors tout va bien
Flasher (=ecrire dans une mémoire Flash) est l'opération nommée téléversement dans l'IDE Arduino
l'utilitaire pytools , appélé au moment du téléversement effectue ce flashage dans le cas des ESP

1 Like

ok. Donc mon souci viens d'ailleurs.

reprenons méthodiquement

le donénes fournies dans le message #1 montrent que l'utilitaire pytools chargé de l'écriture dans la mémoire Flash accompagnant l'ESP8266

-tente de se faire en mode DIO et non DOUT comme on pourrait s'y attendre pour un module ESP-12

-rencontre un problème de partitionement (consignes pour la répartition de l'espace en mémoire Flash entre diverses fonctions)

Conséquence : l'écriture en mémoire Flash ne se fait pas car les consignes reçues par esptool ne lui paraissent pas cohérentes

Ces consignes découlent de la sélection de la carte dans l'DE et des choix de l'utilisateur
Parmi les fichiers de l'extension ESP8266 pour IDE Arduino figure un fichier listant un grand nombres de cartes et pour chacune d'elles les parametres .

-> Tenter de sélectionner non pas une carte D1 Mini (clone) mais une D1 Mini normale dans l'IDE Arduino pour voir si ça passe mieux

J'obtiens ce message :

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

load 0x4010f000, len 3460, room 16
tail 4
chksum 0xcc
load 0x3fff20b8, len 40, room 4
tail 4
chksum 0xc9
csum 0xc9
v00044040
~ld

et ce dans n'importe quelle board sélectionnée.

Pourtant un simple hello world en liaison série fonctionne.
C'est vraiment avec cette bibliothèque que j'ai le souci. Mais je sais qu'il est possible de les programmer avec cette bibliothèque ! c'est rageant xD

Je n'utilise pas Mysensors et ne connait pas sin fonctionnent

Par ailleurs je ne suis pas certain que le message reproduit au dessus soit un message d'erreur, j'y vois un signalement par l'esp8266 lui même d'un lancement de code.

Dans l'état acruel du code est-il c ensé afficher quelquechose sur la console ?

Oui.
j'ai ajouté un serial print dans le setup et le loop avec un baudrate de 9600 et rien ne s'affiche. il bloque avant le setup.

MySensors initialise Serial à 115200 baud.

En effet mais que je sois en 9600 en 115200 ou en 74880 (baudrate avec lequel j'arrive à avoir le message que j'arrête pas d'envoyer xD) le problème reste le même : il reste bloqué avant le setup{}

Pour ma part j'utilise uniquement des ARDUINOs (PRO MINI, NANO) avec MySensors.
Je sais que c'est compilable sur ESP8266, mais pour l'instant je n'ai pas encore essayé.

L'exemple RelayActuator sur ESP32 :

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:9720
ho 0 tail 12 room 4
load:0x40080400,len:6352
entry 0x400806b8
 
 __  __       ____
|  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
| |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
| |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
|_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
        |___/                      2.3.2

50 MCO:BGN:INIT REPEATER,CP=RNNRF---,FQ=240,REL=255,VER=2.3.2
67 MCO:BGN:BFR
70 TSF:LRT:OK
74 TSM:INIT
77 TSF:WUR:MS=0
86 !TSM:INIT:TSP FAIL
88 TSM:FAIL:CNT=1
91 TSM:FAIL:DIS
95 TSF:TDI:TSL

Ensuite la communication ne passe pas. Normal, je n'ai pas de NRF24L01 branché.

Sur ESP8266 j'ai des erreurs de compilation.

error: 'run_scheduled_recurrent_functions' was not declared in this scope
  run_scheduled_recurrent_functions();

Mais sur ESP32 ou ESP8266 je n'utilise pas de NRF24L01, j'utilise le WIFI avec JSON pour communiquer avec mon serveur DOMOTICZ, donc aucun intérêt pour moi de résoudre ces problèmes.
Quel est ton but précis ?

juste avoir un module le plus petit possible qui quand il en reçoit l'ordre active un relais.
Le wemos mini est parfait pour le faire vu l'encombrement que j'ai... ma gateway est sur un nano oui j'ai jamais eu de soucis avec.
j'ai fait d'autres modules avec des esp32 sans soucis mais la pour le d1 mini je galère...