【IoT Openlab】华为云IoT平台规则引擎的入门简介

举报
华为IoT云服务 发表于 2020/11/20 17:01:46 2020/11/20
【摘要】 规则引擎规则引擎 规则引擎就是指用户在华为云平台对接入的设备设定相应的规则,然后在条件满足响应的规则后,平台便会触发的动作来满足用户需求。规则引擎包含了设备联动和数据转发两个部分。规则引擎思维导图: 设备联动 设备联动是通过条件触发,基于预设的规则,引发多设备的协同反应,实现设备联动、智能控制。例如,当执行动作为“发送通知”时,物联网平台对接华为...


规则引擎

         规则引擎就是指用户在华为云平台对接入的设备设定相应的规则,然后在条件满足响应的规则后,平台便会触发的动作来满足用户需求。规则引擎包含了设备联动和数据转发两个部分。

规则引擎思维导图:

        image.png


设备联动

         设备联动是通过条件触发,基于预设的规则,引发多设备的协同反应,实现设备联动、智能控制。例如,当执行动作为发送通知时,物联网平台对接华为云的消息通知服务SMN,进行主题消息的设置和下发。

触发条件:

要想触发一个规则动作,就必须首先要有个触发条件,在华为云设备联动的规则有匹配设备触发、指定设备触发、定时触发三个部分。

指定设备触发:对使用相同产品模型的设备进行条件设置。

指定设备出发:对指定设备进行条件设置

定时触发:可以设置规则触发的时间点。值得注意的是当指定的触发条件选择定时触发,则执行动作中不能设置为发送通知上报告警恢复告警的动作。

执行动作:

       当拥有一个触发条件的时候,必定会有一个与之对应的执行动作,执行动作可分为下发命令、发送通知、上报告警、恢复告警。

下发命令:下发命令时需指定要执行的设备,对服务的执行命令参数进行重新配置下发给设备。

发送通知:发送通知需要您授权当前设备接入服务(IoTDA) 访问所有区域的消息通知服务(SMN) 的权限。即对接华为云的消息通知服务SMN,进行主题消息的设置和下发

上报告警:定义告警级别、告警名称、告警内容等。当满足触发设置的条件后,产生的告警将统一上报到应用运维管理服务(AOM)管理界面。

恢复告警:定义告警级别、告警名称、告警内容等,当满足触发设置的条件后,产生的告警将统一上报到应用运维管理服务(AOM)管理界面。

数据转发

         设备接入IoTDA与华为云上的其他服务实现无缝对接,就是借助于规则引擎中的数据转发来实现的。当满足数据转发的触发条件时,IoTDA便能根据所设定的触发事件将数据转发到其他服务或是推送给应用。例如DISOBS等。

触发事件:

在设备接入IoTDA与其他服务对接,首先需要确认需要转发的事件,触发事件主要有设备的添加更新或删除、设备属性的上报、设备消息状态的变更、设备状态变更、批量任务变更。

设备添加更新与删除:是指新增一个设备、删除、更新一个设备时触发规则引擎,然后将数据转发到所设定的转发目标服务。值得注意的是设备更新指的是设备的一些基本信息,如设备名称、描述、版本信息等,而是不是所属服务的属性。

设备属性上报:是指当设备上报其属性时触发规则通过设定的转发目标将其转发到其他的华为云服务或是推送给应用。

设备消息上报:是指当设备上报其消息时触发规则通过设定的转发目标将其转发到其他的华为云服务或是推送给应用。

设备消息状态变更:是指当设备消息状态发生变更时触发规则通过设定的转发目标将其转发到其他的华为云服务或是推送给应用。消息的状态分为以下四种:PENDINGDELIVEREDFAILEDTIMEOUTPENDING指设备不在线,消息被缓存起来,等设备上线之后下发: DELIVERED指消息发送成功;FAILED消息发送失败;TIMEOUT指消息在平台默认时间内(1天)还没有下发送给设备,则平台会将消息设置为超时,状态为TIMEOUT

设备状态变更:是指当设备的状态发生变更时触发规则通过设定的转发目标将其转发到其他的华为云服务或是推送给应用。设备的状态分为以下四种:未激活,在线、离线、异常

设备批量任务变更:是指针对任务类型为固件升级或是软件升级的任务状态发生变更时触发规则通过设定的转发目标将其转发到其他的华为云服务或是推送给应用。设备的批量任务状态分为以下六种:任务正在等待被执行、任务正在被执行、任务成功、任务部分成功、任务失败、任务被停止。

转发目标

         在我们对触发事件设置完成之后,就会设置其转发的目标。转发目标可以是华为云上的其他服务,也可以直接是通过http推送的方式推送给第三方应用又或者是AMQP消息队列.

关于规则引擎的黑名单:

        规则引擎的黑名单是指:当触发规则引擎时,根据触发事件通过http订阅推送的方式将数据推送给应用,但如果推送失败(即返回的状态码不为200)并且连续推送十次失败,这时这个应用地址便会被平台加入到黑名单,不再进行推送。当三十秒过后,这时平台将会放开黑名单一次,此时当触发事件条件满足时再去推送,如果返回的状态码为200,即推送成功,如果返回的状态码不为200即推送失败,且又再次连续十次失败,此时应用地址又会加入黑名单。如此反复。

 


【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。