为什么thingSpeakRead()使用numPoints > 100并不总是选择最新的数据吗?

5视图(30天)
当我使用一个n的值大于100,我模糊的方式读取数据,所以最近的数据点并不总是精致而成。
我利用Apps-React触发一个应用MatLab分析自定义代码块。
建筑是我的“东西”的帖子通道1每30秒。反应是由通道1张贴。Matlab写指令“控制”通道2。“东西”响应通道2。重复……
我还使用MATLAB读通道1和通道2为了知道它的最新指示。
我的长期问题是用MatLab命令thingSpeakRead ()
问题是ctrlTimestamps(最后一行)是不一致的,实际上返回的数据集取决于NumPoints的数量。
这是我的测试程序来证明会发生什么当我使用101数据点。是的它返回101分但时间戳(状态栏张贴)只是有时候顺序!
% n的测试,看看值导致不正确的读取的数据
n = 101;
%
%从传感器读取输入
%
readAPIKey =“* * *”;
readChannelID = 1229509;
%读取原始数据通道和有意义的字段映射到原始。
(数据、时间戳)= thingSpeakRead (readChannelID,“字段”,(1、2、3、4、5、6),
“numPoints”(n),“ReadKey”,readAPIKey);
%显示(数据,传感器数据)
%显示(时间戳,“时间戳”)
rowCountIn =大小(数据,1);
显示(rowCountIn,对输入的行数ch ')
%
%为以前读控制通道的设置
%
readAPIKey =“* * *”;
readChannelID = 1355058;
%读取原始数据通道和有意义的字段映射到原始。
[ctrlData, ctrlTimestamps] = thingSpeakRead (readChannelID,“字段”,(1,2,3,4,5,6,7,8),
“NumPoints”(n),“ReadKey”,readAPIKey);
%显示(ctrlData控制数据)
%显示(ctrlTimestamps,控制时间戳)
%
rowCount =大小(ctrlData, 1);
显示(rowCount,控制ch的行数)
statusUpdate = strcat (' Ctrl时间:datestr (ctrlTimestamps (rowCount),“HH: MM: SS”));
%
%输出控制通道
%
显示(statusUpdate);
writeAPIKey =“* * *”;
webwrite (“http://api.thingspeak.com/update”,“api_key”writeAPIKey,“field1”0,“field2”0,“field3”0,“field4”0,“field5”0,“状态”,statusUpdate);
%
%
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - -结束程序
%
版本支万博1manbetx援是:- - - - - - MATLAB版本:9.13.0.2085925 (R2022b)更新1 MATLAB许可证号码:0操作系统:Linux 5.4.209-0504209-generic # 202208031145 SMP结婚2022年8月3 12:39:06 UTC x86_64的Java版本:Java 1.8.0_292-b10 AdoptOpenJDK OpenJDK 64位服务器虚拟机混合模式- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MATLAB 9.13版(R2022b)许可证0
- - - - -
3评论
克里斯托弗Stapels
克里斯托弗Stapels 2022年11月29日
编辑:克里斯托弗Stapels 2022年12月5日
谢谢你的证据。我想不出任何理由为什么数量大于100时将改变系统时间记录的摄取数据。有可能是你的设备统计波动发布时间得到重要当n = 100但我不认为这将是确定的。
如果你想确定确切的时间戳,可以使用“创建”从你的设备参数和写其内部的时间(假设设备时钟)。
考虑下面的测试:您可以使用ThingSpeakWrite写101点每30秒。然后你会保证没有时间滞后问题,因为你的观点是30秒分开。这似乎证明是witht读命令没有任何关系,这是由于你的设备写作时间的波动。或者我承认,我不太懂这个问题。
有一些很奇怪的规则如何反应将照顾的作业调度器——也可能是问题的一部分。我希望你得到你的过程了!

登录置评。

答案(0)

社区

更多的答案ThingSpeak社区

类别

找到更多的在安装产品s manbetx 845帮助中心文件交换

标签

s manbetx 845


释放

R2022b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!