Arduino communication through ethernet

26th August 2015, Zilina
Wiring for UNO:
VCC - 3.3V
GND - GND
SCK - Pin 13
SO - Pin 12
SI - Pin 11
CS - Pin 8

I got from eBay pair of ethernet modules so they were laying on my shelf for few months. I decided to try I would be able to do something with them. I tested only basic function to be sure that it's running and would be able to use in in near future :D So here is how I did it.

Tested sketch which I downloaded into the board. Sorry for code indention I have to transform it to HTML :) It's quite simple for understanding.

// This demo does web requests via DHCP and DNS lookup.
// 2011-07-05 <jc@wippler.nl> http://opensource.org/licenses/mit-license.php

#include <EtherCard.h>

#define REQUEST_RATE 5000 // milliseconds

// ethernet interface mac address
static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };
// remote website name
const char website[] PROGMEM = "om6akl.nagano.cz";

byte Ethernet::buffer[700];
static long timer;

// called when the client request is complete
static void my_result_cb (byte status, word off, word len) {
Serial.print("<<< reply ");
Serial.print(millis() - timer);
Serial.println(" ms");
Serial.println((const char*) Ethernet::buffer + off);
}

void setup () {
Serial.begin(9600);
Serial.println("\n[getDHCPandDNS]");

if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)
Serial.println( "Failed to access Ethernet controller");

if (!ether.dhcpSetup())
Serial.println("DHCP failed");

ether.printIp("My IP: ", ether.myip);
// ether.printIp("Netmask: ", ether.mymask);
ether.printIp("GW IP: ", ether.gwip);
ether.printIp("DNS IP: ", ether.dnsip);

if (!ether.dnsLookup(website))
Serial.println("DNS failed");
ether.printIp("Server: ", ether.hisip);

timer = - REQUEST_RATE; // start timing out right away
}

void loop () {

ether.packetLoop(ether.packetReceive());

if (millis() > timer + REQUEST_RATE) {
timer = millis();
Serial.println("\n>>> REQ");
ether.browseUrl(PSTR("/Arduino_projekty/"), "testing_file.txt", website, my_result_cb);
}
}

Arduino was receving data through ethernet module from my personal webpage. I started serial monitor to see what is happening inside it.

To see data inside Arduino I opened serial monitor in Arduino IDE and checked if there is my text file.

Attachements


Spat