Loading...
Pages: [1]   Go Down
Author Topic: ENC28J60 Ethernet beste Library  (Read 247 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 1
Posts: 61
Lego NXT + Arduino = great fun
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich habe mir überlegt ein Ethernetboard wie dieses hier zu holen:
http://www.ebay.de/itm/ENC28J60-Ethernet-LAN-Network-Module-For-Arduino-51-AVR-LPC-STM32-/170900783614?pt=LH_DefaultDomain_0&hash=item27ca7b01fe
Da diese Chips meines Wisssens nach nicht mit der Standard Library funktionieren (oder doch? Bitte klärt mich auf) suche ich eine gute Library die schon gut ausgereift ist.
Es sollte hauptsächlich in der Lage sein via telnet eine Email zu senden. Ich habe viele gefunden weiß aber nicht welche ich benutzen sollte.
Wer benutzt vielleicht sogar so ein Board und hat Erfahrung damit ?
Logged

Everybody makes mistakes, me too smiley

Offline Offline
Edison Member
*
Karma: 18
Posts: 1297
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Für Deinen Einsatzzweck würde ich von einem ENC28J60 abraten. Bisher kenne ich keine Lib, die TCP vernünftig umsetzt. Vor allem wenn es um einen TCP-Stream mit mehreren Paketen geht. Die Libs die ich kenne, können eine TCP-Verbindung aufbauen, ein Paket senden und gut. Beim Empfangen ebenso. Das klappt z.B. bei HTTP recht gut, solange nicht mehr Daten transportiert werden (egal in welche Richtung), als in ein Paket passen. Bei einer default MTU von 1500 sind das knapp 1.4KB. Mehrere Pakete erhöhen die Komplexität, da plötzlich Sequenznummern und ähnliches eine Rolle spielen.
Da Du aber SMTP (Mail senden) spechen willst, müssen immer mehrere Pakete übertragen werden, da SMTP eine Art "Frage-Antwort" Spiel zwischen Client und Server ist. Wenn Du eh in Hongkong bestellen willst, pack lieber noch 4 Euro drauf und nimm ein Shield mit W5100 Chip. Dort bildet der Chip die Protokolle TCP und UDP intern ab und Du kannst Dich auf die darüber liegenden Protokollschichten (siehe Wikipedia) kümmern.
Außerdem hast Du dann mit der Arduino IDE immer eine aktuelle Ethernet-Lib, die zur IDE passt, da sie Bestandteil davon ist.
Ein weiterer Vorteil ist, das Du mehr Speicher auf dem Arduino zur Verfügung hast, da die W5100 Lib deutlich Resourcen schonender ist, als die ENC28J60 Lib.
Mario.
Logged

Offline Offline
Jr. Member
**
Karma: 1
Posts: 61
Lego NXT + Arduino = great fun
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, dann wird es so ein Shield. Ich habe den Code schon am Computer mit telnet ausprobiert.
Wieso kann ich keine Email an mich bzw. an andere Server senden. Es geht nur mit 2 unterschiedlichen Emailadressen beim gleichen Server.
Was ist los?
Logged

Everybody makes mistakes, me too smiley

Germany S-H
Offline Offline
God Member
*****
Karma: 27
Posts: 775
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wieso kann ich keine Email an mich bzw. an andere Server senden. Es geht nur mit 2 unterschiedlichen Emailadressen beim gleichen Server.
Was ist los?

Wie sieht die Kommunikations zwischen Server und Client aus?
Authentifikation?

In Deutschland sind schon seit Jahren fast alle Mailserver bei Providern auf irgendeine Form von User-Authentifikation umgestellt und versenden Mail an fremde Mailserver nur dann, wenn sich der User als Kunde des Providers authentifiziert hat.
Logged

Offline Offline
Jr. Member
**
Karma: 1
Posts: 61
Lego NXT + Arduino = great fun
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Also ich benutze telnet und gmail:

>telnet gmail-smtp-in.l.google.com 25
220
>HELO
250
>MAIL FROM: <MEINEMAIL@gmail.com>
250
>RCPT TO: <empfänger@web.de>
hier kommt die Fehlermeldung:
550-5.1.1
Meine Empfängeradresse würde nicht exsistiern
Bei einer anderen Adresse (@online.de)kommt :
451-4.3.0 Multiple destination domains is unsupported

Brauch ich einen anderen Befehl?
Logged

Everybody makes mistakes, me too smiley

Switzerland
Offline Offline
Faraday Member
**
Karma: 69
Posts: 3256
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Auch Gmail liefert nicht einfach jede abgelieferte Email an andere Server aus, sonst wäre es in der SPAM-Flut schon längst versunken. Mit SMTP-Auth könnte es gehen, habe es aber selbst noch nicht ausprobiert. Evtl. musst Du dazu aber den Port 587 nehmen, da häufig nur dort authentisierte Verbindungen entgegengenommen werden.
Logged

Germany S-H
Offline Offline
God Member
*****
Karma: 27
Posts: 775
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Brauch ich einen anderen Befehl?

Du brauchst eine Authentifikation, vielleicht hilft Dir dieser Thread weiter, da ist sogar ein kompletter Arduino-Sketch dabei:
http://arduino.cc/forum/index.php/topic,151986.0.html

Der Sketch sendet allerdings per ungefragtem Pipelining die Kommandos viel zu schnell hintereinander, so dass manche Mailserver wie z.B. der von AOL darauf allergisch reagieren. Normal mußt Du nach jedem an den Mailserver abgesetzten Kommando die Rückantwort des Mailservers abwarten, bevor das nächste Kommando gesendet wird. Bei vielen Mailservern wie z.B. denen von 1&1 funktioniert der Sketch trotzdem, und bei vielen anderen wie AOL reicht ein delay an passender Stelle.
Logged

Offline Offline
Jr. Member
**
Karma: 1
Posts: 61
Lego NXT + Arduino = great fun
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Danke dann habe ich nur noch eins.
Brauche ich eine bestimte Library oder kann ich die normale aus der IDE nutzen.
Im Internet finde ich nichts dazu.
Logged

Everybody makes mistakes, me too smiley

Germany S-H
Offline Offline
God Member
*****
Karma: 27
Posts: 775
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Danke dann habe ich nur noch eins.
Brauche ich eine bestimte Library oder kann ich die normale aus der IDE nutzen.

Ethernet und SPI sind Standard-Libraries, die zur Arduino-Software bereits dazugehören und daher nicht extra installiert werden müssen.

Im Internet finde ich nichts dazu.

Mein Internet listet die Arduino Standard-Libraries auf dieser Seite auf:
http://arduino.cc/en/Reference/Libraries
Logged

Pages: [1]   Go Up
Print
 
Jump to: