主要内容

分析通道数据发送邮件通知

这个例子展示了如何使用ThingSpeak警报服务以电子邮件消息的形式发送通知。使用TimeControl应用程序定期触发MATLAB分析应用程序。MATLAB分析应用程序分析数据,根据土壤湿度数据决定生成适当的电子邮件消息。使用MATLAB的分析功能,您可以从ThingSpeak数据中生成过滤的,有针对性的和特定的通道活动通知。

通道276330办公室植物的土壤湿度测量日志。在本例中,当植物需要水时,使用ethingspeak警报接收带有最后一个土壤传感器值的电子邮件通知。看到水分传感器使用HTTP POST请求通道学习如何设置一个土壤湿度监测器,在ThingSpeak上记录你的数据。

创建MATLAB分析

用MATLAB分析ThingSpeak数据。您可以使用您的分析结果来触发网络请求,例如从ThingSpeak警报请求电子邮件。该分析读取四周的数据,根据历史数据计算阈值。低于数据范围10%的测量值将更改输出消息。

1)选择应用程序>MATLAB分析并选择

2)选择阅读触发电子邮件的通道例子部分。下面的代码是在MATLAB分析窗口中预先填充的。

3)的名字您的分析和修改代码。改变alertApiKey以匹配您的警报API密钥。若要从您自己的公共频道读取,请更改channelID价值。首先设置通道ID和警报键。所有警报API键都以达克

channelID = 276330;alertApiKey =“TAKXXXXXXXXXXXXX”

4)设置URL和标题。警报服务需要一个ThingSpeak-Alerts-API-Key头。使用weboptions设置标头。

alertUrl =“https://api.thingspeak.com/alerts/send”;选项= weboptions(“HeaderFields”, (“ThingSpeak-Alerts-API-Key”, alertApiKey]);alertSubject = sprintf(“植物土壤资料”);

5)使用thingSpeakRead读取最近的数据。

保湿数据= thingSpeakRead(channelID,“NumDays”30岁的“字段”1);

6)确保有从信道读取的数据,并相应地设置消息。根据数据的跨度计算一个10%的阈值。使用最近的值设置警报正文消息。

如果isempty(moistureData) alertBody =“没有从工厂读取数据。”其他的根据近期数据计算10%的阈值。span = max(保湿数据)- min(保湿数据);dryValue = 0.1 * span + min(moistureData);获取湿度数据数组中最近的点。lastValue = moistureData(end);%设置发送消息如果(lastValue“我需要水!”;结束如果(lastValue>dryValue) alertBody =“不需要水。”结束结束

7)用户webwrite发送警报请求。将发送请求包装在try / catch以防止MATLAB分析被禁用,如果请求失败的任何原因。

试一试webwrite (alertUrl“身体”alertBody,“主题”, alertSubject, options);someException流("发送警报失败:%s\n", someException.message);结束

创建一个运行分析的时间控件

TimeControl应用程序可以评估ThingSpeak频道数据并触发其他事件。创建一个TimeControl应用程序实例,每天调用MATLAB分析代码。选择应用程序>TimeControl,然后按新TimeControl

  • 的名字—命名TimeControl。

  • 频率——选择反复出现的

  • 递归式——选择一天

  • 行动——选择MATLAB分析要执行的代码列表,选择您之前编写的MATLAB Analysis的名称。

每次TimeControl应用程序运行时,你都会收到一封电子邮件,让你知道植物是否需要浇水。10%的阈值只是一个估计;ThingSpeak不对您的植物承担任何责任。

注意:本例中的配置每天消耗一个电子邮件警报。您的警报总数是有限的;如果超过限制,则不能再触发新的电子邮件警报。

另请参阅

|(MATLAB)||

相关的话题

外部网站

Baidu
map