云服务器内容精选

  • 使用场景 公路隧道中的监控设备种类较多,数量较大,并且隧道内网络环境复杂,网络质量也不稳定。然而,在应急处理时对网络实时性要求较高,因此无法将应急设备间的联动完全依赖于云端规则处理,需要借助端侧规则引擎实现预案联动。在实施时,可以预先针对火灾、交通事故等不同情况制定相应的设备联动预案。监控人员可以根据隧道内发生的情况,一键启动设备预案,通过端侧规则引擎实现多种相关设备同步进行状态变化,从而降低对网络质量的依赖,提高整体设备联动效率。例如,当烟道温度过高时,可以联动排水阀控制器打开排水阀实现降温;当一氧化碳浓度过高时,可以联动covi设备控制风机来通风。
  • 概述 在云端规则中,用户创建的规则的解析及执行均在云端完成,云平台需要判断条件是否满足并触发相应的设备联动操作。端侧规则是指用户在云平台创建的设备联动规则,可以下发到端侧设备,该设备上会运行端侧规则引擎,对云端下发的规则进行解析并执行。端侧规则可以在网络中断或设备无法与云端交互情况下,继续在端侧执行指定规则。端侧规则可以扩展用户应用场景,提升端侧设备运行的稳定性及执行效率等。例如:设置室内光照强度低于20时,打开灯控总开关,自动照明,实现不依赖网络设备的智能控制。 图1 端侧规则架构图 相关背景概念说明可参考基础概念。
  • 示例场景 某企业的网关产品下有一批网关设备,单个网关设备下挂载了约400个子设备,用户需要实时关注这批网关设备的状态,确保子设备正常上报数据,同时由于网关设备和 物联网平台 通过4G网络建立连接,存在由于网络抖动导致频繁告警的问题,因此用户认为短暂的离线后上线属于正常场景,不希望感知这种场景。 通过以下示例可以实现监控该网关产品下所有网关设备在离线持续时间达到5分钟后通过物联网平台上报告警,在设备上线持续时间达到1分钟后恢复该告警,同时发送邮件或短信通知给指定的手机号码。 操作步骤如下:
  • 验证操作 方法一: 您可以使用MQTT.fx模拟设备验证。 使用MQTT.fx分别模拟煤气探测器设备和推窗器,并连接到物联网平台。操作方法请参考在线开发MQTT协议的模拟智慧路灯。 打开模拟推窗器的MQTT.fx,订阅平台下发的命令。 选择“Subscribe”页签。 输入订阅平台下发命令的Topic=$oc/devices/{device_id}/sys/commands/#(其中与步骤2获取的设备ID保持一致。)。 单击“Subscribe”按钮,完成平台命令下发订阅。 图5 创建MQTT订阅 切换到模拟煤气探测的MQTT.fx,上报属性。 选择“Publish”页签。 输入属性上报的Topic:“$oc/devices/{device_id}/sys/properties/report(其中{deviceId}与步骤1获取的设备ID保持一致。)。 上报1条“gaslevel”大于6的属性。 样例: { "services": [{ "service_id": "gaslevel", "properties": { "gaslevel": 45 } } ] } 单击“Publish”按钮上报属性值。 图6 MQTT属性上报 切换到模拟推窗器的MQTT.fx,选择“Subscribe”页签。可以看到收到平台下发的“switch”取值为“on”的命令。 图7 查看下发命令 方法二: 您可以使用配置 设备接入服务 时注册的真实设备接入平台,上报“gaslevel”大于6的数据。设备会收到一条“switch”取值为“on”的命令,自动推开窗户。
  • 创建煤气监测产品 访问设备接入服务,单击“立即使用”进入设备接入控制台。选择您的实例,单击实例卡片进入。 选择左侧导航栏的“产品”。 单击左侧的“创建产品”,创建煤气浓度监测产品,填写参数后,单击“确定”。 表1 创建产品参数示例 基本信息 产品名称 自定义,如gasdevice。 协议类型 选择“MQTT” 数据格式 选择“JSON” 所属行业 自定义 设备类型 在基本信息页面,单击“自定义模型”,参考下表,完成产品模型配置。gaslevel服务用于监控煤气浓度,windowswitch服务用于执行开关窗命令。 表2 煤气浓度监测产品模型参数示例 服务ID 参数类型 添加参数说明内容 gaslevel 属性 属性名称:gaslevel 数据类型:int 访问权限:可读 取值范围:0~100 windowswitch 命令 命令名称:switch 下发参数名称:switch 数据类型:enum 枚举值:on,off
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用 IAM 服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考查看实例详情 。 表3 请求Body参数 参数 是否必选 参数类型 描述 status 是 String 参数说明:规则的激活状态。 取值范围: active:激活。 inactive:未激活。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考查看实例详情 。
  • 验证操作 您可以使用配置设备管理服务时注册的真实设备接入平台,上报“batteryLevel”小于20的数据。 您也可以使用模拟器模拟设备上报“batteryLevel”小于20的数据,操作方法请参考通过MQTT.fx体验设备接入。 期望结果: 设备管理服务控制台的“告警”页面会出现一条名称为“设备电量低”的一般告警。 若订阅了邮件通知,接受订阅的邮箱会收到一封通知设备电量低的邮件。 若订阅了短信通知,接受订阅的手机会收到一条通知设备电量低的短信。