/* Created by Fabio Nardini with Arduino with Ethernet Shield */ #include #include byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address byte ip[] = { 192, 168, 1, 178 }; // ip in lan (that's what you need to use in your browser. ("192.168.1.178") byte gateway[] = { 192, 168, 1, 1 }; // internet access via router byte subnet[] = { 255, 255, 255, 0 }; //subnet mask EthernetServer server(80); //server port String readString; boolean L1chk; boolean L2chk; boolean L3chk; boolean L4chk; boolean L5chk; boolean L6chk; boolean L7chk; boolean L8chk; int led; void setup() { // Open serial communications and wait for port to open: Serial.begin(9600); pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT); // start the Ethernet connection and the server: Ethernet.begin(mac); server.begin(); Serial.print("server is at "); Serial.println(Ethernet.localIP()); } void loop() { // Create a client connection EthernetClient client = server.available(); if (client) { while (client.connected()) { if (client.available()) { char c = client.read(); //read char by char HTTP request if (readString.length() < 100) { //store characters to string readString += c; //Serial.print(c); } //if HTTP request has ended if (c == '\n') { Serial.println(readString); //print to serial monitor for debuging client.println("HTTP/1.1 200 OK"); //send new page client.println("Content-Type: text/html"); client.println(); client.println(""); client.println(""); client.println(""); client.println(""); client.println("CONTROLLO LEDS"); client.println(""); client.println(""); client.println("

FLASHATI

"); client.println("
"); client.println("LED1"); client.println("LED2"); client.println("LED3"); client.println("LED4"); client.println("LED5"); client.println("LED6"); client.println("LED7"); client.println("LED8"); client.println("
"); client.println(""); client.println(""); delay(1); //stopping client client.stop(); //controls the Arduino if you press the buttons if (readString.indexOf("?1") >0){ ledUno(); } if (readString.indexOf("?2") >0){ ledDue(); } if (readString.indexOf("?3") >0){ ledTre(); } if (readString.indexOf("?4") >0){ ledQuattro(); } if (readString.indexOf("?5") >0){ ledCinque(); } if (readString.indexOf("?6") >0){ ledSei(); } if (readString.indexOf("?7") >0){ ledSette(); } if (readString.indexOf("?8") >0){ ledOtto(); } readString=""; } } } } } void ledUno(){ led = 2; if (L1chk == 0){ digitalWrite(led, HIGH); L1chk = 1; return; } if (L1chk == 1){ digitalWrite(led, LOW); L1chk = 0; return; } } void ledDue(){ led = 3; if (L2chk == 0){ digitalWrite(led, HIGH); L2chk = 1; return; } if (L2chk == 1){ digitalWrite(led, LOW); L2chk = 0; return; } } void ledTre(){ led = 4; if (L3chk == 0){ digitalWrite(led, HIGH); L3chk = 1; return; } if (L3chk == 1){ digitalWrite(led, LOW); L3chk = 0; return; } } void ledQuattro(){ led = 5; if (L4chk == 0){ digitalWrite(led, HIGH); L4chk = 1; return; } if (L4chk == 1){ digitalWrite(led, LOW); L4chk = 0; return; } } void ledCinque(){ led = 6; if (L5chk == 0){ digitalWrite(led, HIGH); L5chk = 1; return; } if (L5chk == 1){ digitalWrite(led, LOW); L5chk = 0; return; } } void ledSei(){ led = 7; if (L6chk == 0){ digitalWrite(led, HIGH); L6chk = 1; return; } if (L6chk == 1){ digitalWrite(led, LOW); L6chk = 0; return; } } void ledSette(){ led = 8; if (L7chk == 0){ digitalWrite(led, HIGH); L7chk = 1; return; } if (L7chk == 1){ digitalWrite(led, LOW); L7chk = 0; return; } } void ledOtto(){ led = 9; if (L8chk == 0){ digitalWrite(led, HIGH); L8chk = 1; return; } if (L8chk == 1){ digitalWrite(led, LOW); L8chk = 0; return; } }