w swoim projekcie na Arduino Mega + Ethernet Shield W5100 dodałem 8 termometrów, dla których wartości pobieram z lokalnej aplikacji webowej. Samo pobieranie danych, występujące nie częściej niż co 10 sekund, wpiąłem w supla_timer() i w zasadzie to działa, czasem jednak widzę, że Supla rozłącza się i łączy ponownie, w związku z tym chciałbym zapytać czy wykorzystywanie W5100 do własnych celów (obok transmisji związanej z Suplą) jest bardzo kolidujące z Suplą oraz czy poniższy kod (poglądowy, pominąłem w nim zabawę ze stringami i zamianę na wartości) jest w miarę zgodny ze sztuką?
Code: Select all
EthernetClient pumaClient;
unsigned long pumaLastTime = 0;
unsigned long pumaNow;
void supla_timer()
{
pumaNow = millis();
if (pumaNow - pumaLastTime > 10000)
{
pumaClient.stop();
if (pumaClient.connect(pumaServer, 80))
{
//Serial.println("connected");
// Make a HTTP request:
pumaClient.println("GET /arduino.aspx HTTP/1.1");
pumaClient.println("Host: 192.168.2.3");
pumaClient.println("Connection: close");
pumaClient.println();
}
delay(10);
while (pumaClient.connected())
{
while(pumaClient.available())
{
char c = pumaClient.read();
Serial.print(c);
}
}
pumaLastTime = millis();
}
}Andrzej
