Go Down

Topic: Arduino Mega - EthernetShield (Langsamer als duemilanove) (Read 779 times) previous topic - next topic

Trib

Hallo zusammen,

für mein LED Projekt habe ich mir nun einen Arduino Mega bei Watterott bestellt.
Der kam auch schon am folgenden Tag und ich habe ihn gleich ausprobiert. Dazu konnte ich einfach mein EthernetShield umstecken und den Sketch uploaden (Bordtyp natürlich umgestellt).
Auf der SD-Karte habe ich eine HTML-Seite liegen und der Aufruf dauert nun statt ca. 5 Sekunden etwa 45 Sekunden (!!!).

Muss ich bei der Programmierung irgendetwas spezielles beachten? Liegt es vielleicht auch nur an der SD Ansteuerung?

Bin für jeden Tipp dankbar :)

pylon

Grundsätzlich sollte der Mega genau gleich schnell sein, wie der Duemillanove. Hast Du einen Mega oder einen Mega2560? Welche Revision des Ethernet Shields hast Du (sollte auf der Rückseite stehen)? Kannst Du uns den Code zeigen?

uwefed

Der Upload auf den Arduino UNO und der Arduino MEGA 2560 sollten doppelt so schnell sein wie der des Arduino2009.
Die SD karte bzw das Ethernetshield sollten keinen Einfluß auf den Upload haben. Auch müßte der vom Kompiler generierte MaschienenKode nicht wesentlich größer sein.
Grüße Uwe

pylon

Habe ich oder Uwe was falsch verstanden?

Mein Verständnis ist, dass der Upload ohne Probleme geklappt hat (auch in normaler Zeit), aber der Zugriff über das Netz per Webserver viel langsamer geworden ist. Ist das "nur" bei den statischen Seiten, die von der SD-Karte kommen, der Fall oder grundsätzlich bei jedem Zugriff? Kannst Du auf dem Rechner, von dem aus Du zugreifst, mal den WireShark mitlaufen lassen? Werden ständig Pakete übertragen? Oder wartet der Arduino zuerst eine kleine Ewigkeit und sendet dann alle Daten auf einmal?

Was geschieht, wenn Du den Vorgang umdrehst? Also Ethernet-Shield zurück an den Duemillanove, Boardtyp wieder auf DMN und Sketch hochladen. Sind dann die Zugriffe wieder schnell oder immer noch langsam?

Trib

#4
Oct 05, 2012, 11:11 am Last Edit: Oct 05, 2012, 11:17 am by Trib Reason: 1
Hallo zusammen,

danke für die Antworten und die Denkanstöße!

Also grundsätzlich geht es natürlich nur um die Anzeige einer Webseite von der SD-Karte.
Der Upload des Sketches geht schneller als beim Duemilanove.

Was ich nun in meinen Tests feststellen konnte ist, dass auch der eine Seite die auf dem Arduino selbst zusammengebaut wird, deutlich länger dauert. Die SD ist es dann anscheinend nicht.
Die Anfrage wird vom Serial Monitor sofort ausgegeben. Dann passiert gefühlt erstmal eine ganze Weile garnichts. Ich muss mal die SD-Komponente so umschreiben, dass ich mir ein paar Zeiten ausgeben kann.
Übermittle ich z.B. von einer Webseite Farbcodes an das Shield, dann dauert dies auch doppelt so lange wie sonst. Dort wird im Hintergrund auch nur der String exrahiert und die Farbe meiner LED geändert. Eine Rückmeldung an die Webseite passiert nicht. Auch wird nichts von der SD geladen.
Mir kommt es so vor, als wäre der Takt vom Board irgendwie niedriger oder so...

Der Mega ist der 2560. Auf dem EthernetShield ist nur ein Aufkleber mit "90-A2--DA-00-58-87"
Der Coder ist für das Shield nahezu unverändert dieser:
Ladyada/ethfiles

Go Up