Как правильно отправить Get ?
- Войдите на сайт для отправки комментариев
Пт, 01/11/2013 - 10:40
есть кусок кода отвечающий за отправку данных на HTTP страничку
oid send(){ unsigned long currentMillis = millis(); if(currentMillis - previousMillis > interval){ previousMillis = currentMillis; EthernetClient client; if (client.connect(rserver, 80)) { int temp21 = (duino2.temperature_Sensor - (int)duino2.temperature_Sensor) * 100; sprintf(buf, "GET /objects/?object=TempSensor2&op=m&m=tempChanged&&t=%0d.%d HTTP/1.0", (int)duino2.temperature_Sensor, abs(temp21)); Serial.print("T2 : "); Serial.println(duino2.temperature_Sensor); client.stop(); }else {Serial.println("no connect T2"); } //-------> отправка температуры ТО <-------------- if (client.connect(rserver, 80)) { int analog2 = 100 - duino2.Analog_sensor_A2; sprintf(buf, "GET /objects/?object=analog2&op=m&m=tempChanged&&t=%d HTTP/1.0", (int)analog2); Serial.print("a2 : "); Serial.println(analog2); client.stop(); }else {Serial.println("no connect a2"); } sensors.requestTemperatures(); if(sensors.getAddress(Termometers, 0)) { float tempC = sensors.getTempC(Termometers); int temp1 = (tempC - (int)tempC) * 100; //SWITCH_TO_SD; //myFile = SD.open("1.txt", FILE_WRITE); // if (myFile) { // Выводим данные на экран //Serial.print(sys.uptime()); //Serial.print(": TempSensor0 : "); //Serial.println(tempC); // Записываем время // myFile.print(sys.uptime()); // Добавляем точку с запятой // myFile.print(": TempSensor0 : "); // Добавляем температуру и добавляем перенос строки // myFile.println(tempC); // закрываем файл // myFile.close(); // SWITCH_TO_W5100; // } else { // // Выводим сооб щение о том, что открыть файл не удалось // Serial.println("error opening 1.txt"); // } if (client.connect(rserver, 80)) { sprintf(buf, "GET /objects/?object=TempSensor0&op=m&m=tempChanged&&t=%0d.%d HTTP/1.0", (int)tempC, abs(temp1)); client.println(buf); client.println(); Serial.print("T0 : "); Serial.println(tempC); client.stop(); } else {Serial.println("no connect T0"); } if(sensors.getAddress(Termometers, 1)) { float tempC = sensors.getTempC(Termometers); int temp1 = (tempC - (int)tempC) * 100; /* sensorDataFile = SD.open(SENSOR_DATA_FILE_NAME, FILE_WRITE); char msg[128]; sprintf(msg, "TempSensor1 = %0d.%d%C", (int)tempC, abs(temp1)); Serial.println(msg); sensorDataFile.print(sys.uptime()); sensorDataFile.print("-"); sensorDataFile.println(msg); sensorDataFile.close(); */ if (client.connect(rserver, 80)) { sprintf(buf, "GET /objects/?object=TempSensor1&op=m&m=tempChanged&&t=%0d.%d HTTP/1.0", (int)tempC, abs(temp1)); Serial.print("T1 : "); Serial.println(tempC); client.println(buf); client.println(); //Serial.print("send T1"); } else {Serial.println("no connection T1"); } } } }else{}; }
дело в том что данные уходят частями.
я так понимаю нужно сделать что-то вроде цикла и отправлять отдельно
наличие или отсутствие цикла никак не влияет на отправляемость данных. рабочий код будет работать хоть в setup() хоть в loop().
дело в том что данные уходят частями.
а надо чтобы лились непрерыным потоком? :)
Что именно-то не работает? сформируйте статическую строку типа
и пробуйте отправить