The ENC28J60 Ethernet Shield for Arduino
The ENC28J60 Ethernet Shield is a low-cost ethernet shield for the Arduino. It is based on the microchip ENC28J60 ethernet controller.
Its been use with the arduino for sometime and there are a number of libraries available to work with this shield.
You can download the following zip file and extract its contents to the libraries folder of your arduino installation.
There are 2 folders in this library - etherShield and ETHER_28j60. The etherShield is a base library and the ETHER_28j60 is a wrapper around this based library that simplifies the functionalities of the etherShield library for the beginner. You can program your Ethernet Shield directly using the etherShield Library however, this library requires you have a finer understanding of networking and how it works. We suggest you stick to the ETHER_28J60. You can find documentation on this here.
The Shield uses 6 pins on the Arduino. It works over SPI - 4 Pins(digital 10,11,12,13) & it uses 2 additional pins - 1 for interrupt (digital 2) and 1 for the WOL pin of ENC28J60 (digital 5). In addition the Shield also provides a SD card Slot that can be controlled using SPI.
Chip Select Overview
To address cases where one needs to access both the SD card and the Ethernet Controller Over SPI, Chip Select Pin for the Ethernet Controller is provided with a jumper. This 3-Pin Jumper lets you choose between Digital Pins 8 & 10 of the Arduino to be used as the CS Pin. By default the Jumper Position is set to use the Digital Pin10 as CS. The SD card reader uses PIN 9 for CS. We suggest you leave the CS pin for the Ethernet Controller as 10 and modify the CS pin number in the SD example in arduino to get both working together.
Put the jumpers for PINS 2,5,10,11,12&13 in the off position. Place the Shield on top of your InduinoX Board. Connect an external Power supply to the board. The Ethernet Shield Requires more power than can be provided by your USB so an External Power Supply is required. Connect one end of your network cable to the Ethernet Shield and the other end to a Switch / Router (the same to which your computer / mobile is connected).
A Simple Test Program
Once you install the libraries, you can try the 'HelloWorld' program from ETHER_28j60 library. Upload the program, disconnect the board (make it standalone powered externally!), open your browser and type in the ip address of the board. (http://192.168.1.15).. Voila! now your arduino is on the network!
Controlling the InduinoX
The 'HelloWorld' is a simple program now to try the 'WebRemote' example. This will let you control the 6th pin on the InduinoX. You can modify this to achieve your web control needs.
Serving a Webpage from the SD Card
We have created a custom example for this. Check out the 'SD_Webpage' example from the ETHER_28j60 library. Copy the web.txt file to the root directory of your SD card for this example to work.
Heres a demo video...