Messages : 159
Sujets : 5
Inscription : Nov 2024
(11-01-2025, 06:24 PM)michy a écrit : => voir pour traiter le cas ou l'on à pas réussit a obtenir d'IP avec un module Ethernet détecté, (câble débranché ...), [ça démarre en wifi AP après un gros délai]
Bonjour,
J'ai baissé le timeout à 5 secondes.
J'ai actualisé la 1ère page avec les nouveaux diagrammes. Les sources sont à jour et j'ai ajouté les binaires.
André, est-il possible d'inclure le code dans la v14 ? C'est transparent pour ceux qui utilisent le wifi. Il suffit de chercher Rj45 pour retrouver les ajouts / modifs (Solar_Router_V13_03_ethernet.ino, Server.ino, MQTT.ino)
Merci.
Messages : 1,240
Sujets : 41
Inscription : May 2024
C'est dans la liste des évolutions.
Patience...Tout cela prend beaucoup de temps.
André
Messages : 159
Sujets : 5
Inscription : Nov 2024
17-03-2025, 08:02 PM
(Modification du message : 17-03-2025, 08:03 PM par Chris.)
Bonjour,
Voici les changements à apporter à la V14.11 pour pouvoir supporter les modules W5500
ligne 456:
Code :
// ajouts W5500
#define RJ45_CS 21 // SPI gpio pin number or (Default is SS 5 for ESP32)
#define SCK_PIN 15 // SPI gpio pin number or (Default is SCK 18 for ESP32)
#define MOSI_PIN 12 // SPI gpio pin number or (Default is MOSI 23 for ESP32)
#define MISO_PIN 39 // SPI gpio pin number or (Default is MISO 19 for ESP32)
#define DHCP_TIMEOUT 5000
// fin ajouts W5500
W5500Driver driver(RJ45_CS);
//EMACDriver driver(ETH_PHY_LAN8720, 23, 18, 16);
ligne 723
Code :
if (ESP32_Type == 10) {
Serial.println("Lancement de la liaison Ethernet"); //Ethernet (avant Horloge)
SPI.begin(SCK_PIN, MISO_PIN, MOSI_PIN, RJ45_CS); // affect gpio used by SPI3 device
Ethernet.init(driver);
WiFi.begin("dummy");
byte mac[6];
WiFi.macAddress(mac);
mac[0] = 0xDE;
mac[1] = 0xAD;
mac[2] = 0xBE;
Serial.printf("Adresse mac ethernet: %02x:%02x:%02x:%02x:%02x:%02x\n", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
Ethernet.setHostname((const char *)hostname.c_str());
//Ethernet.hostname(hostname);
if (dhcpOn == 0) { //Static IP
//optional
//Adresse IP eventuelles
//optional
Ethernet.begin(mac, local_IP, primaryDNS, gateway, subnet);
delay(100);
Ethernet.begin(mac, local_IP, primaryDNS, gateway, subnet); //On s'y prend 2 fois. Parfois ne reussi pas au premier coup
delay(100);
StockMessage("Adresse IP Ethernet fixe : : " + Ethernet.localIP().toString());
} else {
Serial.println("Initialisation Ethernet par DHCP:");
if (Ethernet.begin(mac, DHCP_TIMEOUT)) {
StockMessage("Adresse IP Ethernet assignée par DHCP : " + Ethernet.localIP().toString());
} else {
Serial.println("Failed to configure Ethernet using DHCP");
delay(1);
}
}
Attention toutefois, avec le code que j'avais proposé le routeur passait en mode wifi si le module ethernet n'était pas détecté ou le câble réseau n'était pas connecté. Ce n'est pas le cas avec le code d'André: soit vous avez une configuration ethernet exclusive, soit vous avez une configuration wifi exclusive.
Messages : 93
Sujets : 13
Inscription : Jun 2024
19-03-2025, 09:40 PM
(Modification du message : 19-03-2025, 09:41 PM par jeannot.)
Bonsoir, en v14.11 je ne comprends pas l'erreur de compilation. Si quelqu'un a une idée ! PB de déclaration ?? Merci pour votre aide
D:\Arduino_Jean\v14_11\Solar_Router_V14_11\Solar_Router_V14_11.ino:462:8: error: conflicting declaration 'int8_t RXD2'
462 | int8_t RXD2 = -1, TXD2 = -1; //Port serie
| ^~~~
In file included from C:\Users\tallo\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-gpio.h:29,
from C:\Users\tallo\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal.h:75,
from C:\Users\tallo\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/Arduino.h:36,
from C:\Users\tallo\AppData\Local\arduino\sketches\3F92CAD8EA7412E4F9E09ED87DD8133B\sketch\Solar_Router_V14_11.ino.cpp:1:
C:\Users\tallo\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\variants\wt32-eth01/pins_arduino.h:43:22: note: previous declaration as 'const uint8_t RXD2'
43 | static const uint8_t RXD2 = 5, RXD = 5;
| ^~~~
D:\Arduino_Jean\v14_11\Solar_Router_V14_11\Solar_Router_V14_11.ino:462:19: error: conflicting declaration 'int8_t TXD2'
462 | int8_t RXD2 = -1, TXD2 = -1; //Port serie
| ^~~~
C:\Users\tallo\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\variants\wt32-eth01/pins_arduino.h:42:22: note: previous declaration as 'const uint8_t TXD2'
42 | static const uint8_t TXD2 = 17, TXD = 17;
| ^~~~
D:\Arduino_Jean\v14_11\Solar_Router_V14_11\Solar_Router_V14_11.ino: In function 'void InitGPIOs()':
D:\Arduino_Jean\v14_11\Solar_Router_V14_11\Solar_Router_V14_11.ino:1314:10: error: assignment of read-only variable 'RXD2'
1314 | RXD2 = RX2_[pSerial]; //Port serie
| ~~~~~^~~~~~~~~~~~~~~
D:\Arduino_Jean\v14_11\Solar_Router_V14_11\Solar_Router_V14_11.ino:1315:10: error: assignment of read-only variable 'TXD2'
1315 | TXD2 = TX2_[pSerial];
Messages : 159
Sujets : 5
Inscription : Nov 2024
Bonjour,
Ça te le fait uniquement quand tu utilises mon code ? Avec le code initial pas de problème ?
Si ça te le fait également avec le code initial, merci de poster dans "Routeur Photovoltaïque" et pas dans ce sujet ni cette rubrique réservée aux évolutions.
Messages : 93
Sujets : 13
Inscription : Jun 2024
Désolé pour la mauvaise place, je vais poster dans la bonne rubrique. Sinon oui avec le code original