Skip to content

Commit df6cb08

Browse files
committed
better data request
1 parent d74d5c7 commit df6cb08

File tree

1 file changed

+35
-39
lines changed

1 file changed

+35
-39
lines changed

arduino-esp8266-mh-z19-serial.ino

Lines changed: 35 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -77,49 +77,45 @@ int readCO2()
7777
bool sendData(JsonObject& root)
7878
{
7979
Serial.println("Starting connection to server...");
80-
bool res = false;
81-
if (client.connect(DATA_SERVER, 80))
82-
{
83-
Serial.println("connected to server");
84-
// Make a HTTP request:
85-
/*client.println("GET /send.php?data={\"id\":1,\"temp\":" + String(t) + ",\"humidity\":" + String(h) + ",\"ppm\":" + String((int)ppm) +
86-
",\"mac\":\"" + String(macStr) + "\",\"FreeRAM\":\"" + String(mem) + "\",\"SSID\":\"" + WiFi.SSID() + "\"} HTTP/1.1");
87-
*/
88-
client.println("POST " + String(DATA_URL) + " HTTP/1.1");
89-
client.println("Host: " + String(DATA_SERVER));
90-
client.println("Connection: close");
91-
client.println("User-Agent: Arduino/1.0");
92-
client.println("Content-Type: application/x-www-form-urlencoded;");
93-
94-
client.print("Content-Length: ");
95-
String data;
96-
root.printTo(data);
97-
98-
//Serial.println("data to send:");
99-
//Serial.println(data);
100-
data = "data=" + data;
101-
client.println(data.length());
102-
client.println();
103-
client.println(data);
104-
delay(400); //see https://github.com/esp8266/Arduino/issues/4342
105-
if (client.available())
106-
{
107-
res = true;//TODO: check if reply is really OK
108-
Serial.println("Server reply:");
109-
Serial.println("");
110-
while (client.available()) {
111-
char c = client.read();
112-
Serial.print(c);
113-
}
114-
}
115-
client.stop();
116-
return res;
117-
}
118-
else
80+
if (!client.connect(DATA_SERVER, 80))
11981
{
12082
Serial.println("Failed to connect to server");
12183
return false;
12284
}
85+
86+
Serial.println("connected to server");
87+
// Make a HTTP request:
88+
/*client.println("GET /send.php?data={\"id\":1,\"temp\":" + String(t) + ",\"humidity\":" + String(h) + ",\"ppm\":" + String((int)ppm) +
89+
",\"mac\":\"" + String(macStr) + "\",\"FreeRAM\":\"" + String(mem) + "\",\"SSID\":\"" + WiFi.SSID() + "\"} HTTP/1.1");
90+
*/
91+
client.println("POST " + String(DATA_URL) + " HTTP/1.1");
92+
client.println("Host: " + String(DATA_SERVER));
93+
client.println("Connection: close");
94+
client.println("User-Agent: Arduino/1.0");
95+
client.println("Content-Type: application/x-www-form-urlencoded;");
96+
97+
client.print("Content-Length: ");
98+
String data;
99+
root.printTo(data);
100+
101+
//Serial.println("data to send:");
102+
//Serial.println(data);
103+
data = "data=" + data;
104+
client.println(data.length());
105+
client.println();
106+
client.println(data);
107+
while(client.connected() && !client.available())//see https://github.com/esp8266/Arduino/issues/4342
108+
{
109+
delay(100);
110+
}
111+
Serial.println("Server reply:");
112+
Serial.println("");
113+
while (client.available()) {
114+
char c = client.read();
115+
Serial.print(c);
116+
}
117+
client.stop();
118+
return true;
123119
}
124120

125121

0 commit comments

Comments
 (0)