Thingspeak (via ESP8622) is not showing any graphical data from 3 Fields.

5 views (last 30 days)
Hi
i'm trying to send data on thinkspeak for 3 fields. But thingspeak is not showing any graphical representation despite entries.
I reduced the update time to 10 and still didn't get anything
This is my code:
//Include the ESP8266 WiFi library.
#include <ESP8266WiFi.h>
//Local Network Settings.
char ssid[] = "AndroidAP5723"; // your network SSID (name)
char pass[] = "hookuyte"; // your network password
const byte buttonPin = 4;
const byte potentiometerPin = A0;
char thingSpeakAddress[]= "api.thingspeak.com";// Host address URL
String APIKey = "**************";//Blanked out for security reasons
const int updateThingSpeakInterval = 20 * 1000;// every 20 secs
//Initialize wifi client
WiFiClient client;
void setup() {
//Set the baud rate for Serial Communication
Serial.begin(115200);
delay(2000);
//Display what SSiD you are connecting to.
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
//Connect to the Access.
WiFi.begin(ssid,pass);
//Now we establish a connection to the access point
while(WiFi.status()!= WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
}//Close setup
void loop() {
//Read Sensor Data
int potentiometerReading = analogRead(potentiometerPin);
boolean buttonReading = digitalRead(buttonPin);
//Convert sensor data into String objects
String potentiometerField = String(potentiometerReading);
String buttonField = String(buttonReading);
String randomNumberField = String(random (0, 42));
/* Concatenate the field into one string object
* which we can send as the Message body
*/
String thingSpeakData = "field1=" + potentiometerField+ "&field2=" + buttonField + "&field3=" + randomNumberField;
//Establish a connection with ThingSpeak
if(client.connect(thingSpeakAddress, 80)){
//Send the Message Start-Line (Method URI protocolVersion).
client.println("POST /update HTTP/1.1");
//Send the HTTP Header Field
client.println("Host: api.thingspeak.com");
client.println("Connection: close");
client.println("X-THINGSPEAKAPIKEY: " + APIKey);
client.println("Contect-Type: application/x-www-form-urlencoded");
client.print("Content-Lenght: ");
client.println(thingSpeakData.length());
client.println();// Header fields are complete
//Send Message Body
client.print(thingSpeakData);
//check if connection to thingSpeak was established
if (client.connected()){
Serial.println("Connected to thingSpeak.");
Serial.println();
}
//Display info to Serial Monitor for troublShooting
Serial.print("Potentiometer [Field 1]= " );
Serial.print(potentiometerField);
Serial.print(" Button [Field 2] = " );
Serial.print(buttonField);
Serial.print(" Random [Field 3] = " );
Serial.print(randomNumberField);
delay(updateThingSpeakInterval);
}
}

Accepted Answer

Vinod
Vinod on 17 Nov 2020
I strongly recommend using the ThingSpeak library and starting from the examples provided with it.
  2 Comments
Christopher Stapels
Christopher Stapels on 18 Nov 2020
That section checks the HTTP return code to make sure the request was successful.

Sign in to comment.

More Answers (0)

Communities

More Answers in the  ThingSpeak Community

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!