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

조회 수: 16 (최근 30일)
Mostafa Ibrahim
Mostafa Ibrahim 2020년 12월 10일
댓글: Christopher Stapels 2020년 12월 16일
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).

답변 (2개)

Walter Roberson
Walter Roberson 2020년 12월 10일
x = [1, 2, 3, 4];
thingSpeakWrite(id, 'Fields', length(x), 'Values', x, 'WriteKey', apikey)
  댓글 수: 5
Walter Roberson
Walter Roberson 2020년 12월 10일
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.
Christopher Stapels
Christopher Stapels 2020년 12월 16일
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.

댓글을 달려면 로그인하십시오.


Christopher Stapels
Christopher Stapels 2020년 12월 16일
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)

커뮤니티

더 많은 답변 보기:  ThingSpeak 커뮤니티

카테고리

Help CenterFile Exchange에서 ThingSpeak에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by