Funktioniert super, aber ab und zu muss ich meine Fritzbox neustarten (Updates installieren).
Und nachdem diese neugebootet hat, ist der Arduino unter der fest vergebenen IP 192.168.2.10 nicht mehr erreichbar. Erst wenn ich den Arduino manuell neugestartet habe.
Ich nutze einen Uno Nachbau und ein W5100 Ethernet Shield Nachbau.
Kann mir jemand helfen, den manuellen Neustart irgendwie zu automatisieren oder würde das gegen die Copyright verstoßen?
Man kann bei den wenigen Infos nur vermuten. Ich vermute auch mal DHCP und keine feste IP und/oder in der Fritzbox nicht eingestellt, dass bekannte MAC wieder die gleiche IP bekommen bzw. eine feste IP für die MAC eingestellt.
Ihr müsstet nicht mutmaßen, wenn ihr den github Link anklickt
Dort könntet ihr doch den sketch herunterladen.
-->Zu viele Unterkategorien, als dass man da auf Anhieb durchblicken kann...
Poste einfach den entsprechenden Sketch in Code-Tags, da kann Dir besser geholfen werden
Ich hatte damals die LEDs vom Arduino verbannt. Habe den Uno und den W5100 Shield getauscht.
An den LEDs sehe ich, dass bei einem Neustart der W5100 sich nicht verbindet (grün wird).
Ich muss ihn manuell reseten. Möglich, weil ich den Strom vom USB der Fritzbox nehme.
Das Beste wäre eine Routine, die den Arduino 2 Minuten nach dem ersten anstecken an den Strom einmal neustartet. Ist sowas möglich ohne dass er ALLE 2 Minuten neustartet?
Oder alle 2 Minuten neustarten, wenn das Gateway nicht erreichbar ist?
So kanns gehen....
Ich hab mich mal umgeschaut, ich vermisse im Code aus #7 eine Art reconnect()-Routine.
Unter diesem Link ist mir aufgefallen, dass regelmäßig Ethernet.maintain() aufgerufen werden sollte.
Würde dies in der loop() hinzufügen.
Geht es immer noch nicht, würde ich eine Routine schreiben, die regelmäßig aufgerufen wird. Diese Routine prüft, ob eine Verbindung besteht. Wenn nicht, dann ein paar Sekunden warten, und versuchen, eine neue Verbindung aufzubauen (siehe Ethernet.begin() im setup())
Diese Ethernet Shield Nachbauten machen diese Probleme häufiger. Ich hatte dieses Problem auch aber nie mit den 3 originalen Shields von Arduino.
Was du noch versuchen könntest wäre DHCP zu aktivieren und im Router zu der MAC einen festen Hostname zu vergeben und über diesen dann zu verbinden.