主要内容

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

转换温度单位

此示例显示如何读取数据、使用数据执行计算并显示结果。在示例中,您修改了 MATLAB Analysis 和 MATLAB Visualization App 提供的代码模板之一。此示例演示如何读取数据、执行计算和显示数据。该示例使用来自 ThingSpeak 通道 12397 的数据,该数据从位于马萨诸塞州纳蒂克的 Arduino 气象站收集天气数据。

从模板代码创建 MATLAB Analysis 脚本

要将纳蒂克气象站的温度测量值从华氏度转换为摄氏度,请使用代码模板编写 MATLAB® 脚本。

转至 ThingSpeak 中的 Apps 选项卡,然后选择 MATLAB Analysis。点击 New,选择 Convert temperature units,然后点击 Create

分析您的数据

MATLAB Code 字段已预先填充代码,用于将温度从华氏度转换为摄氏度。

1) 设置与 ThingSpeak 通信的变量。readChannelID 是从气象站收集数据的公共通道的通道 ID。temperatureFieldID 是通道中包含温度值的字段。仅当您从私有通道读取数据时才为 readAPIkey 分配一个值。气象站是公共的,因此对于此示例,不要设置 readAPIkey。

readChannelID = 12397;
temperatureFieldID = 4; 
readAPIKey = '';

2) 使用 thingSpeakRead 函数读取最新的温度值。

tempF = thingSpeakRead(readChannelID,'Fields',temperatureFieldID,'ReadKey',readAPIKey);

3) 计算摄氏度温度并显示结果。

tempC = (5/9)*(tempF-32);
display(tempC,'Temperature in Celsius');
   21.5000

4) 点击 Save and Run 来执行您的代码。Output 字段显示您的结果。

将数据写入通道

1) 通过将温度转换结果写入私有通道来存储它们。要创建 ThingSpeak 通道,转至 Channels 选项卡并选择 My Channels。点击 New Channel。选中相应的复选框,并输入这些通道设置值:

  • Name - Temperature Measurements

  • Field 1 - Temperature (F)

  • Field 2 - Temperature (C)

点击 Save Channel

2) 在 MATLAB Code 字段中,设置用于写入私有通道的变量。将 writeChannelIDwriteAPIKey 的给定值替换为您的值。您可以在页面右侧的 Channel Info 面板下找到通道 ID 和 API 密钥。

% Replace the [] with ID of the channel to write data to:
writeChannelID = 17504;
% Enter the write API key between the ''.
writeAPIKey = '23ZLGOBBU9TWHG2H';

3) 将华氏温度和摄氏温度读数写入您的通道。

thingSpeakWrite(writeChannelID,[tempF,tempC],'Writekey',writeAPIKey);

4) 点击 Save and Run 来执行您的代码。ThingSpeak 通道中的每个图都填充了一个代表最新温度读数的点。您可以通过点击页面右侧 Channel Info 面板中的通道链接来访问您的通道。

5) 几分钟后再次点击 Save and Run,以使用另一个数据点更新您的通道。

另请参阅

函数

主题