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.  
  21.   Serial.begin(9600);
  22.  
  23. }
  24.  
  25. void loop()
  26. {
  27.   // když je připojen klient, zjistíme, zda jsou odeslána data
  28.   // od klienta směrem k nám
  29.    EthernetClient client = server.available();
  30.    String buffer = "";
  31.   // dokud je klient připojen
  32.    while (client.connected()) {
  33.      
  34.     // čti data od něj dokud nenarazíš na znak nového řádku
  35.      if (client.available()) {
  36.         char c = client.read();
  37.          buffer = buffer + c;
  38.          if (c == '\n') {
  39.          
  40.           if(buffer.indexOf("led1=1")>=0)
  41.           digitalWrite(2,HIGH);
  42.  
  43.           if(buffer.indexOf("led1=0")>=0)
  44.           digitalWrite(2,LOW);
  45.                        
  46.          
  47.          
  48.            
  49.            
  50.            // odešle klasickou hlavičku HTML stránky
  51.           client.println("HTTP/1.1 200 OK");
  52.           client.println("Content-Type: text/html");
  53.           client.println("Connection: close");
  54.           client.println();
  55.           client.println("<!DOCTYPE HTML>");
  56.          
  57.           // zde již klasická html data
  58.           client.println("<html>");
  59.           client.println("<head>");
  60.           // Název stránky
  61.           client.println("<title>Arduinio Server - LED control</title>");
  62.           client.println("</head>");
  63.           client.println("<body>");
  64.           // vygeneruje formulář
  65.           if (digitalRead(2)){
  66.           client.print(" LED je <font color='green'>ZAPNUTA</font>");
  67.           }else{
  68.           client.print(" LED je <font color='red'>VYPNUTA</font>");
  69.            }
  70.           client.println("</br>");
  71.           // zde si upravte na svoji IP adresu !!! ***********************
  72.           client.print("<FORM action='http://192.168.0.150' method='GET'>");
  73.           client.print("<P> <INPUT type='radio' name='led1' value='1'>ON");
  74.           client.print("<P> <INPUT type='radio' name='led1' value='0'>OFF");
  75.           client.print("<P> <INPUT type='submit' value='Odeslat'> </FORM>");
  76.                  
  77.           client.println("</body>");
  78.           client.println("</html>");
  79.          
  80.           //ukončí přenos
  81.           client.stop();
  82.          
  83.           // tento řádek odesílá pouze pro demostraci
  84.           // data, která prohlížeč odesíla Arduinu.
  85.           Serial.println(buffer);
  86.                      }
  87.                          }
  88.                               }
  89. }