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");
}
}