监控仓库储备物的报警数据

更新时间:

本案例创建两个业务服务和一个Web应用,用于展示不同地域仓库储备物品的报警数据,实现手动选择发出报警信息的功能。

前提条件

已完成创建项目(例如:project_space)。具体操作,请参见普通项目

步骤一:创建收集器设备

  1. 登录物联网应用开发控制台,在页面左上角选择对应实例后,在左侧导航栏单击项目管理

    您也可登录物联网平台控制台,在左侧导航栏选择增值服务,单击选购增值服务中的前往查看服务,在增值服务中心,单击IoT Studio区域的立即试用,进入IoT Studio控制台。

    说明

    该服务公测版即将下线,如需使用请购买该产品。

  2. 在普通项目列表中,找到项目:project_space,单击项目卡片。
  3. 在项目详情页,单击左侧导航栏的产品,单击创建产品,完成参数配置,单击保存

    本案例为产品命名为收集器,选择自定义品类,其他参数使用默认值。

    参数说明的更多信息,请参见参数说明表

  4. 在产品列表中,单击收集器对应操作栏的查看,单击功能定义,自定义功能属性(信息集),用于记录发出的报警信息。

    功能属性
  5. 在产品详情页,单击设备数右侧的前往管理。在设备页面,单击添加设备,添加一个收集器设备(collector)。具体操作,请参见设备

    添加设备
  6. 本案例使用设备模拟器功能,调试默认模块中的属性,模拟设备发送数据,供业务服务和应用开发使用。具体操作,请参见设备模拟器

步骤二:开发业务服务

  1. 创建HTTP服务:获取报警信息,配置如下。具体操作,请参见公开API

    使用产品节点收集器,选择设备collector,设置查询设备属性信息集快照值,作为HTTP服务的返回数据。具体操作,请参见公开API获取报警信息

  2. 依次单击页面右上角的保存部署调试发布按钮,完成服务发布。

  3. 创建设备触发服务:仓库报警,通过钉钉机器人发送报警信息。

    节点配置如下所示。报警服务

    节点

    配置

    设备触发

    选择产品收集器的设备collector,设置属性信息集上报时,触发服务。

    NodeJS脚本

    处理信息集的数组数据为字符串类型,配置如上图所示。

    其中node_f2572c70设备触发的节点ID。

    条件判断

    NodeJS脚本输出值不为空时,发出报警信息。否则使用HTTP返回节点结束服务流。

    创建业务服务的具体操作,请参见创建业务服务

  4. 依次单击页面右上角的保存部署调试发布按钮,完成服务发布。

步骤三:开发可视化应用监控报警数据

  1. 创建Web应用。具体操作,请参见创建Web应用
  2. 在Web应用编辑器中,添加一个穿梭框组件,四个文字和指示灯组件。具体操作,请参见添加组件

  3. 分别选中组件配置样式和数据源。

    • 穿梭框:本案例以下文静态数据为例,作为公司统计的待报警数据,在穿梭框左侧列表展示。

      [
        {
          "label": "北京仓库报警",
          "value": "北京仓货物清空,请及时补仓!"
        },
        {
          "label": "南京仓库报警",
          "value": "南京仓货物满,请及时出仓!"
        },
        {
          "label": "杭州仓库报警",
          "value": "杭州仓货物满,请及时出仓!"
        },
        {
          "label": "天津仓库报警",
          "value": "天津仓货物清空,请及时补仓!"
        }
      ]

      左侧列表对应的报警信息如下。当选中数据项移动到右侧列表框后,表示发出对应的报警信息。

      [
        "北京仓货物清空,请及时补仓!",
        "南京仓货物满,请及时出仓!",
        "杭州仓货物满,请及时出仓!",
        "天津仓货物清空,请及时补仓!"
      ]

      将发出的报警信息数据下发给设备collector,如图所示。具体操作,请参见交互配置

      交互配置
    • 文字组件:分别输入内容北京南京杭州天津

    • 指示灯组件:绑定接口获取报警信息,通过返回的报警信息,设置指示灯状态。

      需通过数据过滤脚本,判断发出报警的地域,开启对应地域指示灯,如下图所示。

      function _filter(data) {
        // 判断返回数组中,是否包含includes的内容。是,则输出true,表示开启指示灯,否则关闭指示灯。
        return data.includes('北京仓货物清空,请及时补仓!') === true;
      }
      接口配置

      发出报警信息时,仓库清空,指示灯显橘黄色;仓库货满,指示灯显红色。

      指示灯配置
  4. 单击确定

  5. 单击右上角预览,调试应用。

    调试

    钉钉机器人发送消息。

    image..png
  6. 单击右上方发布按钮发布,将应用发布到云端。