单元 2:配置路由规则¶
路由规则是由一系列的规则节点组成,用于处理来自设备的信息。
步骤 1:创建规则¶
- 登录至 EnOS 管理控制台,点击左侧导航栏中的 路由规则。
- 点击 新建路由规则。
- 输入规则名称 温度传感器规则 和描述,然后点击 确定。
步骤 2:设计规则¶
你将进入带有 Rule Entry 节点的画布页面。
按照以下节点所示顺序设计并连接规则。
Rule Entry 节点¶
每个路由规则必须以 Rule Entry 节点起始。
- 点击 Rule Entry 节点。
- 从 网关类型 下拉列表中选择 EnOS IoT。
- 从 产品 下拉列表中选择 温度传感器产品。所有从该产品下的设备传入的数据都将进入该规则进行处理。
有关 Rule Entry 节点的更多信息,参见 Rule Entry。
Message Type Switch 节点¶
当 温度传感器产品 下的设备上报测点时,Message Type Switch 节点将路由传入的消息。
- 点击 Message Type Switch 节点。
- 从 消息类型 下拉列表中选择 上报测点。
有关 Message Type Switch 节点的更多信息,参见 Message Type Switch。
Multicast 节点¶
Multicast 节点将输入转发到多个节点以不同的方式进行处理。在本教程中,输入将以两种方式处理:如果温度高于 30,则向空调设备发送指令,并将规则路由到 EnOS_default 规则,该规则会将测点发送到 Kafka 主题并保存发布到 EnOS 的测点值。
有关 Multicast 节点的更多信息,参见 Multicast。
Script Switch 节点¶
Script Switch 节点根据编写的 JavaScript 脚本的结果路由 Multicast 节点的输出。在本教程中,脚本将检查输入的温度值是否为数字,如果该值高于 30,则将路由到下一个节点。
- 点击 Script Switch 节点。
- 点击 Script 标签,并输入以下脚本。
if (typeof msg.temperature === 'number') {
return msg.temperature > 30;
} else {
throw new Error('Temperature type unsupported');
}
有关 Script Switch 节点的更多信息,参见 Script Switch。
Send Command 节点¶
Send Command 节点向 空调设备 发送指令,将温度调整为 26。
点击 Send Command 节点。
从 消息来源 下拉列表中选择 固定消息。
从 产品 下拉列表中选择 空调产品,然后在 设备 下选择 设备名称 和 空调设备。
在 下发指令消息类型 下选择 调用服务。
从 模型服务 下拉列表中选择 ctrlTemperature,然后为 消息内容 输入以下内容。
{ "ctrlTemperature": 26 }
从方式 下拉列表中选择 直接发送指令。
有关 Send Command 节点的更多信息,参见 Send Command。
Checkpoint 节点¶
Checkpoint 节点将规则路由到 EnOS_default 默认规则。
- 点击 Checkpoint 节点。
- 从 操作 下拉列表中选择 Use Default Rule。
有关 Checkpoint 节点的更多信息,参见 Checkpoint。