Работа с ethernet шилдом
- Войдите на сайт для отправки комментариев
Чт, 09/02/2012 - 19:03
Третий раз пытаюсь понять суть ошибки в работе программы и решение этой ошибки...
Суть проблеммы:
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 не получаю данные от клиента? Тестовый скетч веб-клиент с гуглом не работает.
Спасибо.
На шаге 2 в 3й строчке парсер криво вставил кусок кода.