分析通道数据发送电子邮件通知
这个例子展示了如何使用ThingSpeak警报服务发送通知邮件。使用TimeControl程序触发一个MATLAB定期分析应用。MATLAB分析程序分析来决定适当的电子邮件消息的数据来生成基于土壤水分数据。使用MATLAB的分析能力,您可以生成过滤、针对性,具体从ThingSpeak数据通道活动的通知。
通道276330年日志从办公室植物土壤水分测量。在本例中,您useThingSpeak警报接收电子邮件通知最后土壤传感器值时,植物需要水。看到湿度传感器使用HTTP POST请求通道学习如何建立一个土壤水分监测ThingSpeak记录数据。
创建一个MATLAB分析
用MATLAB分析ThingSpeak数据。你可以用你的分析结果来触发web请求,如请求邮件ThingSpeak警报。这种分析读4周的数据来计算基于历史数据的阈值。测量低于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读最近的数据。
moistureData = thingSpeakRead (channelID,“NumDays”30岁的“字段”1);
6)确保数据从通道读取和设置相应的消息。计算阈值从10%张成的空间数据。使用最近的值来设置警报消息。
如果isempty (moistureData) alertBody =“没有数据读取。”;其他的%计算10%的阈值基于最近的数据。跨度= max (moistureData) - min (moistureData);dryValue = 0.1 *跨度+分钟(moistureData);%的最近点水分数据的数组中。lastValue = moistureData(结束);%设置输出消息如果(lastValue < dryValue) alertBody =“我需要水!”;结束如果(lastValue > dryValue) alertBody =“不需要水。”;结束结束
7)用户webwrite
请求发送警报。在一个包裹发送请求try / catch
防止MATLAB分析disbled如果请求没有任何理由。
试一试webwrite (alertUrl“身体”alertBody,“主题”、alertSubject选项);抓someException流(“失败发送警报:% s \ n”,someException.message);结束
创建一个运行时间控制你的分析
TimeControl应用可以评估你ThingSpeak通道数据和触发其他事件。创建一个实例的TimeControl每天应用程序调用MATLAB分析代码。选择应用程序>TimeControl,然后单击新TimeControl。
的名字——名字TimeControl。
频率——选择反复出现的。
递归式——选择一天。
行动——选择MATLAB分析。在代码执行列表中,选择MATLAB分析以前你写的名字。
每次TimeControl应用程序运行时,你收到一封电子邮件让你知道植物需要水。仅10%的阈值估计;ThingSpeak工厂不承担任何责任。
注意:此配置在这个例子中消耗一个每天电子邮件警报。你的警报的总数是有限的;如果你超过了限制,你可以不再触发新的电子邮件警报。
另请参阅
写入数据
|webwrite
(MATLAB)|发送警报
|得到警报历史