Arduino Domoticz Elektronika IoT

Automatyka Domu: Arduino i Domoticz: Funkcja ParseCommands() (część trzecia)

Funkcja ta odczytuje co przesłał serwer ( w tym przypadku Domoticz) i wykonuje przesłaną komendę. Jest to głównie sterowanie przekaźnikami w celu i załączenia lub wyłączenia. Pod przekaźniki mamy podpięte oświetlenie, ogrzewanie, rolety, otwieranie furtki, bramy wjazdowej, garażowej, załączanie podlewania ogrodu czy trawy i pewnie jeszcze kilka rzeczy jaki ktoś sobie wymyśli.

Funckja Loop

  //__________________________________________________________SPRAWDZANIE POŁĄCZENIA Z SERWEREM
  EthernetClient client = server.available();
  int connectLoop = 0;
  if (client) {
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        //read char by char HTTP request
        if (readString.length() < 100) {
          //store characters to string
          readString += c;
          //Serial.print(c);
        }
        //if HTTP request has ended
        if (c == '\n') {
          Serial.println(readString); //print to serial monitor for debuging
          //now output HTML data header
          if (readString.indexOf('?') >= 0) { //don't send new page
            client.println("HTTP/1.1 204 pybomatik");
            client.println();
            // client.println();
          } else {
            client.println("HTTP/1.1 200 OK"); //send new page
            client.println("Content-Type: text/html");
            client.println();
            client.println("<HTML>");
            client.println("<HEAD>");
            client.println("<TITLE>Dziala</TITLE>");
            client.println("</HEAD>");
            client.println("<BODY>Sve dobro!</BODY></HTML>");
            client.stop();
          }
          delay(1);
          ParseCommands();
        }
      }
      connectLoop++;
      if (connectLoop > 10000) {
        Serial.println();
        Serial.println(F("Timeout"));
        client.stop();
      }
    }
  }

Kod Funkcji

 void ParseCommands() {
  if (readString.indexOf("HeatingMega28on") > 0) { //checks for on HeatingMega28 Błażej
    TurnOnLight(HeatingMega28, 0);
    Serial.println("+ Turn On Arduino Mega HeatingMega28");
  }
  if (readString.indexOf("HeatingMega28off") > 0) { //checks for off
    TurnOffLight(HeatingMega28, 0);
    Serial.println("- Turn Off Arduino Mega HeatingMega28");
  }
}

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *