每日平均温度

41次浏览(最近30天)
马提亚Borremans
马提亚Borremans 于2021年8月3日
大家好,
我有一个ds18b20和esp8266与espeasy每5分钟张贴温度读数到thingspeak,工作没有任何问题。
我希望有多个字段能够显示每日平均水平。我认为这是不可能直接的,所以我必须通过可视化获得一些解决方法。我有下面的代码来显示平均值,输出一个数字,但没有绘制。
从ThingSpeak频道读取过去一小时的温度
readChannelID = 1462749;
TemperatureFieldID = 1;
readAPIKey ='__redacted__'
%获取最近60分钟的温度数据
[data, timeStamps] = thingSpeakRead(readChannelID,'田野',[温度菲尔德],“NumPoints”,30,'readkey', readAPIKey);
%计算平均温度
avgTemperature =意味着(数据);
显示(avgtemperature,的平均温度);
%绘图温度和时间戳
情节(时间戳,avgTemperature)
ylabel(“温度(°C)”);

答案(2)

永建冯
永建冯 于2021年8月3日
avgTemperature只是一个标量,一个点。也许你想把数据画出来?
情节(时间戳,数据)
10评论
永建冯
永建冯 于2021年8月3日
这个怎么样:
  1. 使用for循环来循环所有你想要绘制的日子。
  2. 在循环内,获得特定日的温度,平均进行
  3. 将此平均值附加到数组,在for循环中
  4. 一旦完成for循环,您有一系列verigageTemperatures
  5. 绘制那个阵列。

登录评论。


克里斯托弗Stapels.
克里斯托弗Stapels. 2021年8月9日
你可以使用ThingSpeak图顶部的铅笔图标来制作时间表。
同样,你可以将上面代码的输出写到另一个ThingSpeak频道。我们称之为派生通道。
代替 'nuitpoints',30,
使用“NumDays”1。
使用thingSpeakWrite()将数据写入新通道。
然后使用时间控制每天调用该代码。然后你会得到一个日平均图。
看看 入门教程 对于该工作流程的示例。
您还可以创建一个matlab可视化,读取许多天的数据,然后使用retime()函数来计算每日平均值并绘制它。
当您读取数据时,我推荐使用'OutputFormat','Timetable',因为数据将重新计算在时间表上很好地工作。

社区

更多答案请参阅截图社区

s manbetx 845

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!