What is wrong with this code?

I want to send acceleration data from a mobile phone sensor to ThingSpeak. Error: URL is incorrectly formed, or the requested feature is not supported in this version of ThingSpeak.
[acc, tacc] = accellog(m);
xAcc = acc(:,1);
yAcc = acc(:,2);
zAcc = acc(:,3);
InitialTime = datetime(m.InitialTimestamp,'InputFormat','dd-MMM-yyyy HH:mm:ss.SSS');
AccelTime = InitialTime + seconds(tacc);
channelID = XXXXX;
writeKey = XXXXXXXXXX;
tStamps = AccelTime;
data=[xAcc,yAcc,zAcc];
thingSpeakWrite(channelID,data,'TimeStamp',tStamps,'WriteKey',writeKey)

2 Commenti

Vinod
Vinod il 5 Nov 2021
What version of MATLAB are you using?
R2021b

Accedi per commentare.

Risposte (1)

Vinod
Vinod il 6 Nov 2021

0 voti

Thingspeak can only accept data sampled at 1hz or lower frequency. That is, tStamps should be at least 1s apart. My initial guess is that your accelerometer data is sampled at a much higher rate.

8 Commenti

When I set the sampling rate to 1 Hz, more than one value per second is recorded. How to solve this?
For the position sensor everything works. The error occurs when writing data from the other sensors.
[lat, lon, t, speed, course, alt, horizacc] = poslog(m);
InitialTime = datetime(m.InitialTimestamp,'InputFormat','dd-MMM-yyyy HH:mm:ss.SS');
PosTime = InitialTime+seconds(t);
channelID = XXXXXX;
writeKey = XXXXXXXXXXXXX;
tStamps = PosTime;
data=[lat,lon,alt,speed];
thingSpeakWrite(channelID, data,'TimeStamp',tStamps,'WriteKey',writeKey);
Perhaps consider using retime:
newData=retime(myData,'secondly','mean');
This function solved the problem. Thank you.
Is it possible to record data in real time without a paid licence? I am using a loop for this, but I get the error 'requests are too frequent'.
Vinod
Vinod il 11 Nov 2021
"Real time" means different things for different people. An RF engineer who is measuring phenomena in the Ghz or Thz range has a very different defintion of real time than does an engineer measuring heat transfer across a large body with high thermal capacity.
What is the timescale of the phenomena you are measuring? If you are looking to store raw accelerometer data at over 1Hz, you might be better served by something like the Arduino IO support package. If you are looking to do some feature detection on the edge node based on accelerometer data and send the feature changes to the cloud, when the rate of change of the features are at a longer timescale, ThingSpeak can meet your needs.
If you give more detail of your project someone can guide you towards the right solution.
I want to update the accelerometer data on ThingSpeak every 1 second.
Vinod
Vinod il 12 Nov 2021
That is possible.
If you have an unstable or slow internet connection, it might be that the data you send from your device does not reach the servers exactly 1s apart. You might want to add a 5-10% buffer to factor in network latencies.

Accedi per commentare.

Community

Più risposte nel  ThingSpeak Community

Categorie

Prodotti

Release

R2021b

Commentato:

il 12 Nov 2021

Community Treasure Hunt

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

Start Hunting!

Translated by