Août 122013
 

Here below a quick how to use an arduino and a cheap enc28j60 ethernet module (5€).

Can be handy to built a quick web server and some sensors (like a ds18b20 for example).

below the wiring :

enc28j60_bb

below a sketch using the ethercard library (provided with Arduino GUI) :

// Present a "Will be back soon web page", as stand-in webserver.
// 2011-01-30 <jc@wippler.nl> http://opensource.org/licenses/mit-license.php
 
#include <EtherCard.h>

#define STATIC 0  // set to 1 to disable DHCP (adjust myip/gwip values below)

#if STATIC
// ethernet interface ip address
static byte myip[] = { 192,168,1,200 };
// gateway ip address
static byte gwip[] = { 192,168,1,1 };
#endif

// ethernet mac address - must be unique on your network
static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };

byte Ethernet::buffer[500]; // tcp/ip send and receive buffer

char page[] PROGMEM =
"HTTP/1.0 200 OK\r\n"
"Content-Type: text/html\r\n"
"Retry-After: 600\r\n"
"\r\n"
"<html>"
  "<head><title>"
    "my web page"
  "</title></head>"
  "<body>"
    "<h3>hello world !</h3>"
  "</body>"
"</html>"
;

void setup(){
  Serial.begin(38400);
  Serial.println("\n[backSoon]");
  
  if (ether.begin(sizeof Ethernet::buffer, mymac) == 0) 
    Serial.println( "Failed to access Ethernet controller");
#if STATIC
  ether.staticSetup(myip, gwip);
#else
  if (!ether.dhcpSetup())
    Serial.println("DHCP failed");
#endif

  ether.printIp("IP:  ", ether.myip);
  ether.printIp("GW:  ", ether.gwip);  
  ether.printIp("DNS: ", ether.dnsip);  
}

void loop(){
  // wait for an incoming TCP packet, but ignore its contents
  if (ether.packetLoop(ether.packetReceive())) {
    memcpy_P(ether.tcpOffset(), page, sizeof page);
    ether.httpServerReply(sizeof page - 1);
  }
}
 Posted by at 14 h 21 min

3
Poster un Commentaire

avatar
2 Fils de commentaires
1 Réponses de fil
0 Abonnés
 
Commentaire avec le plus de réactions
Le plus populaire des commentaires
3 Auteurs du commentaire
Dexterousadminallspark Auteurs de commentaires récents

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  S’abonner  
plus récent plus ancien
Notifier de
allspark
Invité
allspark

recently i did experiment with enc28j60 . i was able to run the hello world program using WiFi. The problem is that when i use my cellphone internet and try to access ip 192.168.2.15 after disconnecting wifi the web page doesnt shows up

Dexterous
Invité
Dexterous

Hey,
I am grateful to you, Although you have shared an Example! but still this one helped me solving my problem.
Thankyou. 🙂