#include #include #include /* Simple Ethernet Test Arduino server outputs simple text to browser and controlling LED with simple checkbox The circuit: * Arduino Duemilanove * Arduino Ethernet shield * Basic FTDI breakout 5V * LED connected to GND and digital pin 4 via resistor By Minde http://www.sciencprog.com/ */ byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address byte ip[] = { 192, 168, 1, 200 }; // ip in lan byte gateway[] = { 192, 168, 1, 0 }; // internet access via router byte subnet[] = { 255, 255, 255, 0 }; //subnet mask Server server(80); //server port byte sampledata=50; //some sample data – outputs 2 (ascii = 50 DEC) int ledPin = 4; // LED pin char link[]="http://www.nicvix.com/"; //link data String readString = String(30); //string for fetching data from address boolean LEDON = false; //LED status flag void setup(){ //start Ethernet Ethernet.begin(mac, ip, gateway, subnet); //Set pin 4 to output pinMode(ledPin, OUTPUT); //enable serial datada print Serial.begin(9600); } void loop(){ // Create a client connection Client client = server.available(); if (client) { while (client.connected()) { if (client.available()) { char c = client.read(); //read char by char HTTP request if (readString.length() < 30) { //store characters to string readString += (c); } //output chars to serial port Serial.print(c); //if HTTP request has ended if (c == '\n') { //lets check if LED should be lighted if(readString.indexOf("L=1")>=0) { //led has to be turned ON digitalWrite(ledPin, HIGH); // set the LED on LEDON = true; } else { //led has to be turned OFF digitalWrite(ledPin, LOW); // set the LED OFF LEDON = false; } // now output HTML data starting with standart header client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(); //set background to white client.print(""); //send first heading client.println(""); client.println("

Teste HTTP (by Marquito)

"); client.println("
"); //output some sample data to browser // client.println("Sample data: "); // client.print(sampledata);//lets output some data // client.println("
");//some space between lines // client.println("
"); //printing some link // client.println("Link: "); // client.print("Visite o nicvix!"); // client.println("
"); // client.println("
"); //controlling led via checkbox client.println("

LED control

"); //address will look like http://192.168.1.110/?L=1 when submited client.println("
LED
"); client.println("
"); //printing LED status client.print("LED status: "); if (LEDON) client.println("ON"); else client.println("OFF"); client.println("
"); client.println("
"); client.println(""); //clearing string for next read readString=""; //stopping client client.stop(); } } } } }