Der andere code Teil läuft ja schon Prima.
Auch diverse Codebeispiele funktionieren...
Und Hier die Ausgabe an der Console
IP: 192.168.188.111
Subnet: 255.255.255.0
Gateway: 192.168.188.1
DNS Server: 192.168.188.1
MAC: DE:AD:BE:EF:FE:ED
Webserver Port: 80
USE DHCP: 0
DHCP renew every 60 minutes
Config Set: 1
CurrentIP 223.171.189.239
Der Ganze code ist viel zu lange ....
Der entscheidend teil liegt hier ->
void setupNetwork() {
read_EEPROM_Settings();
#ifdef DEBUG
print_EEPROM_Settings();
#endif
// byte mac[] = { eeprom_config.mac[0], eeprom_config.mac[1], eeprom_config.mac[2], eeprom_config.mac[3], eeprom_config.mac[4], eeprom_config.mac[5] };
if (eeprom_config.use_dhcp != 1) {
IPAddress ip(eeprom_config.ip[0], eeprom_config.ip[1], eeprom_config.ip[2], eeprom_config.ip[3]);
IPAddress gateway (eeprom_config.gateway[0],eeprom_config.gateway[1],eeprom_config.gateway[2],eeprom_config.gateway[3]);
IPAddress subnet (eeprom_config.subnet[0], eeprom_config.subnet[1], eeprom_config.subnet[2], eeprom_config.subnet[3]);
IPAddress dns_server (eeprom_config.dns_server[0], eeprom_config.dns_server[1], eeprom_config.dns_server[2], eeprom_config.dns_server[3]);
Ethernet.begin(eeprom_config.mac, ip, dns_server, gateway, subnet);
//Debugging
Serial.print("CurrentIP ");
Serial.println(Ethernet.localIP());
} else {
if (Ethernet.begin(eeprom_config.mac) == 0) {
Serial.print("Failed to configure Ethernet using DHCP");
}
Serial.println(Ethernet.localIP());
}
}
// END Network section #########################################################################################################################################
Pinmode gehört natürlich am anfang beim Setup .....
ich wollt nur was testen ...
Hier die config IP
void set_EEPROM_Default() {
eeprom_config.config_set=1; // dont change! It's used to check if the config is already set
eeprom_config.use_dhcp=0; // use DHCP per default
eeprom_config.dhcp_refresh_minutes=60; // refresh the DHCP every 60 minutes
// set the default MAC address. In this case its DE:AD:BE:EF:FE:ED
eeprom_config.mac[0]=0xDE;
eeprom_config.mac[1]=0xAD;
eeprom_config.mac[2]=0xBE;
eeprom_config.mac[3]=0xEF;
eeprom_config.mac[4]=0xFE;
eeprom_config.mac[5]=0xED;
// set the default IP address for the arduino. In this case its 192.168.0.111
eeprom_config.ip[0]=192;
eeprom_config.ip[1]=168;
eeprom_config.ip[2]=188;
eeprom_config.ip[3]=111;
// set the default GATEWAY. In this case its 192.168.0.254
eeprom_config.gateway[0]=192;
eeprom_config.gateway[1]=168;
eeprom_config.gateway[2]=188;
eeprom_config.gateway[3]=1;
// set the default SUBNET. In this case its 255.255.255.0
eeprom_config.subnet[0]=255;
eeprom_config.subnet[1]=255;
eeprom_config.subnet[2]=255;
eeprom_config.subnet[3]=0;
// set the default DNS SERVER. In this case its 192.168.0.254
eeprom_config.dns_server[0]=192;
eeprom_config.dns_server[1]=168;
eeprom_config.dns_server[2]=188;
eeprom_config.dns_server[3]=1;
// set the default Webserver Port. In this case its Port 80
eeprom_config.webserverPort=80;
#ifdef DEBUG
Serial.println("Config reset");
#endif
}