Main Content

本页采用了机器翻译。点击此处可查看最新英文版本。

计算风寒并更新通道

此示例演示如何从公共通道读取数据、分析数据以及调度代码定期运行。在示例中,您修改 MATLAB Analysis 和 MATLAB Visualizations App 提供的代码模板之一。此示例使用 ThingSpeak channel 12397 的数据计算风寒,该数据从位于马萨诸塞州纳蒂克的基于 Arduino 的气象站收集温度和风速。

创建通道

登录 ThingSpeak 创建私有通道来记录和绘制温度、风速和风寒。转到“通道”选项卡并选择“我的通道”。点击“新建通道”。选择相应的复选框,然后输入以下通道设置值:

  • 名称 — Wind Chill Measurement

  • 字段 1 — Temperature (F)

  • 字段 2 — Wind Speed (mph)

  • 字段 3 — Wind Chill (F)

点击“保存通道”。

分析并写入您的数据

要分析来自公共通道的数据并将其写入您的私有通道,您可以使用代码模板编写 MATLAB® 脚本。内蒂克的气象站收集天气相关数据并将结果发送到公共 ThingSpeak通道。您可以访问实时气象站数据来计算风寒并自动绘制图表。

1) 转到 App 选项卡并选择“MATLAB 分析”。点击“新建”,选择“计算风寒并更新通道”选项,然后点击“创建”。

2) “MATLAB 代码”字段预先填充了用于分析和写入数据的代码。将 writeChIDwriteAPIKey 的给定值替换为您的通道设置。您可以在页面右侧的“通道信息”面板下找到通道ID 并写入 API Key。

readChID = 12397;
% Replace the following with your channel ID.
writeChID = 17504;
% Enter your write API key between the ''.
writeAPIKey = '23ZLGOBBU9TWHG2H';

3) 使用 thingSpeakRead 函数分别从气象站通道中的字段 4 和字段 2 检索最新的温度和风速读数。该函数还记录时间戳。

[temp,time] = thingSpeakRead(readChID,'Fields',4);
windSpeed = thingSpeakRead(readChID,'Fields',2);

4) 计算并显示风冷温度。风寒是衡量空气温度的指标,考虑了风对人体皮肤的冷却效果。该措施仅在气温低于 50 华氏度且风速大于每小时 3 英里的情况下有效。此示例使用 National Weather Service formula 来计算风寒。

windChill = 35.74 + (0.06215*temp) - (35.75*windSpeed^0.16) + (0.4275*temp*windSpeed^0.16);
display(windChill,'Wind Chill');
   39.9372

5) 将两个测量值和计算值写入您的私有 ThingSpeak通道中的字段 1、2 和 3。

thingSpeakWrite(writeChID,[temp,windSpeed,windChill],'Fields',[1,2,3],...
'TimeStamps',time,'WriteKey',writeAPIKey);

6) 点击“保存并运行”执行代码。ThingSpeak通道中的三个图表中的每一个都填充有一个点。您可以通过点击页面右侧“通道信息”面板中的通道链接来访问您的通道。

调度代码

您可以使用 TimeControl App 将代码设置为定期运行。定期运行代码会在 ThingSpeak通道中生成随时间变化的连续风寒图。

1) 在包含 MATLAB 代码的页面上,滚动到底部并打开 TimeControl App 设置。

2) 将新的 TimeControl 命名为$$。将“频率”设置为“重复”,将“重复”设置为“分钟”。在“每 — 分钟”下拉列表中选择 30

3) 将“操作”设置为 MATLAB Analysis,并将“要执行的代码”设置为 Calculate wind chill and update channel

4) 点击“保存时间控制”。

注意: 设置 TimeControl 以将数据写入您的通道会使用 ThingSpeak 帐户上的可用消息。此操作最终可能会耗尽可用消息,从而导致拒绝通道源更新。

ThingSpeak通道中的三个图表每 30 分钟更新一次新的风寒值。

另请参阅

函数

相关主题