CATALOG

芯步的壁挂式红外雷达存在感应器支持HTTP接口控制,可以方便地集成到自己的系统里。下面我整理了一份二次开发的解决方案,从准备工作到代码实现都有,希望能帮到你。

解决方案:基于芯步开放接口实现人体感应二次开发

适用产品:芯步壁挂式红外雷达存在感应器(双模/单模)目标:获取设备实时上报的“有人/无人”状态,或在接收到信号后控制其他设备(如继电器、喇叭等)。

第一步:准备工作

在写代码之前,需要先搞定两件事:

  1. 拿到设备ID:把传感器通电、配网,然后在芯步的“控制台”->“设备列表”里,找到你要用的那个设备,记下它的 Device ID(通常是数字)。

  2. 获取密钥:在“控制台”->“开发设置”里,找到 AppIDAppSecret。这两个玩意儿是调接口的身份证,别泄露了

一个小:开发测试阶段,可以在控制台打开“调试模式”。这样就不用先费劲搞复杂的签名计算,可以直接用 Postman 之类的工具测试接口,等调通了再把签名加上

第二步:核心方法(两种方案选哪个?)

二次开发主要有两种路子,取决于你是想“被动等通知”还是“主动去问”:

方案方向推荐指数适用场景
方案 A:HTTP 消息推送设备 → 你的服务器★★★★★ (强烈推荐)实时性要求高,比如有人进来立马开灯。
方案 B:主动查询/控制你的服务器 → 设备★★★☆☆需要远程修改灵敏度,或者定时巡检状态。

方案 A:接收实时推送

这是最常规的做法。当感应器检测到“有人变无人”或者“无人变有人”时,它会立刻主动给你的服务器发一条消息。

1. 关键数据字段

根据产品手册,当人体存在状态改变时,设备会触发 infrared_detect 事件并推送数据。推送的 JSON 数据里,最核心的是 infrared_target 这个字段:

  • "infrared_target": 1 表示 有人

  • "infrared_target": 0 表示 无人

2. 你需要做的(服务端接口)

在你的服务器上写一个接口来接收这些数据。示例代码逻辑如下:

方案 B:主动下发命令

如果你需要远程关掉传感器,或者想主动问一下现在的状态,就用这个方法。

1. 签名机制

芯步的接口需要动态签名,规则是:sign = md5( md5(AppSecret) + ts )

2. 获取实时状态的代码示例

你可以调用设备控制接口,下发查询命令,或者直接读取设备上报的最近状态。如果你想强制重启它,可以用系统命令。

3. 常用控制指令(order参数)

如果你想让设备执行动作,可以这样写 order

  • 控制继电器开关{"power":1} (1=通,0=断)。这招可以用来在检测到人时,让传感器去控制接在它上面的灯。

  • 软重启设备{"system":"restart"}

  • 开关红外模块{"infrared_enable":1} (省电时可用0关闭)

第三步:调试小贴士

  1. 关于双模逻辑:这款设备有红外和雷达两种探测方式。根据官方介绍,只有当红外和雷达都判定无人时,才会输出“无人”信号。如果你发现“有人”变“无人”反应特别快,但“无人”变“有人”有点延迟,这是双重确认机制在起作用,不是卡了。

  2. 网络环境:如果你是在做局域网或私有化部署,芯步的设备也是支持的。这时候需要把上面的 api.thingboot.com 换成你私有化部署的服务器地址就行

  3. 超时设置:如果你的接口处理逻辑比较复杂(比如涉及视频推流),先异步处理。因为芯步平台等待响应的超时时间较短,如果你没及时返回 200 状态码,平台会以为你没收到,从而重复推送消息。

总结

搞定这个开发只需要三步:

  1. 去后台抄下 AppIDAppSecretDevice ID

  2. 在你的服务器写个接口,解析 infrared_target 字段。

  3. 根据 1(有人)或 0(无人),去触发你要执行的硬件动作。