Link使用指南之规则引擎

规则是用户自定义的条件,规则引擎规则引擎可以订阅设备Topic,获取设备上报的数据,然后将解析过的数据发送到其他云服务如ROMA自身的消息集成组件MQS、分布式消息服务 DMS Kafka专享版、数据接入服务 DIS等,供其他云服务使用。例如,用户可制定规则,命令设备每小时上报一次设备温度,如果设备温度超出正常范围,则关闭该设备,给用户发送告警信息;LINK将收集到的数据传输到大数据分析平台,评估其他设备发生故障的风险。

创建规则

创建规则的具体步骤如下:

  1. 登录ROMA控制台,单击左侧菜单栏“设备集成LINK > 规则引擎”。

  2. 单击“创建规则”,创建一条新的规则。

  3. 单击规则名称,进入规则详情页面,

  4. 配置数据源端。详细参数如下:


    产品名称:从下拉菜单中选择一个产品。

    设备名称:从下拉菜单中选择一个设备。

    您可以选择将此规则应用于一个产品下的全部设备或某一特定的设备。

    Topic名称:选择一个Topic名称。

    设备有两种具有pub权限的Topic可供选择,设备名称带有“shadow”字样的是设备影子的Topic,另一个则是设备本身的topic。设备影子存储了设备或者应用的当前状态信息,当设备不在线时,可以使用设备影子的Topic通过MQTT协议获取和设置设备的状态。您可以根据业务需求选择设备影子的Topic或设备本身的Topic。

    是否base64:选择是否开启base64加密,默认开启。

    是否嵌套消息体:选择是否嵌套消息体,默认开启。


  5. 配置数据目的端。LINK支持的目的端有:ROMA MQS消息集成服务、分布式消息服务 Kafka专享版、设备的订阅Topic、和数据接入服务 DIS。


    配置ROMA MQS数据目的端需要填写以下参数:

    Topic是MQS的一种发布与订阅消息模型。生产者向消息主题发布消息,多个消费者订阅该消息主题的消息,生产者与消费者彼此并无直接关系。

    配置Kafka专享版数据目的端需要填写以下参数:

    Topic是Kafka专享版的一种发布与订阅消息模型。生产者向消息主题发布消息,多个消费者订阅该消息主题的消息,生产者与消费者彼此并无直接关系。

    配置设备订阅的Topic数据目的端需要填写以下参数:配置DIS数据目的端需要填写以下参数:


    • 通道列表:从下拉菜单中选择一个通道名称。通道名称指的是DIS的通道名,是租户创建的逻辑单位,用以区分不同租户实时数据的集合,在创建通道的时候指定。用户使用DIS发送或接受数据时,需要指定通道名称。

    • 委托服务:从下拉菜单中选择一个委托服务。 委托服务是指用户在IAM处创建委托,授予ROMA访问DIS的权限。

    • 产品:从下拉菜单中选择一个产品。

    • 设备:从下拉菜单中选择一个设备。

    • Topic:从下拉菜单中选择一个Topic名称。

    • 实例名称:从下拉菜单中选择一个实例名称。

    • Topic名称:从下拉菜单中选择一个Topic名称。 

      选择分布式消息服务 DMS Kafka专享版为目的地时,处理数据实例的vpc要与目的地数据kafka实例的vpc一致。若不一致,系统会做出相应提醒。、

    • 说明:

    • 实例名称:从下拉菜单中选择一个实例名称。

    • Topic名称:从下拉菜单中选择一个Topic名称。

修改规则

  1. 登录ROMA控制台,单击左侧菜单栏“设备集成LINK > 规则引擎”。

  2. 选择待操作规则,单击操作栏的“编辑”,弹出“编辑规则”页。

  3. 修改规则信息,详细参数如下:


    规则名称:长度不超过64个字符,支持英文字母,数字,下划线和中划线,必填项。

    规则描述:长度不超过200个字符,非必填项。

    状态:是否启用,非必填项。


  4. 单击“确认”,完成规则修改

删除规则

  1. 登录ROMA控制台,单击左侧菜单栏“设备集成LINK > 规则引擎”。

  2. 选择待操作规则,单击操作栏的“删除”,弹出“删除规则”页。

  3. 单击“确认”,完成规则删除。

设备接入LINK

设备接入LINK后,设备可以将消息发送给云端,供云端做进一步的处理,如解析,转发和存储等。

可以通过两种方式实现设备接入LINK:

  • MQTT.fx客户端

    该客户端是基于MQTT协议,此协议是IBM开发的一个即时通讯协议。MQTT协议构建于TCP/IP协议上,面向M2M和物联网IoT的连接协议,采用轻量级发布和订阅消息传输机制。

  • SDK

    详情请参考LINK开发指南

上述两种方式都可以通过使用Pub权限的Topic(Pub Topic或者Update Shadow Topic)来实现设备接入LINK的功能,然后发送消息。

控制设备

除了设备接入LINK的功能,您也可以使用LINK控制设备。控制设备的功能基于MQTT协议。以图1为例,订阅者是设备,发布者通过消息控制设备。发布者和设备之间通过代理进行消息传输。设备需要订阅Topic,才会收到相应的消息,否则消息不会被推送到设备上。例如,发布者发送“温度=25摄氏度”消息到一个名为“空调温度”的topic,设备端的空调订阅了这个topic,那么空调将收到这条消息,并且按照消息内容中的要求,将温度改为25摄氏度。

控制设备目前我们可以使用相应的SDK来发送消息给设备,设备使用订阅的Topic来接收相应的消息,详情请您参考《设备集成LINK开发指南》的设备端开发。