计算并显示平均湿度
此示例演示如何从通道读取数据、分析数据并显示结果。在示例中,您修改了 MATLAB Analysis 和 MATLAB Visualization App 提供的代码模板之一。该示例使用来自 ThingSpeak 通道 12397 的数据,该数据从位于马萨诸塞州纳蒂克的 Arduino 气象站收集天气数据。
从模板代码创建 MATLAB Analysis 脚本
要计算来自 ThingSpeak 通道的一组数据的平均值,您可以使用代码模板编写 MATLAB® 脚本。
转至 ThingSpeak 中的 Apps 选项卡,然后选择 MATLAB Analysis。点击 New,选择 Calculate and display average humidity,然后点击 Create。
分析您的数据
MATLAB Code 字段预先填充了用于计算和显示湿度的代码。
1) 设置与 ThingSpeak 通信的变量。readChannelID
是从气象站收集数据的公共通道的通道 ID。humidityFieldID
是通道中包含湿度值的字段。仅当您从私有通道读取数据时才为 readAPIkey 分配一个值。气象站是公共的,因此对于此示例,不要设置 readAPIkey。
readChannelID = 12397;
humidityFieldID = 3;
readAPIKey = '';
2) 使用 thingSpeakRead
函数读取过去 60 分钟的湿度值。
humidity = thingSpeakRead(readChannelID,'Fields',humidityFieldID,'NumMinutes',60,'ReadKey',readAPIKey);
3)计算并显示过去 60 分钟的平均湿度。
avgHumidity = mean(humidity);
display(avgHumidity,'Average Humidity');
17.8644
4) 点击 Save and Run 来执行您的代码。Output 字段显示您的结果。
将数据写入通道
1) 通过将计算出的平均湿度写入私有通道来存储它。要创建 ThingSpeak 通道,转至 Channels 选项卡并选择 My Channels。点击 New Channel。选中相应的复选框,并输入这些通道设置值:
Name -
Average Humidity
Field 1 -
Humidity
点击 Save Channel。
2) 在 MATLAB Code 字段中,设置用于写入私有通道的变量。将 writeChannelID
和 writeAPIKey
的给定值替换为您的值。您可以在页面右侧的 Channel Info 面板中找到通道 ID 并写入 API 密钥。
% Replace with the ID of the channel to write data to. writeChannelID = 17504; % Enter the write API key between the ''. writeAPIKey = '23ZLGOBBU9TWHG2H';
3) 将平均湿度写入您的通道。
thingSpeakWrite(writeChannelID,avgHumidity,'writekey',writeAPIKey);
4) 点击 Save and Run 来执行您的代码。您的 ThingSpeak 通道中的图中有一个代表平均湿度的点。您可以通过点击页面右侧 Channel Info 面板中的通道链接来访问您的通道。
5) 几分钟后再次点击 Save and Run,以使用另一个数据点更新您的通道。您可以使用 TimeControl App 定期执行代码。
计算标准差
您可以向模板添加代码来对湿度数据进行进一步分析。例如,标准差通常与平均值一起计算。标准差是衡量一组数据变化的指标。计算并显示过去 60 分钟的湿度标准差。此部分未包含在代码模板中。您可以在从气象站通道读取 humidity
后将其包含在您的代码中。
stdHumidity = std(humidity);
display(stdHumidity,'Standard Deviation of Humidity')
0.8602
要在 Output 字段中显示带有标准差的更新结果,请再次点击 Save and Run。