Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SPI.h>
- #include <Ethernet.h>
- #define LED1 3
- #define LED2 5
- byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; //MAC adresa
- IPAddress ip(192, 168, 1, 177); //nahradna IP
- EthernetServer server(80); //vytvorenie objektu pre HTTP(80) server
- void setup() {
- Serial.begin(9600); //seriova linka pre debugovacie ucely
- pinMode(LED1, OUTPUT);
- pinMode(LED2, OUTPUT);
- if(!Ethernet.begin(mac)) //ak sa nepodari nacitat IP cez DHCP
- Ethernet.begin(mac, ip); //nastavime ju na pevno
- server.begin(); //spustime pocuvanie servera na poziadavky klientov
- Serial.print("Server ma IP adresu ");
- Serial.println(Ethernet.localIP());
- }
- void loop(){
- String buffer=""; //buffer pre prijimanie znakov
- char c; //premenna pre nacitanie znaku
- EthernetClient client = server.available(); //ak server detegoval nejake prichadzajuce spojenie, vytvori klienta pre odosielanie dat
- while (client.connected()) { //pokial je klient pripojeny
- if(client.available()){ //ak este existuju data poslane od klienta
- c=client.read(); //nacitaj jeden znak z tychto dat
- if(c!='\n') buffer+=c; //ak to nie je znak konca riadku, pridaj ho do buffra
- else { //ak to je znak konca riadku
- if(buffer.indexOf('\r')==0) { //zisti, ci pred tym prijaty znak \r v buffri je na prvom mieste (index 0)
- client.println("HTTP/1.1 200 OK"); //posli HTTP response
- client.println("Content-Type: text/html");
- client.println("Connection: close");
- client.println();
- client.println("<!DOCTYPE HTML>");
- client.println("<html>");
- client.println("<head>");
- client.println("<meta charset=\"UTF-8\">");
- client.println("<title>Ovládanie LED</title>");
- client.println("</head>");
- client.println("<body>");
- client.println(" <form method=\"GET\">");
- client.println(" LED1:");
- client.println(" <input type=\"radio\" name=\"led1\" value=\"1\" id=\"led1on\">");
- client.println(" <label for=\"led1on\">zapnúť</label>");
- client.println(" <input type=\"radio\" name=\"led1\" value=\"0\" id=\"led1off\">");
- client.println(" <label for=\"led1off\">vypnúť</label><br>");
- client.println(" LED2:");
- client.println(" <input type=\"radio\" name=\"led2\" value=\"1\" id=\"led2on\">");
- client.println(" <label for=\"led2on\">zapnúť</label>");
- client.println(" <input type=\"radio\" name=\"led2\" value=\"0\" id=\"led2off\">");
- client.println(" <label for=\"led2off\">vypnúť</label><br>");
- client.println(" <input type=\"Submit\">");
- client.println(" </form>");
- client.println("</body>");
- client.println("</html>");
- client.stop();
- }
- else {
- if(buffer.startsWith("GET")){
- if(buffer.indexOf("led1=1")>=0) digitalWrite(LED1,HIGH);
- if(buffer.indexOf("led1=0")>=0) digitalWrite(LED1,LOW);
- if(buffer.indexOf("led2=1")>=0) digitalWrite(LED2,HIGH);
- if(buffer.indexOf("led2=0")>=0) digitalWrite(LED2,LOW);
- }
- }
- buffer="";
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement