How to upload an array of numbers to a single field in Thingspeak?

I'm trying to upload data to a field in my ThingSpeak channel. So far I have been able to upload a single number to the field. But when I tried to upload array like x = [1,2,3,4] it would give me this error: "'Values' must be a scalar, a 1-by-n numeric vector, or a cell array and must have the same dimensions as the 'Fields' value."
I'm using thingspeakwrite function like this : thingSpeakWrite(id,'Fields',1,'Values',x,'WriteKey',apikey).

Answers (2)

x = [1, 2, 3, 4];
thingSpeakWrite(id, 'Fields', length(x), 'Values', x, 'WriteKey', apikey)

5 Comments

That didn't work. I want to send it to one filed which in this case is field 2. when I put that it gave me this error: Expected a string scalar or character vector for the parameter name.
Hmmm... just maybe
fieldnums = 2;
thingSpeakWrite(id, 'Fields', fieldnums, 'Values', {{x}}, 'WriteKey', apikey)
No promises. I do not have any experience with thingspeak myself, and some of what I read in the past has suggested that for multiple values to the same channel, the mechanism to use is to generate data for multiple timestamps.
That didn't work either unfornutelly, says it needs to be a 1D cell array. Yea I think the problem when sending multiple values is that they don't each have their own time stamp.
You might have to use the timetable form. The examples seem to show one timestamp for each row of the array, and seem to imply that each column is sent to a different field.
I think Mostafa wants to write to one field? If so, then 'fields' is just the field number, its not a number of fields to write to unfortunately. To write to multiple fields, use 'Fields', [1 3 4 5],... to write to those four fields. (all with the same timestamp)
That said, Timetables are usually the easiest way to write multiple things as Walter says.

Sign in to comment.

Here is one possibility.
thingSpeakWrite(958725, 'Fields', 1, 'Values', join(string(x)), 'WriteKey', writeKey)
or
y = "[ 1 2 3 4]";
thingSpeakWrite(958725, 'Fields', 1, 'Values', y, 'WriteKey', writeKey)

Communities

More Answers in the  ThingSpeak Community

Categories

Find more on Data Import and Analysis in Help Center and File Exchange

Asked:

on 10 Dec 2020

Community Treasure Hunt

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

Start Hunting!