芯步的雷达传感器开放了HTTP接口,可以自己写代码做对接控制。下面我按“接收状态变化→编写联动规则→下发控制命令”这个逻辑来写,包含签名计算、消息接收、命令下发这些关键环节的代码示意。
一、 场景痛点与解决概述
在很多场景下(如办公室、会议室、卫生间、卧室),我们经常会遇到人走了灯没关、空调还开着的情况,不仅浪费电,还存在安全隐患。传统的红外传感器在人体静止如办公、上厕所时容易误判为“无人”,导致异常断电,体验很差。
针对这个问题,芯步的 “智能人体存在雷达传感器” 是更好的选择。它利用毫米波雷达技术,不仅能检测大幅度的动作,还能检测微动(比如翻书、打字、呼吸带来的胸腔起伏),甚至是静态存在。
本方案将指导你如何利用开放API,将雷达传感器与插座、灯光或其他设备联动。通过你自己的业务服务器,实现:“当雷达探测到无人且持续一段时间后,自动触发关灯/断电指令;当探测到有人时,自动恢复供电或打开设备。”
二、 准备工作与核心逻辑
在开始写代码之前,我们需要明确“谁”是老大。既然是场景联动,你的业务服务器就是大脑,负责接收雷达的信号并做出决策。
硬件准备:芯步智能人体存在雷达传感器(如吸顶版/壁挂版)、智能插座/通断器(控制电器)。
账号准备:注册芯步开发者账号,在控制台获取
AppID和AppSecret(即开发者密码)。核心逻辑流
雷达传感器检测到“有人”状态 -> 上报给你的服务器 -> 服务器发送指令给插座 -> 闭合通电。
雷达传感器检测到“无人”状态 -> 开启倒计时(例如5分钟)-> 若期间一直无人 -> 服务器发送指令给插座 -> 断开断电。
三、 接口对接关键步骤(纯干货)
为了便于理解,这里假设你是开发者。芯步的接口非常标准,采用 HTTP 协议,只要你的业务系统能跑代码(Java, Python, PHP, Node.js, Go等均可),就能对接。所有传感器和插座都共享一套鉴权逻辑,只是发送的“命令码”不同。
1. 第一步:让雷达传感器“说话” —— 接收状态推送
人走断电的第一步,是知道“人走了”。你不能一直去问雷达“人走了没”,更高效的方式是让雷达主动告诉你。
设置消息接收地址:在你的业务服务器上开放一个API接口,比如
http(s)://yourdomain.com/api/radar_callback。然后在芯步控制台的消息推送设置中,把这个URL填进去。数据格式:当雷达探测到有人/无人状态变化时,平台会向你的服务器POST一段JSON数据:
你的任务:写代码解析这个JSON。如果
"radar_sensor":"1",说明有人;如果是"0",说明没人了。
2. 第二步:服务器发号施令 —— 控制设备通断电
既然收到了雷达的信号,接下来就要去控制开关或插座了。我们需要通过芯步的开放接口,向开关设备发送指令。
接口调用的核心难点在于签名计算,不过只要按照官方文档来,其实很简单。以最常见的“关闭插座”为例:
请求地址
https://api.thingboot.com/{你的AppId}/device/control/?sign={动态签名}&ts={当前时间戳}请求方法:POST
请求Body
关键难点:签名计算(伪代码逻辑)这是很多开发者容易卡住的地方。芯步的签名算法是 md5( md5(AppSecret) + ts )。假如你的
AppSecret是 abc123,当前时间戳 ts 是 1712000000:先把
AppSecret做一次MD5:md5("abc123")-> 得到xxxxx把上面的结果拼接上时间戳:
xxxxx1712000000再对这个拼接的字符串做一次MD5: 结果就是
sign的值。
3. 第三步:实现“延迟断电”逻辑
场景:人只是出去拿个快递,或者坐在工位上短暂静止,这时候立刻断电会很烦人。对策:服务器内部维护一个状态机或定时器。
收到“无人”信号(0):不要立刻断电。创建一个定时任务,比如
delay 300秒。在延迟期间
如果再次收到“有人”信号(1):取消定时任务,保持通电。
如果倒计时结束还没收到人:调用第二步的API,发送
{"power":0}给插座。
这样既省电,又不影响用户体验。
四、 不同型号的细微差别
在写代码或选型时,注意芯步有不同型号的雷达传感器,它们在接口参数上略有不同,但逻辑一致。
| 特性 | 壁挂版 (适合墙面/墙角) | 吸顶版 (适合天花板) |
|---|---|---|
| 探测范围 | 约120°,距离4-6米 | 360° 吸顶探测,距离5米左右 |
| 探测能力 | 存在感应(呼吸级) + 运动感应 | 存在感应(呼吸级) + 运动感应 |
| 物理联动(可选) | 依赖API控制其他设备 | 部分型号自带220V强电输出,可直接切断灯光 |
| API上报字段 | 通常是 radar_sensor 或类似字段 | 通常是 radar_sensor 或类似字段 |
选型:如果希望简化部署(雷达直接串在灯线上,不需要额外插座),可以选择带 “AC输出” 的吸顶版雷达;如果希望雷达只负责感应,去控制远处的空调/新风系统,则选用壁挂版并通过API中转。
五、 实操代码片段(Python示例)
为了让你更直观地感受,这里用Python写一段核心逻辑。假设你用的是Flask框架接收消息,用requests库发送命令。
六、 总结
对接芯步的雷达传感器实现“人走断电”,总结下来就是三步:
配置:拿到
AppID和Secret,这是调用接口的钥匙。订阅:在服务器写一个接口接收雷达的状态变化。
回写:解析到“无人”时,通过
device/control接口向受控设备发送{"power":0}命令。
这套方案的优势在于灵活性。你可以不仅仅控制灯光,还可以接入钉钉/微信通知(“会议室已无人,已自动关灯”),或者控制背景音乐暂停。只要你业务服务器能想到的逻辑,都可以接进去。如果在对接过程中遇到调试问题,可以利用控制台的“调试模式”暂时绕过签名校验,先跑通流程再做安全加固。