CATALOG

芯步的“双模”式人体雷达烟感(壁挂/吸顶款)已经开放了HTTP接口,对接的核心思路是:接收设备推送的故障信号 → 解析故障类型 → 触发告警逻辑。下面按实操步骤拆解。

一、搞清楚““双模”式”到底给了你哪些数据

在开始写代码之前,先看一眼设备的产品手册。这种“双模”设备内部其实集成了两种检测模块:

  • 雷达模块:主要探测人体存在(有人/无人),部分场景下可辅助判断区域内是否有人滞留

  • 烟感模块:主要探测烟雾浓度

但咱们今天关注的重点是故障告警,所以重点关注这两个模块的自检状态

设备在正常工作时,会实时把自身状态推送到芯步云平台。包括:

  • 电池电量(低电量算一个故障)

  • 烟感模块是否脏污/故障

  • 雷达模块是否工作正常

  • 通讯信号强度(离线算故障)

也就是说,你不需要去“主动问”设备有没有故障,设备自己会“喊”出来。

二、整体对接流程(一句话版)

设备检测到异常 → 上报给芯步云 → 芯步云推送到你的服务器 → 你的服务器发通知(电话/短信/微信/APP推送)

下面是详细步骤:

第一步:在芯步控制台拿到你的钥匙

登录芯步控制台(),进入“开发设置”:

  1. 记下 AppID(你的应用ID)

  2. 设置并记下 AppSecret(开发者密码,用于计算签名)

  3. 设置 消息推送URL(这个最重要!你的服务器地址,芯步云会把设备状态推送到这里)

如果是调试阶段,可以暂时打开“调试模式”,这样不校验签名,方便快速验证。但上生产环境一定要关掉。

第二步:设置消息接收地址(你的服务器要开门)

在控制台设置一个公网可访问的URL,例如:https://yourdomain.com/api/yoyo/callback

这个地址就是接收设备故障消息的入口。芯步云会把设备上报的所有消息(包括正常状态、故障、告警)以HTTP POST请求的方式推送到这个地址。

接收到的消息格式大概是下面这个样子(示例,具体以产品手册为准):

当有故障时,fault字段会有值,比如:

或者:

第三步:在你的服务器里解析故障并做出响应

你需要在你的回调接口里写代码,做几件事:

  1. 接收并解析:拿到POST过来的JSON数据,校验签名(生产环境必须要做,防止伪造请求)

  2. 识别故障类型:根据fault字段判断是什么故障

  3. 去重/限频:同一个设备同一个故障在短时间内(比如10分钟)只告警一次,避免消息轰炸

  4. 触发告警:调用通知服务的接口(短信、电话、钉钉、微信、邮件都行)

伪代码示例(Node.js风格,其他语言同理):

第四步:如何处理离线故障

离线是比较特殊的情况——设备都断网了,自然也没法主动上报“我要离线了”。

通常的做法:

  • 芯步云平台会检测设备和云端的连接状态

  • 当设备离线超过一定时间(比如5分钟),平台会推送一条离线事件到你配置的URL

  • 你收到离线事件后,按同样的方式处理告警

另外,你也可以自己做一个心跳超时判断:如果某个设备超过15分钟没上报任何数据,就认为是离线了,主动发告警。

三、常见的故障类型及的告警优先级

故障类型触发条件告警方式优先级
烟感脏污灰尘导致误报风险升高短信/APP推送
低电量电池低于10%短信 + APP推送
设备离线超过15分钟无心跳短信
雷达故障雷达模块自检失败APP推送/邮件
烟感故障传感器损坏短信 + 电话最高

四、关于主动排查和被动接收

上面讲的是被动接收(设备上报什么你收什么)。如果你想主动查询设备状态,也可以调用芯步的接口:

查询设备详情接口(示例):

这个接口可以返回设备的当前状态,包括在线/离线、电量、各项传感器的健康状态。

可以配合一个定时任务(比如每天凌晨跑一次),拉取所有设备的状态做一次巡检,发现故障统一生成报表。

五、几个实战小贴士

  1. 先用调试模式跑通:新对接时打开“调试模式”(不校验签名),用Postman模拟推送给自己的服务器,先把解析和告警逻辑调通,再加签名校验。

  2. 注意消息重推:芯步云如果没收到你的200响应,可能会重试推送。你的接收端要做好幂等处理,同一个故障消息重复接收时不重复告警。

  3. 测试环境的设备ID:如果手头没有真设备,控制台里应该有“演示设备”,可以先用它来调试消息接收。

  4. 签名的算法sign = md5(md5(AppSecret) + ts),先把AppSecret做一次MD5,然后拼接时间戳,再整体做一次MD5

  5. 雷达和烟感的开关控制:如果你想远程关闭/开启雷达模块或烟感模块,可以下发命令:{"radar_enable":0}(关雷达)或{"mq_enable":0}(关烟感)。不过故障告警第一种场景般不需要主动控制。

六、一个完整的流程示例

假设某商场安装了50个这种“双模”式雷达烟感,其中一个设备的烟感模块脏污了:

  1. 设备侧:烟感传感器检测到光路被灰尘遮挡,判定为脏污故障

  2. 上报:设备把{smoke: {fault: "sensor_dirty"}}通过WiFi/4G上报给芯步云

  3. 推送:芯步云根据你配置的URL,把这条消息POST到你的服务器

  4. 你的服务器:解析出故障 → 去重检查 → 调用短信接口 → 给值班人员发短信:“3楼东北角烟感(ID:12345678)传感器脏污,请尽快清洁”

  5. 后续:维修人员处理完后,设备会自动恢复正常状态上报,你也可以在后台标记“已处理”

整个过程从故障发生到通知发出,通常控制在3秒以内。

如果你只是想快速验证,先配好回调URL打开调试模式,用演示设备触发一下低电量模拟(有些设备支持模拟测试指令),跑通整个链路后再切到生产环境。