Problem updating channel. HTTP error code -301
9 views (last 30 days)
Show older comments
#include "ThingSpeak.h"
#include <ESP8266WiFi.h>
char ssid[] = "F"; // your network SSID (name)
char pass[] = "qwerty"; // your network password
int keyIndex = 0; // your network key Index number (needed only for WEP)
WiFiClient client;
unsigned long myChannelNumber = 919998; //SECRET_CH_ID;
const char * myWriteAPIKey = "1D95P000GF21W88Z"; // SECRET_WRITE_APIKEY;
int value1 = 0, value2 = 0, value3 = 0, value4 = 0;
void setup()
{
Serial.begin(9600);
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client); // Initialize ThingSpeak
while (!Serial) {
;
}
}
void loop()
{
// Connect or reconnect to WiFi
if (WiFi.status() != WL_CONNECTED)
{
Serial.print("Attempting to connect to SSID: ");
Serial.println(SECRET_SSID);
while (WiFi.status() != WL_CONNECTED)
{
WiFi.begin(ssid, pass);
Serial.print(".");
delay(5000);
}
Serial.println("\nConnected.");
}
while (!Serial.available());
String incommingStr = Serial.readStringUntil('\n');
Serial.println(incommingStr);
// splitting incomingStr
int data1 = incommingStr.indexOf(','); //finds location of first ,
int value1 = incommingStr.substring(0, data1).toInt(); //captures first data String
int data2 = incommingStr.indexOf(',', data1 + 1 ); //finds location of second ,
int value2 = incommingStr.substring(data1 + 1, data2 + 1).toInt(); //captures second data String
int data3 = incommingStr.indexOf(',', data2 + 1 );
int value3 = incommingStr.substring(data2 + 1, data3 + 1).toInt();
int data4 = incommingStr.indexOf(',', data3 + 1 );
int value4 = incommingStr.substring(data3 + 1).toInt(); //captures remain part of data after last ,
// set the fields with the values
ThingSpeak.setField(1, value1);
ThingSpeak.setField(2, value2);
ThingSpeak.setField(3, value3);
ThingSpeak.setField(4, value4);
Serial.println(String(value1) + " " + String(value2) + " " + String(value3) + " " + String(value4));
// set the status
ThingSpeak.setStatus("4 fields added.");
// write to the ThingSpeak channel
int x = ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
if (x == 200)
{
Serial.println("Channel update successful.");
}
else
{
Serial.println("Problem updating channel. HTTP error code " + String(x));
}
delay(20000);
}
0 Comments
Answers (0)
Communities
More Answers in the ThingSpeak Community
See Also
Categories
Find more on Act on Data in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!