Unable to write data to ThingSpeak , HTTP error 400

57 views (last 30 days)
Hello,
I am trying to transfer data by using program "Typical Write Example" running on ESP8266 NodeMCU. I didn't change he program , only added my Network name, network password, channel number and APIWriteKey. The Program is running on ESP8266 or ESP32. In both cases the response is always "400".
Don't have more detailed information.
Any idea on the cause ? Router problem , Arduino IDE 1.8.10 or ?
Any comment is appreciated.
Kind regards

Answers (3)

Vinod
Vinod on 6 Jan 2020
Hello Otto,
Can you start from one of the examples in the library here: https://github.com/mathworks/thingspeak-arduino
Are you getting 400 status codes for those examples?
-Vinod
  1 Comment
Otto Meier
Otto Meier on 6 Jan 2020
Hello Vinod,
many thanks for your fast response.
I tried just the example "Typical Write Example" and it responses only 400 status code.
Otto

Sign in to comment.


Christopher Stapels
Christopher Stapels on 6 Jan 2020
Can you try to update your channel from a web browser? Use the format
Does that work?
  9 Comments
Otto Meier
Otto Meier on 6 Jan 2020
I guess I could solve the problem:
Write API Key contains a "O" and I typed a "0" (Zero). Sorry , I did not recognize !!!
That was the difference why the copied command from the API request which worked.
Many thanks for your patience and best regards from Germany

Sign in to comment.


Nazmi Rosly
Nazmi Rosly on 16 Aug 2021
Edited: Christopher Stapels on 17 Aug 2021
Hi. Im trying to send data from matlab which is the data from serial monitor from arduino. It is fine until 9th of data and then it stopped and says :
Error using Untitled (line 27)
'Values' must have a maximum of 9 elements, including the timestamp.
My coding is:
clear all
s = serial('com4');
fopen(s);
i = 1;
while(1)
data(i)= str2double(fscanf(s));
plot(data);
title('Temperature Monitoring')
xlabel('Time')
ylabel('Temperature')
pause(30);
i=i+1;
%thingSpeakWrite(1463959,data,'WriteKey','xxxxxxxxxxxxxxxx')
% Generate timestamps for the data
%tStamps = datetime('now')-minutes(9):minutes(1):datetime('now');
channelID = 1463959; % Change to your Channel ID
writeKey = 'xxxxxxxxxxxxxxxx'; % Change to your Write API Key
% Write 10 values to each field of your channel along with timestamps
tStamp = datetime('now')
thingSpeakWrite(1463959,data,'WriteKey','xxxxxxxxxxxxxxxx','TimeStamp',tStamp)
end

Communities

More Answers in the  ThingSpeak Community

Products

Community Treasure Hunt

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

Start Hunting!