Can i compare two channels

2 ビュー (過去 30 日間)
Vesa Salmi
Vesa Salmi 2022 年 5 月 17 日
コメント済み: Vesa Salmi 2022 年 5 月 20 日
Hello
I have lakewater temperature metering buoy. Last year has own channel from may to december. This year measuring starts few weeks ago and they have own channel. Can i compare these two channel like at this example:https://se.mathworks.com/help/thingspeak/Compare-Temperature-Data-from-Three-Different-Days.html Showing this day and yesterday and the same period at last year?
  1 件のコメント
Vesa Salmi
Vesa Salmi 2022 年 5 月 17 日
By the way... here is this year channel. https://thingspeak.com/channels/1727534

サインインしてコメントする。

回答 (1 件)

Christopher Stapels
Christopher Stapels 2022 年 5 月 19 日
You definitely can as long as there is data in your channel. Change the part of the code from days(1) to years(1). your final code will depend on how long you want to read data for.(in this case the span of data is one day).
buoyToday = thingSpeakRead(readChannelID,'Fields',TemperatureFieldID,'dateRange',...
[datetime('today')-days(1),datetime('today')],'ReadKey',readAPIKey);
buoyLastYear = thingSpeakRead(readChannelID,'Fields',TemperatureFieldID,'dateRange',...
[datetime('today')-yeats(1)-days(1),datetime('today')-years(1)],'ReadKey',readAPIKey);
Then be sure to change the places where temperatureDay1 is referenced to whatever you call the new data. In this case I used buoyToday nad buoyLastYear.
  1 件のコメント
Vesa Salmi
Vesa Salmi 2022 年 5 月 20 日
Thank you Christopher.
I got it working but some questions appear: Why year 2021 data is so broken? See attached screenshot.
Here is the code i am using:
% Read temperature data from a two ThingSpeak channel; today temperature from channel 1727534
% and same day last year from channel 1041362.
%
% The data is collected about once every 70 minute. ( ESP.deepSleep(4294967295))
% Channel ID to read data from
lastyearchannelID = 1041362;
thisyearchannelID = 1727534;
% Temperature Field ID
lastyearFieldID = 1;
thisyearFieldID = 1;
% Channel Read API Key
% If channel is private I will enter the read API key between the '' below:
readAPIKey = '';
% Read Temperature Data. Learn more about the THINGSPEAKREAD function by
% going to the Documentation tab on the right side pane of this page.
lastYear = thingSpeakRead(lastyearchannelID,'Fields',lastyearFieldID, ...
'dateRange', [datetime('today')-years(1)-days(2),datetime('today')-years(1)], 'ReadKey',readAPIKey);
thisYear = thingSpeakRead(thisyearchannelID,'Fields',thisyearFieldID, ...
'dateRange',[datetime('today')-days(1),datetime('today')],'ReadKey',readAPIKey);
% Create array of durations
myTimes1 = hours(1:length(lastYear));
myTimes2 = hours(1:length(thisYear));
% Visualize the data
plot(myTimes1,lastYear, myTimes2,thisYear);
legend({'2021','2022'});
%xlabel('Minutes');
ylabel('Lämpötila C');
title('Lennuksen poiju 2021 vs. 2022');

サインインしてコメントする。

コミュニティ

その他の回答  ThingSpeak コミュニティ

カテゴリ

Help Center および File ExchangeRead Data from Channel についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by