Main Content

thingSpeakWrite

将数据写入 ThingSpeak 通道

说明

示例

thingSpeakWrite(channelID,data,'WriteKey','channel write API key') 将数据写入指定的通道。Write API 密钥指定为以逗号分隔的对组,其中包含 'WriteKey' 和一个表示通道写入密钥的字符向量或字符串。

示例

thingSpeakWrite(___,Name,Value) 使用一个或多个 Name,Value 对组参量指定的其他选项。

示例

response = thingSpeakWrite(___) 返回 ThingSpeak™ 服务器在成功完成写入操作时提供的响应。

示例

全部折叠

将单个数值写入通道的字段 1。

thingSpeakWrite(17504,2.3,'WriteKey','23ZLGOBBU9TWHG2H')

将数值写入通道的前四个连续字段 [1,2,3,4]。

response = thingSpeakWrite(17504,[2.3,1.2,3.2,0.1],'WriteKey','23ZLGOBBU9TWHG2H')

将非数值数据写入通道的前三个连续字段 [1,2,3]。

thingSpeakWrite(17504,{2.3,'on','good'},'WriteKey','23ZLGOBBU9TWHG2H')

将混合值写入通道的非连续字段 [1,4,6]。

thingSpeakWrite(17504,'Fields',[1,4,6],'Values',{2.3,'on','good'},'WriteKey','23ZLGOBBU9TWHG2H')

更新三个字段,并为项写入纬度、经度和海拔数据。

thingSpeakWrite(17504,[1.1,2.3,4],'Location',[-40,23,35],'WriteKey','23ZLGOBBU9TWHG2H')

将纬度、经度和海拔数据写入一个通道,而不将值添加到字段中。

thingSpeakWrite(17504,'Location',[-40,23,3500],'WriteKey','23ZLGOBBU9TWHG2H')

为写入通道的值写入时间戳。提供的时间戳解释为本地时间。

tStamp = datetime('now')
thingSpeakWrite(17504,[2.3,1.2,3.2,0.1],'WriteKey','23ZLGOBBU9TWHG2H','TimeStamp',tStamp)

将一个数据矩阵写入通道的前三个字段。提供的时间戳会被解释为本地时间。

% Generate Random Data
data = randi(10,10,3);

% Generate timestamps for the data
tStamps = datetime('now')-minutes(9):minutes(1):datetime('now');

channelID = 17504; % Change to your Channel ID
writeKey = '23ZLGOBBU9TWHG2H'; % Change to your Write API Key

% Write 10 values to each field of your channel along with timestamps
thingSpeakWrite(channelID,data,'TimeStamp',tStamps,'WriteKey',writeKey)

将数据的时间表写入通道的前两个字段。提供的时间戳会被解释为本地时间。

% Generate random data
dataField1 = randi(10,10,1);
dataField2 = randi(10,10,1);

% Generate timestamps for the data
tStamps = [datetime('now')-minutes(9):minutes(1):datetime('now')]';

% Create timetable
dataTable = timetable(tStamps,dataField1,dataField2);
channelID = 17504; % Change to your channel ID
writeKey  = '23ZLGOBBU9TWHG2H'; % Change to your Write API Key

% Write 10 values to each field of your channel along with timestamps
thingSpeakWrite(channelID,dataTable,'WriteKey',writeKey)

输入参数

全部折叠

通道标识号,指定为正整数。

要写入通道的数据,指定为数值标量或数值向量、元胞数组、一串元胞数组、表或时间表。如果指定标量数据,则值写入通道中的第一个字段(字段 1)。对于向量或一维元胞数组,数据从字段 1 开始写入连续字段。

示例: thingSpeakWrite(17504,{2,3,'on','good'},'WriteKey','channel write api key');

通道的 Write API 密钥,指定为逗号分隔的对组,其中包含 'WriteKey' 和一个表示通道 Write API 密钥的字符向量。将数据写入通道需要 Write API 密钥。您可以在 ThingSpeak 通道视图的“API 密钥”选项卡上找到通道的 Write API 密钥。为了方便起见,请将您的通道 Write API 密钥保存在变量中。

示例: thingSpeakRead(12397,'WriteKey','XXXXXXXXXXXXXXXX');

名称-值参数

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

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

示例: thingSpeakWrite(17504,[1.1,2.2],'Fields',[1,2,3],'WriteKey','channel write api key');

通道字段 ID,指定为以逗号分隔的对组,其中包含 'Fields' 和 1×n 正整数值。

示例: thingSpeakWrite(17504,[2.3,1.2,3.2,0.1],'Fields',[1,2,3,4],'WriteKey','channel write api key');

数据值,指定为以逗号分隔的对组,其中包含 'Values' 和数值标量、数值向量、元胞数组、一串元胞数组、表或时间表值。指定将数据写入到由 'Fields' 参数指定的通道字段。

示例: thingSpeakWrite(17504,'Fields',[1,3,4],'Values',[1,2,3],'WriteKey','channel write api key');

通道中数据的位置信息,指定为以逗号分隔的对组,其中包含 'Location' 和数值数组。位置信息包括纬度、经度和海拔。此示例为提供给字段 1 的三个点中的每个点写入相同的位置信息。

示例: thingSpeakWrite(17504,[2.3,1.2,3.2,0.1],'Location',[-40,23,200],'WriteKey',' write api key');

服务器连接超时期限,指定为以逗号分隔的对组,其中包含 'TimeOut' 和一个数值。超时期限是 thingSpeakRead 尝试连接到服务器所允许的秒数,超过此期限则终止连接请求。

示例: thingSpeakWrite(17504,[2.3,1.2,3.2,0.1],'WriteKey','write API key','Timeout',15);

在写入通道的字段中写入的数据值的时间戳,指定为以逗号分隔的对组,其中包含 'Timestamp' 和一个值。该值必须为 MATLAB® datetime 值。所有时间戳必须唯一。如果您提交重复的时间戳,则您的所有更新都将被拒绝,否则只有时间戳已在通道中的更新才会被拒绝。

注意

如果您已将 'Values' 指定为时间表,请不要指定 'Timestamp'

示例: thingSpeakWrite(17504,[2.3,1.2,3.2,0.1],'WriteKey','channel write api key','Timestamp',[datetime('2/6/2018 9:27:12','format','MM/dd/uuuu HH:mm:ss')]);

数据类型: datetime

输出参量

全部折叠

写入操作的通道响应,以结构体形式返回,其中的字段顺序如表中所示。结构体字段指示写入到通道字段的值:

字段描述
FieldX

项的字段X 数据,最多八个字段

Latitude

写入操作的纬度

Longitude

写入操作的经度

Channel ID

通道标识号

Created

写入操作和馈送项的日期时间

Last EntryID

最近通道更新的项 ID

Created

通道创建日期的日期时间

Updated

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

Last EntryID

最近通道更新的项 ID

Altitude

写入操作的高程

局限性

  • 所有时间戳必须唯一。您不能写入其时间戳与通道中现有数据匹配的新数据。

  • 允许的通道更新频率取决于您的许可证类型。有关具体信息,请参阅常见问题解答如何购买。具有多个项的更新(例如在表或时间表中)只允许较慢的更新频率。对于免费帐户的用户,在对 thingSpeakWrite 的一次调用中的消息数量不能超过 960 条消息。对于付费帐户的用户,不能超过 14400 条消息。如果尝试以超过允许限制的速度发布,将返回以下错误:请求太频繁。有关详细信息,请参阅文档中的“限制”部分。

详细信息

全部折叠

ThingSpeak

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

版本历史记录

在 R2019a 中推出

另请参阅

函数