芯步的吸顶式人体活动监测器开放了完整的HTTP接口和消息推送机制,支持私有化部署和二次开发。以下方案将从设计、接口调用、联动实现三个层面,详细介绍如何完成自定义联动操作。
1. 背景与概述
芯步的吸顶式人体活动监测器(如红外/雷达版)不仅具备高精度的人体存在检测能力,还提供了全开放的 HTTP API 接口和 私有化消息机制。设备支持 WiFi 2.4G 直连,无需额外网关,探测到有人/无人状态变化时会主动向服务器推送消息。
通过二次开发,您可以完全接管设备数据,打破厂商预设的场景限制,实现如“有人开灯且记录考勤”、“无人自动关空调并推送警报”等高度自定义的联动逻辑。
2. 核心技术架构
二次开发的核心架构推荐采用 “设备+业务服务器+执行单元” 的模式:
感知层: 吸顶式人体活动监测器。负责采集空间内的人体存在数据。
传输层: 芯步开放平台。这里有两种模式:
公有云模式: 设备推送数据至芯步云,芯步云通过 HTTP 回调您的服务器。
私有化模式: 设备直连您的局域网服务器(更推荐,低延迟、高隐私)。
处理层: 您的业务服务器。接收设备上报的“有人/无人”事件,执行自定义逻辑(如判断时间、环境光强),然后向被执行设备下发指令。
执行层: 其他智能设备(如继电器、插座、音箱)。
3. 关键接口深度解析
要实现开发,必须掌握以下三类接口机制。
3.1 获取实时状态:消息推送机制
这是联动的触发器。设备不会主动轮询,而是当红外感应变化时(从无人变有人,或从有人变无人),会立即向服务器上报数据。
事件类型:
infrared_detect(红外状态变化)。数据模型:
infrared_target:1(有人) 或0(无人)。
接入方式:
在芯步控制台设置您的 HTTP 回调 URL。
当状态变化时,平台会 POST 一个 JSON 包到这个 URL。您的服务器需要解析这个包中的
device和state。
3.2 下发联动指令:设备控制接口
这是联动的执行器。当您的业务逻辑判断需要触发某个动作时,通过此接口控制设备。
请求地址:
https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}。核心命令(Order):
控制线路通断:
{"power":1}(打开负载) /{"power":0}(关闭负载)。修改探测灵敏度或延时:通过配置项下发,如修改“无人触发持续时间”。
3.3 物模型(Thing Model)理解
这是开发最关键的“说明书”。
属性 (Property):
infrared_enable(红外开关)、infrared_target(感应值)、power(线路状态)。配置项 (Config):
infrared_change_1/infrared_change_0。这是实现“防误报”和“自定义延时”的核心。例如,如果希望“检测到无人持续 10 分钟后再触发”,可以通过接口修改配置参数infrared_change_0为600。
4. 实战:自定义联动操作步骤
假设场景需求:“晚上 20:00 到早上 06:00 期间,如果卫生间检测到有人,立即打开排风扇和灯;人离开后延迟 2 分钟关闭。”
第一步:环境搭建与鉴权
开发语言不限(示例以 Node.js/Python 描述逻辑),核心是签名计算。签名算法为:sign = md5( md5(AppSecret) + ts )。
第二步:接收“有人”事件
您的服务器需要暴露一个公网接口(假设为 /webhook/sensor)。
设备上报数据:
您的逻辑判断:
获取当前时间(是否为 20:00-06:00)。
如果是,触发联动。
第三步:执行自定义联动(开灯)
您的服务器调用芯步的 HTTP 接口,控制智能插座或继电器打开负载。
第四步:实现“人走延迟 2 分钟”的高级配置
您可以采用两种方式实现延时:
服务器端逻辑: 收到“无人”信号后,
sleep(120)再发送关灯指令。利用设备固件配置(推荐): 这是更稳定的方案。您可以调用接口修改传感器的
配置项,让传感器本身在判定“无人”时等待 2 分钟再上报“无人”事件。下发配置命令修改
infrared_change_0为120。这样,只有当人真正离开且持续 2 分钟无动作,服务器才会收到“无人”事件,从而大大减少了云端交互次数并提高了抗干扰性。
5. 高级技巧与最佳实践
5.1 私有化部署(纯局域网方案)
如果您的项目对数据安全要求比较高(如医疗、实验室),可以利用设备的纯局域网能力。
在设备配置中设置 DNS 或 Host 指向您自己的服务器 IP。
设备会直接将 UDP/HTTP 包发送到您的内网服务,完全不经过外网,响应速度可达 80-120ms 以内。
5.2 融合多传感器逻辑
不要仅依赖单一的红外信号。红外传感器对静态人体(如坐着不动)可能不敏感。如果场景需要检测“静坐”,可以考虑雷达版。在代码逻辑中,您可以将红外与雷达数据做 逻辑或 运算,只要任何一个传感器检测到存在,即判定为有人。
5.3 异常处理策略
心跳保活: 监听设备的
boot(开机)事件。如果长时间没收到心跳或状态上报,您的系统应触发报警(设备离线)。指令重试: 当您下发
{"power":1}指令失败时,应设计随机间隔(或逐次增大间隔)重试机制,确保物理控制的可靠性。
6. 总结
通过二次开发芯步的吸顶式人体活动监测器,您不再受限于 App 内的固定场景。利用其 “状态主动推送” 和 “参数可配置” 两大核心特性,您可以构建从“感知”到“执行”的完整闭环。无论是接入 MQTT 做全屋智能中控,还是用于安防系统的联动抓拍,这套方案都提供了比较高的自由度。