芯步的“双模”式人体雷达烟感(壁挂/吸顶款)已经开放了HTTP接口,对接的核心思路是:接收设备推送的故障信号 → 解析故障类型 → 触发告警逻辑。下面按实操步骤拆解。
一、搞清楚““双模”式”到底给了你哪些数据
在开始写代码之前,先看一眼设备的产品手册。这种“双模”设备内部其实集成了两种检测模块:
雷达模块:主要探测人体存在(有人/无人),部分场景下可辅助判断区域内是否有人滞留
烟感模块:主要探测烟雾浓度
但咱们今天关注的重点是故障告警,所以重点关注这两个模块的自检状态。
设备在正常工作时,会实时把自身状态推送到芯步云平台。包括:
电池电量(低电量算一个故障)
烟感模块是否脏污/故障
雷达模块是否工作正常
通讯信号强度(离线算故障)
也就是说,你不需要去“主动问”设备有没有故障,设备自己会“喊”出来。
二、整体对接流程(一句话版)
设备检测到异常 → 上报给芯步云 → 芯步云推送到你的服务器 → 你的服务器发通知(电话/短信/微信/APP推送)
下面是详细步骤:
第一步:在芯步控制台拿到你的钥匙
登录芯步控制台(),进入“开发设置”:
记下 AppID(你的应用ID)
设置并记下 AppSecret(开发者密码,用于计算签名)
设置 消息推送URL(这个最重要!你的服务器地址,芯步云会把设备状态推送到这里)
如果是调试阶段,可以暂时打开“调试模式”,这样不校验签名,方便快速验证。但上生产环境一定要关掉。
第二步:设置消息接收地址(你的服务器要开门)
在控制台设置一个公网可访问的URL,例如:https://yourdomain.com/api/yoyo/callback
这个地址就是接收设备故障消息的入口。芯步云会把设备上报的所有消息(包括正常状态、故障、告警)以HTTP POST请求的方式推送到这个地址。
接收到的消息格式大概是下面这个样子(示例,具体以产品手册为准):
当有故障时,fault字段会有值,比如:
或者:
第三步:在你的服务器里解析故障并做出响应
你需要在你的回调接口里写代码,做几件事:
接收并解析:拿到POST过来的JSON数据,校验签名(生产环境必须要做,防止伪造请求)
识别故障类型:根据
fault字段判断是什么故障去重/限频:同一个设备同一个故障在短时间内(比如10分钟)只告警一次,避免消息轰炸
触发告警:调用通知服务的接口(短信、电话、钉钉、微信、邮件都行)
伪代码示例(Node.js风格,其他语言同理):
第四步:如何处理离线故障
离线是比较特殊的情况——设备都断网了,自然也没法主动上报“我要离线了”。
通常的做法:
芯步云平台会检测设备和云端的连接状态
当设备离线超过一定时间(比如5分钟),平台会推送一条离线事件到你配置的URL
你收到离线事件后,按同样的方式处理告警
另外,你也可以自己做一个心跳超时判断:如果某个设备超过15分钟没上报任何数据,就认为是离线了,主动发告警。
三、常见的故障类型及的告警优先级
| 故障类型 | 触发条件 | 告警方式 | 优先级 |
|---|---|---|---|
| 烟感脏污 | 灰尘导致误报风险升高 | 短信/APP推送 | 高 |
| 低电量 | 电池低于10% | 短信 + APP推送 | 高 |
| 设备离线 | 超过15分钟无心跳 | 短信 | 中 |
| 雷达故障 | 雷达模块自检失败 | APP推送/邮件 | 低 |
| 烟感故障 | 传感器损坏 | 短信 + 电话 | 最高 |
四、关于主动排查和被动接收
上面讲的是被动接收(设备上报什么你收什么)。如果你想主动查询设备状态,也可以调用芯步的接口:
查询设备详情接口(示例):
这个接口可以返回设备的当前状态,包括在线/离线、电量、各项传感器的健康状态。
可以配合一个定时任务(比如每天凌晨跑一次),拉取所有设备的状态做一次巡检,发现故障统一生成报表。
五、几个实战小贴士
先用调试模式跑通:新对接时打开“调试模式”(不校验签名),用Postman模拟推送给自己的服务器,先把解析和告警逻辑调通,再加签名校验。
注意消息重推:芯步云如果没收到你的200响应,可能会重试推送。你的接收端要做好幂等处理,同一个故障消息重复接收时不重复告警。
测试环境的设备ID:如果手头没有真设备,控制台里应该有“演示设备”,可以先用它来调试消息接收。
签名的算法
sign = md5(md5(AppSecret) + ts),先把AppSecret做一次MD5,然后拼接时间戳,再整体做一次MD5 。雷达和烟感的开关控制:如果你想远程关闭/开启雷达模块或烟感模块,可以下发命令:
{"radar_enable":0}(关雷达)或{"mq_enable":0}(关烟感)。不过故障告警第一种场景般不需要主动控制。
六、一个完整的流程示例
假设某商场安装了50个这种“双模”式雷达烟感,其中一个设备的烟感模块脏污了:
设备侧:烟感传感器检测到光路被灰尘遮挡,判定为脏污故障
上报:设备把
{smoke: {fault: "sensor_dirty"}}通过WiFi/4G上报给芯步云推送:芯步云根据你配置的URL,把这条消息POST到你的服务器
你的服务器:解析出故障 → 去重检查 → 调用短信接口 → 给值班人员发短信:“3楼东北角烟感(ID:12345678)传感器脏污,请尽快清洁”
后续:维修人员处理完后,设备会自动恢复正常状态上报,你也可以在后台标记“已处理”
整个过程从故障发生到通知发出,通常控制在3秒以内。
如果你只是想快速验证,先配好回调URL打开调试模式,用演示设备触发一下低电量模拟(有些设备支持模拟测试指令),跑通整个链路后再切到生产环境。