Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #include <SPI.h>
  2. #include <Ethernet.h>
  3.  
  4. // zde si upravte podle sebe
  5. byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
  6.  
  7. // IP adresa
  8. IPAddress ip(192,168,0, 150);
  9. // port
  10. EthernetServer server(80);
  11.  
  12. void setup()
  13. {
  14.   // inicalizace sítě
  15.   Ethernet.begin(mac, ip);
  16.   // inicializace serveru
  17.   server.begin();
  18.   // nastavíme pin 2 jako výstup pro LED
  19.   pinMode(2, OUTPUT);
  20.   pinMode(3, OUTPUT);
  21.  
  22.   Serial.begin(9600);
  23.  
  24. }
  25.  
  26. void loop()
  27. {
  28.   // když je připojen klient, zjistíme, zda jsou odeslána data
  29.   // od klienta směrem k nám
  30.    EthernetClient client = server.available();
  31.    String buffer = "";
  32.   // dokud je klient připojen
  33.    while (client.connected()) {
  34.      
  35.     // čti data od něj dokud nenarazíš na znak nového řádku
  36.      if (client.available()) {
  37.         char c = client.read();
  38.          buffer = buffer + c;
  39.          if (c == '\n') {
  40.          
  41.           if(buffer.indexOf("led1=1")>=0)
  42.           digitalWrite(2,HIGH);
  43.  
  44.           if(buffer.indexOf("led1=0")>=0)
  45.           digitalWrite(2,LOW);
  46.          
  47.           if(buffer.indexOf("led2=1")>=0)
  48.           digitalWrite(3,HIGH);
  49.  
  50.           if(buffer.indexOf("led2=0")>=0)
  51.           digitalWrite(3,LOW);
  52.                        
  53.          
  54.          
  55.            
  56.            
  57.            // odešle klasickou hlavičku HTML stránky
  58.           client.println("HTTP/1.1 200 OK");
  59.           client.println("Content-Type: text/html");
  60.           client.println("Connection: close");
  61.           client.println();
  62.           client.println("<!DOCTYPE HTML>");
  63.          
  64.           // zde již klasická html data
  65.           client.println("<html>");
  66.           client.println("<head>");
  67.           // Název stránky
  68.           client.println("<title>Arduinio Server - LED control</title>");
  69.           client.println("</head>");
  70.           client.println("<body>");
  71.           // vygeneruje formulář
  72.           if (digitalRead(2)){
  73.           client.print("<a href='http://192.168.0.150?led1=0'><button style='background:lightgreen;width:100%;height:40px'>LED 1</button></a>");
  74.           }else{
  75.           client.print("<a href='http://192.168.0.150?led1=1'><button style='background:green;width:100%;height:40px'>LED 1</button></a>");
  76.            }
  77.            
  78.            if (digitalRead(3)){
  79.           client.print("<a href='http://192.168.0.150?led2=0'><button style='background:lightgreen;width:100%;height:40px'>LED 2</button></a>");
  80.           }else{
  81.           client.print("<a href='http://192.168.0.150?led2=1'><button style='background:green;width:100%;height:40px'>LED 2</button></a>");
  82.            }
  83.           client.println("</br>");
  84.  
  85.            
  86.                  
  87.           client.println("</body>");
  88.           client.println("</html>");
  89.          
  90.           //ukončí přenos
  91.           client.stop();
  92.           Serial.println(buffer);
  93.                      }
  94.                          }
  95.                               }
  96. }