数据触发邮件、微博报警,定期发送报表

2013-07-10 09:24

目的:

 用API模拟数据上传触发邮件、微博报警(例如当温度超过30度时发送邮件报警,当湿度超过70时发送新浪微博报警),设置定期发送报表。

用户组:所有用户组

硬件设备:

无需硬件,用API模拟数据上传

实验过程:

 注册乐联网账号 (www.lewei50.com)

 2 根据之前的教程添加好“我的设备”,“传感器”:“温度”和“湿度”,(具体步骤如下注意记住“标识”名称,在后面调用时会用到)。
   2.1 添加设备
   登录后进入“我的物联”-“我的设备 ->“添加新设备”
    首先添加设备,通过点击“我的设备”选择编辑已有的默认设备或者选择"添加新设备",如下图,填写相关信息后,点击保存就可以了。
 
 添加新设备
相关参数解释如下:
标识:设备的标识。系统自动分配,按01,02……这么向下自动排序。
类型:根据设备采取的不同硬件,设备被分为四种类型,Arduino, Art, lw-board和其他类型。说明如下:
          Ø Arduino:电子爱好者熟知的一款电子原型平台硬件
          Ø Art:RT-Thread公司开发的一款国内开源平台硬件
          Ø Lw-board:乐为物联公司自己开发的网络功能模块硬件
其它:其它类型的网络功能硬件
名称:该设备的名称
是否可控:如果该网关下有可反向控制设备,则勾选“是”,然后需要输入API地址。
介绍:设备的简单文字介绍
是否公开:如果公开你的设备,则别的用户能在乐联网公开设备地图上看到你的设备信息(设备名称及设备介绍)。
地理位置:在地图上选择你的设备所在的地理位置;
 
 
   2.2 添加湿度
        接下来添加湿度传感器,进入“我的物联”-“传感器与控制器 ->“传感器列表”,点击右边的“新建”
 
  添加传感器
 
           然后会出现“添加传感器”页签
 
 添加湿度
 
相关参数解释如下:
标识:传感器的缩写,为字母和数字的组合,如“T1”;
类型:可以在下拉菜单选择不同的传感器类型,区别是不同类型的数值单位不一样,如温度是︒C,浓度是%等等;
单位:与类型相关联,如果“类型”中选择“其他类型”,则需要这里手动输入单位;
设备:从下列菜单选择该传感器连接的设备;
名称:传感器名称;
数值转换:可以校准你的传感器,最终的保存数值=上传数值*系数+偏移,如果你的传感器没有系数和偏移值,则可以留空,主要应用于仪器仪表类传感器;
图片:可以上传你传感器的照片,公开后在乐联网公开设备地图中可以看到;
是否公开:是否公开你的传感器,只有当设备和设备连接的传感器同时公开,你才可以看到传感器的信息和数据;
正常值范围:设置数据的正常值范围;
超过范围告警:勾选,则测量数值不在正常值范围会自动短信告警,详见第五节;
发送间隔:当前传感器的最小保存时间,发送频率仅作为判断传感器在线的衡量标准,如果服务器在发送频率设置的时间内没有收到数据,则显示该传感器不在线;
介绍:传感器的备注信息;
发送超时报警:传感器超时(超过发送频率设置的时间)不发送数据有短信告警;
自动发微博:可以绑定新浪微博,自动推送微博,详见第八节;
 
如图所示,“标识” 填入 “humidity”,(这里用英文全称作为示范,要牢记标识名,在后面的API调用中会用到),“类型” 选择 “湿度监控”,单位:%,“设备”选择之前创建好的“我的设备”,“名称”里填入“湿度”,如想让其他人看到湿度数据则在 “是否公开” 后面的“是”前打勾。
 
     2.3 添加温度
        用跟湿度相同的方法添加好温度传感器,如下图:
 
 
  添加温度
 
           设置完成后,如图5所示,注意记住“标识”名称,在后面调用时会用到。
 
   标识
 3 绑定微博    
     设置步骤:
 绑定微博账号

首先,使用你的账号登录到乐联网,进入后点击“管理菜单”的“我的账户”,第一步要做的是绑定你的微博账号,点击“绑定微博账户”,点击右边窗口中的“绑定微博”绿色按钮,会弹出一个新页面,在这里输入你的新浪微博账号和密码,点击“登录”即可绑定。绑定成功后会切换到提示“微博绑定成功”的界面,则表示绑定成功。要注意的是,如果你已经在IE上已经打开了你的新浪微博,则系统会自动关联,不会出现登录界面,如果你想绑定另外一个账号,那么你需要退出你的新浪微博,并重启IE浏览器,然后才能绑定。
注意:为保障账号安全,一定要认准绑定微博的网页是以api.weibo.comURL地址
 
 4 添加表达式
点击上方管理菜单“智能物联” -> “表达式管理”,在这里设置根据不同的系统变量或传感器测量值范围来定义不同的微博发送内容。进入“智能物联” -表达式管理-> 添加表达式(具体步骤参考http://www.lewei50.com/dev/doc/126# 
首先看根据系统变量“小时”的范围来让微博发送不同的内容“上午好”,“下午好”和“晚上好”,点击“添加表达式”,按照以下的内容进行填写,注意“类型”选择“系统变量”,系统变量包括“小时”、“日期”、“时间”,选择“小时”,“小数点位数”此处不涉及,然后选择输出文本(勾选“是”),然后根据我们之前的逻辑关系设置,设置好了点击“测试”,可以看到当前时间为11点,那么则返回文本为“上午好”(在上午好的8-12的范围内)。
 
 添加表达式——小时
 
然后同样的方法设置“日期”,“日期”只需要返回当天的日期的内容,所以比较简单,不需要选择“是否输出文本”,设置和测试结果如下:
 添加表达式——日期
最后来设置根据不同的温度测量值来输出不容的微博文本,这里“类型”选择“单一传感器”,在“参考值”里面选择设备“我的设备”和传感器“温度”。这里的测量值取值到整数,所以不需要设置小数点位数,如果测量值有小数,你可以在这里填写,填写的格式为“.0”,“.00”等等。输出文本与测量值范围的逻辑如下,这里你可以自己定义。然后点击“测试”可以检查设置的结果是否正确。
 
 
 
 
以同样的方法添加湿度传感器,完成后如下图所示:
 
 
 
5 进入“智能物联” -> 发送内容管理-> 添加发送内容(具体步骤参考http://www.lewei50.com/dev/doc/126# 
 
设置发送内容,点击“发送内容管理”,设置和测试如下图,其中两个方括号“[[ ]]”中内容表示返回括号中的系统变量值或者传感器测量值或更复杂的传感器测量值的逻辑运算结果,例如“[[日期]]”返回的就是当前日期;而两个大括号“{{}}”中的内容表示由括号里面的值的范围对应的应推送的微博文本内容。例如下图中{{Temperature}},当前Temperature的测量值为22,根据之前在表达式中设置的逻辑对应关系,此时返回的文本应该为“温度适宜!”。设置好后同样可以点击测试,看看设置的是否正确。
 
如下图:
 
 
以同样的方式设置好湿度的发送内容,完成后如下图所示:
 
 
进入“智能物联” ->执行单元管理-> 添加执行单元(具体步骤参考http://www.lewei50.com/dev/doc/126# 
 
“名称”“开灯”,“执行命令”选择“亮 LED然后保存。
此步骤目的在于触发LED灯开启。
 
下面进行触发器设置:当温度超过30度时发送邮件报警,当湿度超过70时发送新浪微博报警。
 
   进入“智能物联” ->触发器->添加触发器
 
 
在“说明”一栏填“温度测试”;“测量设备”选择“温度”;“编辑条件”选择“大于”后面空白处填“30”;选择“沿触发”(沿触发的意思是当触发前的温度数值小于等于30,下次温度大于30时才会触发,例如触发前温度为29,此次为31触发一次,接下来温度变为32,则不会触发,只有当再次出现小于等于30的温度如28度,则以后再出现大于30度的温度时才会再次触发。)
 
不选择沿触发的话默认为为电平触发(熟悉示波器可能更容易理解这些概念)
电平触发的意思是只要温度一旦大于30时,就会触发一次,例如当温度为31触发一次,下次温度为32或者33,34等都会触发;
 
下一步
“执行发送内容”选择“是”
则会出现:
 
下面设置“发送方式”,这个步骤比较简单:
1)如选择“邮件”,在“发送给”里填入收件人 email,多个请用“,”隔开; 如下图所示:
 
 
2)如选择“新浪微博”,
 
 
 
接下来继续设置发送内容选择“温度”
执行控制命令单元选择“是”后面选择“开灯”
最小触发间隔:默认10”分钟(最小触发间隔就是说两次触发之间最小的时间间隔,系统支持最小的设置是1分钟,默认是10分钟)
“是否开启”选择“是”,这样触发器就开启了
这样关于温度的触发器就设置完成,如图:
 
 
 
以同样的方式设置湿度触发器。
 
 
设置完成后如图所示:
 
 

 

  8 好了,现在使用api测试,模拟数据上传

 
 进入首页的“开发者指南”-API列表” ->“测量设备接口” ->gateway/updateSensors
 
 
 
点击“在线测试”会出现以下界面:
 
 
填入 你的的“Userkey”
 
 
 
 
“Post数据”中 “T1” 改为“temperature”,“Value” 后面的“1”改为“32”
 “01H1”改为“humidity”, “Value” 后面的“96.2”改为“75”
 
点击 “调用接口” 出现下图所示:
 
       最后返回“我的物联”-“传感器与控制器 ->“传感器列表”,就可以看到如下的数值:
 
 

         好了,您的数据已成功模拟上传!此时如果你已经把把触发器全部打开了的话,相信你已经收到email 或者发送微博了,并且LED灯也亮了。

  9  乐联网自动推送邮件功能,增加了可以在邮件中推送历史曲线图的功能,目前只支持发送历史数据曲线图,后续会支持推送其他更为复杂的报表功能。

 从应用介绍总是更容易理解:我们正在用E-KIT + 温湿度传感器监测自家的温湿度情况,温湿度的实时数据已经可以传到乐联网平台了,但是我想在每周末的时候看到一份报表,告知我这一周内我们家整体温湿度情况。

比较笨的办法是:选择从平台导出excel数据,然后自己用excel做一份报表。(如果只能这么做,就没有这篇教程了)。

我们推荐的方法是:使用乐联网提供的自动推送报表功能。

 配置该功能的第一步是要先配置好自动发送的邮件内容,具体请参考4节的介绍。之前对于发送内容的编辑,发送时间的设置,与发送微博的完全一致,只不过最后会选择不同的发送方式。 

第二步,点击“自动发送设置” -> “添加自动发送设置”,然后点击下面的“自定义发送内容”。如下图所示:“自动发送设置”里选择发送方式为“邮件”,在“发送内容”栏点击自定义“发送内容”。

 自定义发送内容

第三步,点击如下图中的“推送报表”

 添加发送内容

然后选择“推送报表”,如下图所示,可以选择指定测量对象的指定时间内的历史曲线。

 推送报表设置

设置完成后后乐联网就会在你指定的时间内给你发送邮件了,你也可以在“自动发送设置”里点击“立即发送”来立即发送一封测试邮件。

 添加自动发送设置

可以到你的邮箱里查收邮件,并看到推送的邮件内容和历史曲线图:

 邮件里的报表显示

 

    PS: 除了可以定期推送邮件及报表外,也可以定期发送新浪微博,设置方法如下图所示:

     这样,就可以在每天的2:00, 6:00, 16:00, 20:00 来定时发送关于温度的新浪微博了。

 

结束语:

如果你需要更详细的技术交流或者疑问咨询,可以加入乐为物联技术支持群:59162154
或关注乐为物联新浪微博 @乐为物联
或关注乐联网微信:搜索公众账号 “乐联网”。或者扫描下面的二维码来添加关注“乐联网”。