单元 5:模拟水表数据


配置好路由规则和告警规则后,则可使用 HTTP 请求模拟水表测点的发送。

步骤 1:生成 HTTP 请求 URL

格式:http://{protocolGatewayId}.{address}:{port}{path}

  • protocolGatewayId单元 2 中协议网关成功创建后系统生成的 ID。
  • addressport:可在登入 EnOS 管理控制台 后点击右上角的 帮助 > 环境信息第三方网关连接 中获取。
  • path:在 单元 2 中创建协议网关时为 协议路由 输入的路由,本教程中为 /post

步骤 2:模拟数据触发告警

  1. 使用以下示例代码模拟超过 10000 的值以触发警报。

    {
     "identifier": "assetId", //水表的 asset ID
     "msgType": "deviceReq",
     "hasMore": 0,
     "dtag": 1,
     "data": [
         {
             "serviceId": "NBWaterMeterCommon",
             "serviceData": {
                 "meterId": "xxxx",
                 "dailyActivityTime": 120,
                 "flow": 21234, //超过 10000 的值
                 "cellId": "5656",
                 "signalStrength": "99",
                 "batteryVoltage": 3.5
             },
             "eventTime": 1635934569742
         },
         {
             "serviceId": "waterMeter",
             "serviceData": {
                 "internalTemperature": "667"
             },
             "eventTime": 1635934569742
         }
     ]
    }
    


  2. EnOS 管理控制台 中选择 告警管理 > 告警记录,查看告警。


    ../../_images/alert_record_details.png

步骤 3:模拟数据停止告警

  1. 使用以下示例代码模拟少于 10000 的值以停止警报。

    {
     "identifier": "XolflP2C",
     "msgType": "deviceReq",
     "hasMore": 0,
     "dtag": 1,
     "data": [
         {
             "serviceId": "NBWaterMeterCommon",
             "serviceData": {
                 "meterId": "xxxx",
                 "dailyActivityTime": 120,
                 "flow": 3321,
                 "cellId": "5656",
                 "signalStrength": "99",
                 "batteryVoltage": 3.5
             },
             "eventTime": 1635934569742
         },
         {
             "serviceId": "waterMeter",
             "serviceData": {
                 "internalTemperature": "667"
             },
             "eventTime": 1635934569742
         }
     ]
    }
    


  2. EnOS 管理控制台 > 告警管理 > 告警记录 中,告警将不再显示在实时告警记录中。