Main Content

thingSpeakRead

读取存储在 ThingSpeak 通道中的数据

自 R2019a 起

说明

示例

data = thingSpeakRead(channelID)ThingSpeak.com 上的指定公共通道的所有字段中读取最新数据,并将数据以数值类型形式返回。

示例

data = thingSpeakRead(channelID,Name=Value) 使用一个或多个 Name=Value 对组参数指定的其他选项。要读取非数值数据,您必须指定 'OutputFormat'

示例

data = thingSpeakRead(___,ReadKey='channel Read API key') 使用 ThingSpeak™ Read API 密钥从私有通道读取。

示例

[data,timestamps] = thingSpeakRead(___) 还从 ThingSpeak.com 上的指定通道返回时间戳,并且可以包括上述语法中的任何输入参数。

示例

[data,timestamps,channelInfo] = thingSpeakRead(___) 也返回通道信息。

示例

全部折叠

从一个公共通道的字段 1 和字段 4 中读取最后三个数据点,并将数据返回到一个时间表中。

data = thingSpeakRead(12397,'Fields',[1,4],NumPoints=3,OutputFormat='TimeTable')
data =

  3×2 timetable

         Timestamps         WindDirectionNorth0Degrees    TemperatureF
    ____________________    __________________________    ____________
    18-Nov-2021 13:42:57                34                    70.4    
    18-Nov-2021 13:43:57                50                    70.4    
    18-Nov-2021 13:44:57                54                    70.6

从一个公共通道的字段 1 和字段 4 中读取最后五分钟的数据,并将数据返回到一个表中。

data = thingSpeakRead(12397,Fields=[1,4],NumMinutes=5,OutputFormat='TimeTable')
data =

  11×2 timetable

         Timestamps         WindDirectionNorth0Degrees    TemperatureF
    ____________________    __________________________    ____________

    18-Nov-2021 13:34:57                38                    70.6    
    18-Nov-2021 13:35:57                42                    70.6    
    18-Nov-2021 13:36:57                41                    70.6    
    18-Nov-2021 13:37:57                46                    70.8    
    18-Nov-2021 13:38:57                44                    70.8    
    18-Nov-2021 13:39:57                37                    70.8    
    18-Nov-2021 13:40:57                42                    70.6    
    18-Nov-2021 13:41:57                43                    70.4    
    18-Nov-2021 13:42:57                34                    70.4    
    18-Nov-2021 13:43:57                50                    70.4    
    18-Nov-2021 13:44:57                54                    70.6    
    18-Nov-2021 13:45:57                52                    70.

读取一个公共通道的所有字段的最新结果,包括时间戳。

[data,timestamps] = thingSpeakRead(12397)
data =
   52.0000    7.6000   58.0000   70.8000         0   29.6700    4.1360         0


timestamps = 

  datetime

   18-Nov-2021 13:45:57

从一个公共通道的字段 1 和字段 4 中读取最后五分钟的数据,包括时间戳和通道信息。

[data,timestamps,channelInfo] = thingSpeakRead(12397,Fields=[1,4],NumMinutes=5)
data =

   41.0000   70.6000
   46.0000   70.8000
   44.0000   70.8000
   37.0000   70.8000
   42.0000   70.6000
   43.0000   70.4000
   34.0000   70.4000
   50.0000   70.4000
   54.0000   70.6000
   52.0000   70.8000
   39.0000   71.0000


timestamps = 

  11×1 datetime array

   18-Nov-2021 13:36:57
   18-Nov-2021 13:37:57
   18-Nov-2021 13:38:57
   18-Nov-2021 13:39:57
   18-Nov-2021 13:40:57
   18-Nov-2021 13:41:57
   18-Nov-2021 13:42:57
   18-Nov-2021 13:43:57
   18-Nov-2021 13:44:57
   18-Nov-2021 13:45:57
   18-Nov-2021 13:46:57


channelInfo = 

  struct with fields:

            ChannelID: 12397
                 Name: 'WeatherStation'
          Description: 'MathWorks Weather Station, West Garage, Natick, MA 01760, USA'
             Latitude: 42.2997
            Longitude: -71.3505
             Altitude: 60
              Created: 20-May-2014 17:50:32
              Updated: 18-Nov-2021 13:40:31
          LastEntryID: 3638608
    FieldDescriptions: {1×8 cell}
             FieldIDs: [1 2 3 4 5 6 7 8]
                  URL: 'https://api.thingspeak.com/channels/12397/feed.json?'

读取一个公共通道的字段 1 和 4 从 2018 年 8 月 9 日 11:59:01 到 2018 年 8 月 10 日 12:02:52 的数据,包括时间戳和通道信息。

[data,timestamps,channelInfo] = thingSpeakRead(12397,Fields=[1 4],...
    DateRange=[datetime(2018,8,9,23,59,01),datetime(2018,8,10,0,02,52)])
data =

  202.0000   83.3000
  184.0000   83.2000
  185.0000   83.1000
  155.0000   83.1000


timestamps = 

  4×1 datetime array

   09-Aug-2018 23:59:17
   10-Aug-2018 00:00:20
   10-Aug-2018 00:01:21
   10-Aug-2018 00:02:22


channelInfo = 

  struct with fields:

            ChannelID: 12397
                 Name: 'WeatherStation'
          Description: 'MathWorks Weather Station, West Garage, Natick, MA 01760, USA'
             Latitude: 42.2997
            Longitude: -71.3505
             Altitude: 60
              Created: 20-May-2014 17:50:32
              Updated: 14-May-2020 10:31:40
          LastEntryID: 2853000
    FieldDescriptions: {'Wind Direction (North = 0 degrees)'  'Wind Speed (mph)'  '% Humidity'  'Temperature (F)'  'Rain (Inches/minute)'  'Pressure ("Hg)'  'Power Level (V)'  'Light Intensity'}
             FieldIDs: [1 2 3 4 5 6 7 8]
                  URL: 'https://api.thingspeak.com/channels/12397/feed.json?'

输入参数

全部折叠

通道标识号,指定为正整数。对于私有通道,您还必须指定 ReadKey 参数。

数据类型: double

名称-值参数

将可选的参数对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参数名称,Value 是对应的值。名称-值参数必须出现在其他参数之后,但参数对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: thingSpeakRead(12397,Location=true); thingSpeakRead(12397,'Location',true);

要返回的所收集数据的时间范围,指定为名称-值对组,其中包含 'DateRange' 和一个值数组,其中的值在 MATLAB® datetime 值中具有 [startdate,enddate]。ThingSpeak 服务器将返回的点数限制为最多 8000 个。如果您需要超过 8000 个数据点,请调整范围或进行多次调用。

注意

您不能将 DateRangeNumDaysNumMinutes 结合使用。

示例: thingSpeakRead(12397,DateRange=[datetime('Aug 8, 2014'),datetime('Aug 12, 2014')]);

通道字段 ID,指定为名称-值对组,其中包含 Fields 和要从中检索数据的通道字段 ID 的数值。

示例: thingSpeakRead(12397,Fields=[1,3,4]);

显示来自通道的数据位置信息的指示符,指定为名称-值对组,其中包含 Location 和一个逻辑值。位置信息包括纬度、经度和海拔。

示例: thingSpeakRead(12397,Location=true);

从中提取数据的数据的天数,指定为名称-值对组,其中包含 'NumDays' 和一个数值。天数以 24 小时为度量单位。ThingSpeak 服务器将返回的点数限制为最多 8000 个。请调整您的天数,如果您需要超过 8000 个数据点,请进行多次调用。

注意

您不能将 NumDaysDateRangeNumMinutes 结合使用。

示例: thingSpeakRead(12397,NumDays=2);

从中提取数据的数据的分钟数,指定为名称-值对组,其中包含 'NumMinutes' 和一个数值。要检索的数据的分钟数是从发出命令时开始度量的。ThingSpeak 服务器将返回的点数限制为最多 8000 个。请调整您的分钟数,如果您需要超过 8000 个数据点,请进行多次调用。

注意

您不能将 NumMinutesDateRangeNumDays 结合使用。

示例: thingSpeakRead(12397,NumMinutes=20);

数据类型: double

要提取的数据点的数量,指定为名称-值对组,其中包含 'NumPoints' 和一个数值。数据点的数量或数据的行数是从发出命令时开始计数的。ThingSpeak 服务器将返回的点数限制为最多 8000 个。

示例: thingSpeakRead(12397,NumPoints=200);

输出数据的类,指定为以逗号分隔的对组,其中包含 'OutputFormat' 和一个文本值。有效值为 'matrix''table''timetable'。对数值数据使用 'matrix' 格式。对任何非数值数据可以使用 'timetable''table''table' 格式输出 [data,channelInfo],其中 data 包含来自通道字段的时间戳和数据。'timetable' 格式输出 [data,channelInfo],其中 data 是时间表,包含的变量与请求的 'fields' 的数量一样多。

示例: thingSpeakRead(12397,OutputFormat='table');

示例: thingSpeakRead(12397,OutputFormat='timetable');

通道的 Read API 密钥,指定为名称-值对组,其中包含 'ReadKey' 和一个表示通道 Read API 密钥的字符向量。Read API 密钥允许您从私有通道读取数据。您可以在 ThingSpeak 通道视图的“API 密钥”选项卡上找到通道的 Read API 密钥。如果您正在从公共通道读取数据,则不需要 Read API 密钥。为了方便起见,请将您的通道 Read API 密钥保存在变量中。

示例: thingSpeakRead(12397,ReadKey='F6CSCVKX42WFZN9Y');

数据类型: char

服务器连接超时期限,指定为名称-值对组,其中包含 'Timeout' 和一个数值。该值是 thingSpeakRead 连接到服务器所允许的秒数。

示例: thingSpeakRead(12397,Timeout=15);

输出参数

全部折叠

来自通道的数据,以数组、表或时间表形式返回。

每个数据元素的时间戳,以 datetime 值的数组形式返回。

数据类型: datetime

通道信息,以结构体形式返回,其中的字段顺序如表中所示。

字段描述
ChannelID

通道标识号

Name

通道的名称

Description

通道描述

Latitude

通道设置中提供的通道的纬度

Longitude

通道设置中提供的通道的经度

Altitude

通道设置中提供的通道的高程

Created

通道创建日期的日期时间

Updated

上次更改通道设置的日期时间

Last EntryID

最近通道更新的项 ID

Field Descriptions

字段名称的列表

Field IDs

已启用字段的列表

URL

馈送数据的 URL

详细信息

全部折叠

ThingSpeak

ThingSpeak 是一种物联网分析平台服务,使您能够聚合、可视化和分析云中的实时数据流。有关详细信息,请参阅许可证选项商业用途

版本历史记录

在 R2019a 中推出

另请参阅

函数