Quick And Dirty Arduino Ethernet

Mit dem ENC28J60 Breakout steht ein preisgünstiges Ethernet Modul zu Verfügung – gibt es eine simple Lösung dieses Modul mit einem Arduino zu verbinden? Ja – hier unser Low Budget – Quik and Dirty Arduino  Ethernet:

 

ENC28J60 Arduino Ethernet

Die Eingänge des ENC28J60 sind laut Datenblatt 5V tolerant – die Eingänge des Arduino/ATMEL328 sind auch relativ tolerant bezüglich der Pegel (ca. 2,6V H, ca 2,1V L bei 5V Vcc)  – es spricht also nichts dagegen beide auf direktem Weg zu verbinden.

PIN Belegung:

  • INT           Digital 2
  • SO             Digital 12
  • SCK           Digital 13
  • RESET      RESET
  • GND          GND
  • Clockout   frei
  • WOL         frei
  • SI              Digital 11
  • CS             Digital  10
  • VCC           3,3V (per 2x 1N4007 an 5V)

die 3,3V Versorgungsspannung für des Ethernet Modul wird durch zwei in Reihe geschaltete Dioden (1N4007 in diesem Fall) „erzeugt“ – das ist echt quikanddirty ;-)

Verkabelung zum Test mit Jumper und Patchkabel

schnell noch die ethershield library installiert – das Webserver Example in die Arduino IDE geladen – richtige IP Adresse eingegeben – aber – Fehler beim kompilieren:

/home/michi/arduino-0021/libraries/etherShield/etherShield.cpp:8:25: Fehler: EtherShield.h: Datei oder Verzeichnis nicht gefunden
/home/michi/arduino-0021/libraries/etherShield/etherShield.cpp:11: Fehler: »EtherShield« has not been declared
/home/michi/arduino-0021/libraries/etherShield/etherShield.cpp:11: Fehler: ISO-C++ verbietet Deklaration von »EtherShield« ohne Typ
/home/michi/arduino-0021/libraries/etherShield/etherShield.cpp:14: Fehler: »EtherShield« is not a class or namespace
/home/michi/arduino-0021/libraries/etherShield/etherShield.cpp:18: Fehler: »EtherShield« is not a class or namespace

Hmm – scheinbar hat es sich immer noch nicht rumgesprochen dass richtige Betriebssysteme „case sensitive“ sind es also nicht egal ist ob man Files gross oder klein schreibt ;-)

auf einem Windows System würde es  wahrscheinlich laufen – doch leider sitze ich ich an einem Ubuntu Linux System…

also entweder man nennt das File etherShield.h in EtherShield.h um und ändert auch im Sketch   #include „etherShield.h“ in #include „EtherShield.h“

oder man editiert Ethershield.cpp und passt dort #include „etherShield.h“  an…

…na ja – jedenfalls läuft es nun:

Update:

Habe ich eben grad noch gefunden: Updated Arduino ENC28J60 Ethernet library available  http://blog.thiseldo.co.uk/?p=504

Diese Library wurde erweitert (DNS Support!!) und kompiliert auch unter Linux!

Update 12.11.2012

Momentan die einzige Library die ich finden konnte die  auch in der Arduino IDE 1.x richtig funktioniert:

Jeelabs Ethercard library

Der CS Anschluss am ENC28J60 Breakout muss mit Arduino Digital Pin 8 verbunden  oder per  (ether.begin(sizeof Ethernet::buffer, mymac, 10) z.B auf Pin 10 gesetzt werden.

 

 

ToDo:

WOL – Wake on LAN – was könnte man damit alles anstellen?

 

Links Datenblätter etc:

Ethernet Breakout mit ENC28J60

ENC28J60 Datenblatt

Library von nuelectronics

Updated Arduino ENC28J60 Ethernet library – mit DNS Support!!

 

 

 

 

 

 

 

 

 

 

Dieser Beitrag wurde unter Arduino, Produkte veröffentlicht. Setze ein Lesezeichen auf den Permalink.

5 Antworten auf Quick And Dirty Arduino Ethernet

Schreibe einen Kommentar