反应 App
React 与 ThingHTTP、ThingTweet 和 MATLAB® 分析 App 配合使用,在通道数据满足特定条件时执行操作。示例,您可以让移动 App 向 ThingSpeak™通道报告您的纬度和经度。当您的位置距离您家一定距离内时,让 ThingHTTP 打开您客厅的灯。
注意
如果您使用 React
App ,并且在使用 Bulk-Write JSON Data 时将 Test Frequency 设置为 On Data Insertion,则您的 每个批量更新请求都会触发一次。当 Condition 与 ConditionType 匹配时触发,即使 Condition 匹配多次。
如果您将 React
设置为在特定 Test Frequency 和特定 Condition Type 上运行,请注意 的运行方式$$ 被触发。现在,数据随时间推移收集并批量更新,触发 React
的 Condition Type 在单批数据内可能会有所不同。
定义对通道数据的反应
选择Apps > React。
点击 New React。
选择:
Condition Type
Test Frequency
Action
Options
点击 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 Analysis、ThingHTTP,或使用 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 来选择通过电子邮件接收警报。