Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SPI.h>
- #include <EthernetENC.h>
- //#include <avr\wdt.h> // watchdog knihovna
- boolean zacatekCteni = false;
- unsigned long cas = millis();
- unsigned long reset = millis();
- byte citac = 0;
- byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
- IPAddress ip(192, 168, 1, 11);
- EthernetServer mujSvr = EthernetServer(4501);
- EthernetClient clientzkontroluj;
- IPAddress webCamAddr(192,168,1,34); // IP adresa webové kamery
- String header;
- void setup() {
- Serial.begin(9600);
- Ethernet.begin(mac, ip);
- mujSvr.begin();
- Serial.println(Ethernet.localIP());
- digitalWrite(8, HIGH); // pin 8 na 1
- pinMode(8,OUTPUT); // nastavení pinu 8 na výstup
- }
- ///////////////////////////////////////////////////////////
- void loop() {
- String poslane = "";
- EthernetClient client = mujSvr.available();
- if (client) {
- boolean currentLineIsBlank = true;
- while (client.connected()) {
- if (client.available()) {
- char c = client.read();
- header += c;
- if(zacatekCteni && c == ' '){zacatekCteni = false;} //ukončí čtení
- if(c == '?'){zacatekCteni = true;} //začatek čtení
- if(zacatekCteni){poslane = poslane + char(c);}
- if (c == '\n' && currentLineIsBlank) {
- // // heslo je admin admin
- if(header.indexOf("YWRtaW46YWRtaW4=") >= 0) {
- // při úspěšném přihlášení
- client.println("HTTP/1.1 200 OK");
- client.println("Content-Type: text/html");
- client.println("Connection: close");
- client.println();
- //-------------------------------------
- if (poslane == "?reboot")
- {
- citac = 0;
- digitalWrite(8, LOW);
- delay(1000);
- digitalWrite(8, HIGH);
- //reset = millis();
- client.println("restartuji zasuvku");
- Serial.print(poslane);
- }
- //-------------------------------------
- }
- else {
- // špatně zadane user/pass
- client.println("HTTP/1.0 401 Authorization Required");
- client.println("HTTP/1.1 401 Unauthorized");
- client.println("WWW-Authenticate: Basic realm=\"Secure\"");
- client.println("Content-Type: text/html");
- client.println();
- client.println("<html>Text to send if user hits Cancel button</html>"); // really need this for the popup!
- }
- header = "";
- break;
- }
- if (c == '\n') {currentLineIsBlank = true;}
- else
- if (c != '\r') {currentLineIsBlank = false;}
- }
- }
- delay(1);
- client.stop();
- }
- // ---------------------------------------------------------------------
- // Každou minutu zavola proceduru zkontroluj
- if (millis() - cas > 600000)
- {
- Serial.print("kontrolují kameru ");
- Serial.print(webCamAddr);
- zkontroluj();
- cas = millis();
- }
- // ---------------------------------------------------------------------
- }
- /////////////////////////////////////////////////////////////////////////////////////////////
- void zkontroluj()
- {
- clientzkontroluj.connect(webCamAddr, 8034); // kamera na adrese 192,168,1,34 port 8034
- delay(1000); // počka vteřinu
- if (clientzkontroluj.connected())
- {
- citac = 0; // je-li odpoveď OK, vynulovat čítač
- Serial.println(" - je tam");
- }
- else
- {
- // není odpověd
- citac++; // zvyšovat čítač
- Serial.println(" - není tam");
- };
- clientzkontroluj.stop(); // spojení clientzkontroluj automaticky uzavře
- if (citac == 5)
- {
- Serial.println("restartuji zasuvku");
- digitalWrite(8, LOW);
- delay(6000);
- digitalWrite(8, HIGH);
- citac = 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement