#include #include #include // zde si upravte podle sebe byte mac[] = { 0xD4, 0xAD, 0xBE, 0xEF, 0xFE, 0x7D }; // IP adresa IPAddress ip(192,168,0, 88); // port EthernetServer server(80); EthernetClient client; int odpoved [25]; //GET / HTTP/1.1 byte odpoved_len=0; //********************************************** void stranka_jedna() { Serial.print("stranka_jedna\n"); // odešle klasickou hlavičku HTML stránky client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println("Connection: close"); client.println(); client.println(""); // zde již klasická html data client.println(""); client.println(""); // Název stránky client.println("Arduinio Server"); client.println(""); client.println(""); // vypíše text client.println(""); client.println(""); client.println(""); //ukončí přenos client.stop(); Serial.print("stranka_jedna_konec\n"); } //**************************************************** void stranka_dve() { Serial.print("stranka_dve\n"); // odešle klasickou hlavičku HTML stránky client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println("Connection: close"); client.println(); client.println(""); // zde již klasická html data client.println(""); client.println(""); // Název stránky client.println("Arduinio Server"); client.println(""); client.println(""); // vypíše text client.println(""); client.println(""); client.println(""); //ukončí přenos client.stop(); Serial.print("stranka_dve_konec\n"); } //***************************************************** int vyhodnot_odpoved() { for(odpoved_len=0;((!(odpoved[odpoved_len]=='?'))&&(!(odpoved[odpoved_len]=='\n')));odpoved_len++) {} byte znak=odpoved[odpoved_len+1]; Serial.print("znak="); Serial.print(znak); Serial.print("\n"); odpoved_len=0; if((znak<0x39)&&(znak>0x30))return(znak); else return(0x30); } //***************************************************** void setup() { Serial.begin(9600); // inicalizace sítě Ethernet.begin(mac, ip); // inicializace serveru server.begin(); } //****************************************************** void loop() { // když je připojen klient, zjistíme, zda jsou odeslána data // od klienta směrem k nám client = server.available(); Serial.print("loop\n"); // dokud je klient připojen while (client.connected()) { Serial.print("client.connected\n"); // čti data od něj dokud nenarazíš na znak nového řádku if (client.available()) { char c = client.read(); Serial.print(c); odpoved [odpoved_len++]=c; if (c == '\n') { Serial.print('\n'); odpoved[odpoved_len]=0; byte i; for(i=0;odpoved[i]!='\0';i++)Serial.print(odpoved[i]); //Serial.print(odpoved); Serial.print('\n'); c=vyhodnot_odpoved(); Serial.print(c); Serial.print('\n'); switch(c) { case 0x31:stranka_jedna(); break; case 0x32:stranka_dve(); break; default:Serial.print("stranka_jedna_def\n"); stranka_jedna(); break; } } } } }