can not upload data to thingspeak even while the data is displaying in serial moniter
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
#include <ESP8266WiFi.h>
#include <DHT.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
String apiKey = "AAABBBCCCDDD"; // Enter your Write API key from ThingSpeak
const char *ssid = "Mattath-Fi"; // replace with your wifi ssid and wpa2 key
const char *pass = "12345678";
const char* server = "api.thingspeak.com";
#define DHTPIN 0 //pin where the dht11 is connected
DHT dht(DHTPIN, DHT11);
WiFiClient client;
void setup()
{
Serial.begin(115200);
delay(10);
dht.begin();
Serial.println("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
}
void loop()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t))
{
Serial.println("Failed to read from Sensors!");
return;
}
if (client.connect(server,80)) // "184.106.153.149" or api.thingspeak.com
{
String postStr = apiKey;
postStr +="&field1=";
postStr += String(t);
postStr +="&field2=";
postStr += String(h);
postStr += "\r\n\r\n";
client.print("POST /update HTTP/1.1\n");
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(postStr.length());
client.print("\n\n");
client.print(postStr);
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" degrees Celcius, Humidity: ");
Serial.print(h);
Serial.println("%. Send to Thingspeak.");
}
client.stop();
Serial.println("Waiting...");
delay(1000);
}
0 Kommentare
Antworten (1)
Christopher Stapels
am 9 Mär. 2021
What are you seeing on the serial monitor?
I think the problem is that you are stopping the client before the server acknowleges the post. You could add delay before disconencting, or wait for a response.
We strongly reccomend using the ThingSpeak library by the way. It takes care of all the HTTP interactions and waiting for you.
8 Kommentare
Ayesha Fatima
am 23 Apr. 2021
I added the thingspeak libraries and also changed delay as 30sec which was 10 at first. but still the parameters are not being posted on thingspeak
Christopher Stapels
am 23 Apr. 2021
@Ayesha Fatima perhaps you culd start a new post/thread so we can help you? I would describe what you are trying to do, what you have tried, and what you see.
Communitys
Weitere Antworten in ThingSpeak Community
Siehe auch
Kategorien
Mehr zu REST API finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!