监控仓库储备物的报警数据
本案例创建两个业务服务和一个Web应用,用于展示不同地域仓库储备物品的报警数据,实现手动选择发出报警信息的功能。
前提条件
已完成创建项目(例如:project_space)。具体操作,请参见普通项目。步骤一:创建收集器设备
登录物联网应用开发控制台,在页面左上角选择对应实例后,在左侧导航栏单击项目管理。
您也可登录物联网平台控制台,在左侧导航栏选择增值服务,单击选购增值服务中的前往查看服务,在增值服务中心,单击IoT Studio区域的立即试用,进入IoT Studio控制台。
说明该服务公测版即将下线,如需使用请购买该产品。
- 在普通项目列表中,找到项目:project_space,单击项目卡片。
在项目详情页,单击左侧导航栏的产品,单击创建产品,完成参数配置,单击保存。
本案例为产品命名为收集器,选择自定义品类,其他参数使用默认值。
参数说明的更多信息,请参见参数说明表。
在产品列表中,单击收集器对应操作栏的查看,单击功能定义,自定义功能属性(信息集),用于记录发出的报警信息。
在产品详情页,单击设备数右侧的前往管理。在设备页面,单击添加设备,添加一个收集器设备(collector)。具体操作,请参见设备。
本案例使用设备模拟器功能,调试默认模块中的属性,模拟设备发送数据,供业务服务和应用开发使用。具体操作,请参见设备模拟器。
步骤二:开发业务服务
创建HTTP服务:获取报警信息,配置如下。具体操作,请参见公开API。
使用产品节点收集器,选择设备collector,设置查询设备属性信息集的快照值,作为HTTP服务的返回数据。具体操作,请参见公开API。
依次单击页面右上角的保存、部署调试、发布按钮,完成服务发布。
创建设备触发服务:仓库报警,通过钉钉机器人发送报警信息。
节点配置如下所示。
节点
配置
设备触发
选择产品收集器的设备collector,设置属性信息集上报时,触发服务。
NodeJS脚本
处理信息集的数组数据为字符串类型,配置如上图所示。
其中
node_f2572c70
为设备触发的节点ID。条件判断
NodeJS脚本输出值不为空时,发出报警信息。否则使用HTTP返回节点结束服务流。
创建业务服务的具体操作,请参见创建业务服务。
依次单击页面右上角的保存、部署调试、发布按钮,完成服务发布。
步骤三:开发可视化应用监控报警数据
- 创建Web应用。具体操作,请参见创建Web应用。
在Web应用编辑器中,添加一个穿梭框组件,四个文字和指示灯组件。具体操作,请参见添加组件。
分别选中组件配置样式和数据源。
穿梭框:本案例以下文静态数据为例,作为公司统计的待报警数据,在穿梭框左侧列表展示。
[ { "label": "北京仓库报警", "value": "北京仓货物清空,请及时补仓!" }, { "label": "南京仓库报警", "value": "南京仓货物满,请及时出仓!" }, { "label": "杭州仓库报警", "value": "杭州仓货物满,请及时出仓!" }, { "label": "天津仓库报警", "value": "天津仓货物清空,请及时补仓!" } ]
左侧列表对应的报警信息如下。当选中数据项移动到右侧列表框后,表示发出对应的报警信息。
[ "北京仓货物清空,请及时补仓!", "南京仓货物满,请及时出仓!", "杭州仓货物满,请及时出仓!", "天津仓货物清空,请及时补仓!" ]
将发出的报警信息数据下发给设备collector,如图所示。具体操作,请参见交互配置。
文字组件:分别输入内容北京、南京、杭州、天津。
指示灯组件:绑定接口获取报警信息,通过返回的报警信息,设置指示灯状态。
需通过数据过滤脚本,判断发出报警的地域,开启对应地域指示灯,如下图所示。
function _filter(data) { // 判断返回数组中,是否包含includes的内容。是,则输出true,表示开启指示灯,否则关闭指示灯。 return data.includes('北京仓货物清空,请及时补仓!') === true; }
发出报警信息时,仓库清空,指示灯显橘黄色;仓库货满,指示灯显红色。
单击确定。
单击右上角预览,调试应用。
钉钉机器人发送消息。
单击右上方发布按钮,将应用发布到云端。