Работа с ethernet шилдом

.c8r
.c8r аватар
Offline
Зарегистрирован: 15.11.2011

Третий раз пытаюсь понять суть ошибки в работе программы и решение этой ошибки...

Суть проблеммы:

1. Иниацилизируем переменные и делаем setup:

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192,168,2,133 };                  
byte gateway[] = { 192, 168, 2, 1 };
byte subnet[] = { 255, 255, 255, 0 };
byte server[4] = {**,**,***,**};

void setup(void)  {
  Serial.begin(9600);
  Ethernet.begin(mac, ip, gateway, subnet);    
}

2. Создаем клиента, коннектимся, отправляем данные:

Client client(server, 80);
if (client.connect()) {
    client.print("GET http://***/corel.php?p=");
    client.print(tempSensor.getTemperature());
    client.println(" HTTP/1.0");
}
client.stop();

3. При попытке считать ответ клиента - пусто...код:

while (client.available()) {
          char c = client.read();
          Serial.print(c);
        }

Итак, вопросы:

Почему на шаге 1 при коннекте к серверу по ip получаю ответ совсем не от того сервера? Приходиться делать ГЕТ запрос по полному адресу.

Почему на шаге 3 не получаю данные от клиента? Тестовый скетч веб-клиент с гуглом не работает.

 

Спасибо.

.c8r
.c8r аватар
Offline
Зарегистрирован: 15.11.2011

На шаге 2 в 3й строчке парсер криво вставил кусок кода.