Arduino Spielwiese von Rainer Radow (Radowino)

22.04.2013
Übersicht

Ethercard mit ENC28J60 - oder - in 10 Minuten am Netz

Vor ca. 3 Wochen hatte ich mir bei DEAL Extreme oder kurz dx.com ein "JY-MCU ENC28J60 Ethernet Module - Blue" für 7 US Dollar incl. Fracht aus China bestellt (habe es jetzt irgendwo auch schon für 6 US Dollar gesehen). Heute ist es angekommen.

Um es für die Ungeduldigen abzukürzen: mit dieser Platine und einem Arduino kann man z.B. einen eigenständigen Webserver aufbauen und programmieren. Ich habe ihn manchmal auch hier laufen: arduino.radow.org. Das "machen" alles nur der Arduino und dieses Ethernetmodul. Dazu wird weiter kein PC oder sonstiges benötigt. Und weil das so billig ist, hat das bald auch Eure Waschmaschine oder der Rasierer. Die buchen dann immer gleich den Servicetechniker selbst - Ihr müsst nur die Kreditkatennumer eintragen.


Nun aber zur Technik. So kam das Modul heute aus der Tüte:


Dieses Modul verwendet den ENC28J60 Chip und kann daher nicht mit der Arduino "Ethernet" Bibliothek benutzt werden. Ein kurzes googeln brachte mich zu der Bibliothek "EtherCard" auf Github https://github.com/jcw/ethercard . Das Paket läd man sich z.B. als Zip herunter und speichert es im Arduino-Verzeichnis "libaries" - das war es dann schon auf der Treiberseite.

Im Verzeichnis EtherCard findet man die Datei EtherCard.h. In ihr ist die Pinbelegung beschrieben:
PIN Connections (Using Arduino UNO):
VCC - 3.3V
GND - GND
SCK - Pin 13
SO - Pin 12
SI - Pin 11
CS - Pin 8

Auf meinem "JY-MCU ENC28J60 Ethernet Module - Blue" gab es eine abweichende Beschriftung.
SO = MISO
SI = MOSI
Ansosnten ist alles gleich.
Bitte beachten, dass das Modul mit 3,3 Volt betrieben wird - man könnte es auch über 5 Volt laufen lassen, da ja ein Regulator mit auf dem Bord sitzt, ist ja abernicht nötig, da der Arduino auch 3,3 Volt zur Verfügung stellt! - aber bitte nie die 3,3 Volt mit den 5 Volt vertauschen!

So sieht mein Verbindungskabel aus. Ich verwende immer lieber durchgehende Steckerleisten. Dann kommt man nicht durcheinander...


Ein Blick von oben. 3,3 Volt liegt auf dem weißen Draht. Grau führt GND.


Nur Weiß geht auf die andere Seite zu 3,3 Volt.


Alles angeschlossen und betriebsbereit - PS: mit meinem Arduino MEGA 2560 funktioniert es noch nicht...:


Als erstes habe ich das Programm PINGS aus den mitgelieferten Beispielen ausprobiert. Man muss am Code nichts verändern! Hier kann man ganz schnell testen, ob Arduino und ENC28J60 zusammen arbeiten. Wenn man den Seriellen Monitor startet, muss er natürlich auf 57600 baud eingestellt werden! Sonst sieht man nur "Murks"


Meine Fritzbox hat dem Arduino/ENC28J60 die IP-Adresse 192.168.0.43 gegeben. Man erkennt ihn an der im Quellcode definierten MAC Adresse:


Als nächste habe ich das Beispiel "backSoon" geladen. Es baut auf dem Arduino einen Web-Server auf.
Im Seriellen Monitor wir die von der Fritzbox vergebene IP 192.168.0.43 angezeigt.
Gibt man diese IP im lokalen Web Browser ein, wird die Webseite exakt so angezeigt, wie links im Quellcode programmiert. Da sind der Phantasie nun keine Grenzen mehr gesetzt und man kann genau so weiter machen, wie mit dem bekannten Arduino Ethernet-Shield.


Damit der Arduino auch von draußen antelefoniert wedrden kann, benötigt er eine Portfreigabe in der Fritz Box. Dies funktioniert am besten mit einer statischen IP-Adresse.

Also setzt man zuerst im Quellcode die Definition des Wertes STATIC von 0 auf 1 (links oben im Bild). Jetzt setzt der Arduino die eigenen Adressen, die natürlich in das eigen Heimnetz passen muss. Bei mir nimmt der Arduino sich die statische Adresse 192.168.0.200. Startet man den Arduino und den Seriellen Monitor (rechts oben im Bild), sieht man, dass das mit der statischen IP funktioniert hat. Auch die Fritz Box sieht ihn nun mit der Endziffer 200 im Netz.


Wenn man jetzt dem Arduino in der Portfreigabe eine 80 spendiert und eine Dynamische DNS für seinen Heimanschluss bezogen hat, kann man auch von "draußen" jederzeit sehen, was der Arduino so zu sagen hat. Bei mir ist das die Adresse arduino.radow.org - siehe Browser oben im Bild - manchmal ist dieser Server auch angeschaltet...

So, nun hat das Schreiben dieser Seite länger gedauert, als das auspacken und Ausprobieren des "JY-MCU ENC28J60 Ethernet Module - Blue". Hoffentlich hilft es ein wenig...


Übersicht
Bitte sendet mir Euren Kommentar zu meinen Arduino Projekten: rainer @ radow . org
Diese Seiten werden von Hannover, Deutschland aus erstellt und gewartet. Von dir heruntergeladen
radow.eu / radow.org
dampfkraft.de / steamboating.de
um: Fri, 31 Oct 2014 06:18:55 +0100