Main Content

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

反应 App

React 与 ThingHTTP、ThingTweet 和 MATLAB® 分析 App 配合使用,在通道数据满足特定条件时执行操作。示例,您可以让移动 App 向 ThingSpeak™通道报告您的纬度和经度。当您的位置距离您家一定距离内时,让 ThingHTTP 打开您客厅的灯。

注意

如果您使用 React App ,并且在使用 Bulk-Write JSON Data 时将 Test Frequency 设置为 On Data Insertion,则您的 每个批量更新请求都会触发一次。当 ConditionConditionType 匹配时触发,即使 Condition 匹配多次。

如果您将 React 设置为在特定 Test Frequency 和特定 Condition Type 上运行,请注意 的运行方式$$ 被触发。现在,数据随时间推移收集并批量更新,触发 ReactCondition Type 在单批数据内可能会有所不同。

定义对通道数据的反应

  1. 选择Apps > React

  2. 点击 New React

  3. 选择:

    • Condition Type

    • Test Frequency

    • Action

    • Options

  4. 点击 Save React

条件类型

ThingSpeak 通道支持数字传感器数据、文本、字符串、状态更新和地理位置信息。使用这些条件类型来指定根据您的通道数据触发反应的条件。

细绳

此条件测试 ThingSpeak通道字段中包含 ASCII 字符的文本字符串。示例,“如果通道 1、场 1 等于蓝色,则将我的灯设置为蓝色。”

测试字符串时检查数据是否具有这些约束:

  • 包含

  • 以。。开始

  • 以。。结束

  • 等于

  • 不等于

地位

此条件测试通道中的 ThingSpeak 状态。状态字段类似于推文中的文本。您可以搜索某个单词的状态,并在满足测试条件时发送 ThingHTTP请求。

测试 ThingSpeak通道状态时,检查具有这些约束的数据:

  • 包含

  • 以。。开始

  • 以。。结束

  • 等于

  • 不等于

数值

如果 ThingSpeak通道的字段中有传感器数据或数值数据,请使用数字条件。示例,如果您的用电量超过 300 瓦,请使用数字条件使用 ThingTweet App 发布此推文:

“我用了太多的电”

此外,您还可以使用 ThingHTTP 向接受 HTTP 请求的另一个服务或设备发送控制命令。

在测试 ThingSpeak通道字段中的数字时,检查具有这些约束的数据:

  • 大于

  • 大于或等于

  • 小于

  • 小于或等于

  • 等于

  • 不等于

地理位置

此条件检查 ThingSpeak通道中的位置数据。示例,如果您有移动 App 向 ThingSpeak通道报告您的纬度和经度,则当您的位置距离您家一定距离内时,您可以打开客厅的灯。

在 ThingSpeak通道上测试位置信息时,检查具有这些约束的数据:

  • is within

  • is farther than

无数据检查

此条件检查 ThingSpeak通道是否正在按指定间隔接收数据。如果在指定的时间范围内没有发生数据更新,则会触发您在 React App 中选择的操作。示例,如果断电中断了您的设备并且您的通道没有更新,您可以触发一个操作。指定在触发操作之前您的通道不接收新数据的时间。

测试频率

选择可以测试指定条件的频率。

  • On Data Insertion:每次插入数据时进行测试。对于完全相同的条件,您不能为多个 React 配置 On Data Insertion

  • Every 10 minutes:每 10 分钟测试一次,按时钟计时。示例,上午 10:08 创建的 React 会在 10:10 触发,之后每 10 分钟触发一次。

  • Every 30 minutes:每 30 分钟测试一次,按时钟计时。

  • Every 60 minutes:每小时测试一次,按时钟计时。

行动

您可以触发 MATLAB AnalysisThingHTTP,或使用 ThingTweet App 发送推文。

更换密钥

您可以使用替换密钥将数据传递到您的 App 。下表总结了您可以使用的标准和自定义替换密钥。某些键特定于特定类型的请求,如最后一列所示。

描述例子使用场合
%%YOUR_CUSTOM_LABEL%%ThingHTTP 将此自定义替换值替换为触发请求中具有标签“YOUR_CUSTOM_LABEL”的数据。field1=%%YOUR_CUSTOM_LABEL%%发布数据:YOUR_CUSTOM_LABEL=1234.结果:field1=1234任何请求
%%channel_CHANNEL_ID_field_FIELD_NUMBER%%指定通道和字段的最后一个值。对与 ThingHTTP请求不属于同一用户的私有通道的替换请求会返回空白值。The latest value is %%channel_12_field_1%% .结果:The latest value is 2.5 .任何请求
%%datetime%%TimeControl 或 React 运行时的完整日期和时间。The date and time the event occurred is %%日期时间%% .结果:The date and time the event occurred is 2014-09-24 5:32 pm .时间控制或反应
%%day%%TimeControl 运行时的工作日名称。The day the event occurred is %%day%% .结果:The day the event occurred is 星期三TimeControl
%%day_index%% 从星期日开始的工作日的从零开始的索引。The number of days used this week is %%day_index%% .结果:The number of days used this week is 3 .TimeControl
%%hour%%TimeControl 运行的时间。The hour that the event occurred is %%小时%% .结果:The hour that the event occurred is 5 .TimeControl
%%minute%%TimeControl 运行时的分钟。The minute the event occurred is %%分钟%% .结果:The minute the event occurred is 30 .TimeControl
%%trigger%%触发 React 的值。It is way too hot in here at %%trigger%% C.结果:It is way too hot in here at 40 C反应
%%channel_id%%触发React的通道ID。The channel that tweets is %%channel_id%% .结果:The channel that tweets is 1256 反应

选项

  • Run action only the first time the condition is met:如果条件先前为假且当前为真,则触发操作。

  • Run action each time condition is met:每次条件为真时触发操作。

React App 与 MATLAB 分析代码错误

当您有使用 React 的 MATLAB 分析代码时,如果 MATLAB 分析代码中出现多个连续错误,React 将停止运行。您可以通过选中 MATLAB 分析 App 中的框 Notify me via email if this MATLAB Analysis fails when triggered by TimeControl or React 来选择通过电子邮件接收警报。