tak się nie da.
Bo funkcja write jest odpalana tylko jeden raz, a funkcję read trzeba by odpalić aż do czasu przepełnienia bufora.
Ogólnie coś takiego wymyśliłem.
i działa.
musiałem tylko zmienić tą linijkę
Nie wiem dlaczego porównywanie stringów nie działa.
ten == jest niebezpieczny bo ilość znaków musi się zgadzać wcześniej odbierał mi nawet 100 znaków i w tym wyszukiwał ciągu PIEC ON lub PIEC OFF
Bo funkcja write jest odpalana tylko jeden raz, a funkcję read trzeba by odpalić aż do czasu przepełnienia bufora.
Ogólnie coś takiego wymyśliłem.
Kod:
if(fminuty&&(minuty%4==1)) //co dwie minuty
{
receiveWWW();//po prostu wysylam cokolwiek
}
if (client.available()) {
char c = client.read();
readString += c; //napełniamy danymi zmienną readString
Serial.print(c);
if (readString.length() >7) { // po odczytaniu 8 znaków (tyle jest potrzebne)
client.stop(); zatrzymujemy sesję ethernet
if (readString=="PIEC ON ") Serial.println("Piec załączony");
if (readString=="PIEC OFF") Serial.println("Piec wyłączony");
readString=""; //kasujemy na wszelki wypadek zmienną
}
}
musiałem tylko zmienić tą linijkę
Kod:
if (readString.indexOf("PIEC ON")>0) Serial.println("Piec załączony");
Nie wiem dlaczego porównywanie stringów nie działa.
ten == jest niebezpieczny bo ilość znaków musi się zgadzać wcześniej odbierał mi nawet 100 znaków i w tym wyszukiwał ciągu PIEC ON lub PIEC OFF