吸顶人体探测器最常用的场景是照明联动,但固定延时往往导致“人未走灯先灭”或“人走灯还亮”。芯步开放接口允许开发者通过配置项 infrared_change_1(有人触发持续时间)和 infrared_change_0(无人触发持续时间)来灵活控制感应延时。以下是具体对接方案。
解决方案:基于芯步开放接口的吸顶人体探测器感应延时设置
1. 概述
芯步的智能人体存在传感器(如型号 UNI-CGQ-RT-XD-H)支持通过 HTTP 接口进行远程控制和配置。为了实现“感应延时设置”,通常是指调整传感器在检测到“有人”或“无人”状态变化时的触发延迟时间,以及状态保持的逻辑。
核心逻辑:
“有人”延时:通常为了防抖,避免灯光频繁闪烁,可设置检测到人后立即触发或延时触发。
“无人”延时:决定人在离开感应区域后,设备多久才上报“无人”状态,这直接影响灯光关闭的延迟时间。
配置方式:通过修改设备的配置项来实现,这些参数保存在设备的 Flash 中。
2. 对接准备
在开始开发前,请准备以下信息:
AppID 与 AppSecret:在芯步控制台(ThingBoot Console)注册应用获取。
设备 ID:目标吸顶传感器的 Device ID(如
820720)。网络环境:设备已连接 WiFi(2.4G),且服务器具备公网访问能力或已配置私有化环境。
3. 核心技术方案:修改配置项
芯步的开放平台设计逻辑中,感应延时属于设备级配置,而非普通的控制命令。
根据产品手册,吸顶人体存在传感器的核心配置参数如下
| 配置项名称 | 参数 Key | 作用说明 | 推荐设置 |
|---|---|---|---|
| 红外有人触发持续时间 | infrared_change_1 | 检测到人 -> 上报"有人"事件的延迟时间 | 设为 0 (马上) |
| 红外无人触发持续时间 | infrared_change_0 | 检测不到人 -> 上报"无人"事件的延迟时间 | 设为 30 (30秒) 或 60 (1分钟) |
注意: 平台通常不直接提供批量修改配置的通用接口(以防 Flash 频繁擦写),通过以下两种途径实现:
控制台手动设置(适合少量固定场景)。
调用设备控制指令(部分固件支持通过特定
order修改配置,或通过system命令集操作)。
4. 实战操作:如何下发“无人延时”指令
假设我们需要将“无人延时”设置为 30秒(即人离开后,30秒才上报无人,关闭灯光)。
步骤 1:计算签名芯步接口使用双重 MD5 加密验证。
公式:
sign = md5( md5(AppSecret) + ts )。ts:当前 UNIX 时间戳(秒)。
步骤 2:构建请求
URL
https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}Method:POST
Header
Content-Type: application/jsonBody (JSON)
注:若需调整有人触发的防抖时间,可将
"infrared_change_1": 0设为 0。
步骤 3:代码示例(Java 实现)参考芯步通用的设备控制逻辑,以下是修改延时的核心代码片段
5. 状态监测与联动机制
设置好延时后,为了确认生效并实现自动化联动(如关灯),需对接消息推送机制。
监听状态变化:当传感器状态改变(如由“有人”变为“无人”)时,设备会上报事件。
上报事件名
infrared_detect。自动化逻辑
收到
{"infrared_target": 1}(有人) -> 立即执行开灯指令。收到
{"infrared_target": 0}(无人) -> 由于设备侧已配置 30s 延时,系统收到此消息时实际已过 30s,直接执行关灯指令。
6. 常见问题与排障
修改配置后不生效?
确认设备在线。配置下发需在设备连接云端时进行。
检查
AppSecret是否正确。签错密文会导致401鉴权失败。
延时时间不准确?
检查
infrared_change_0的单位是秒。例如120代表 2 分钟。传感器物理安装位置有死角或存在微小移动(如风扇、窗帘),导致雷达/红外一直误触发,从而使“无人”计时器不断复位。
关于 Flash 擦写次数警告:
官方文档指出 Flash 有擦写次数限制,请勿在循环中频繁调用配置修改接口,仅在用户修改设定值或初始化时调用。
7. 总结
通过芯步开放接口对接吸顶人体探测器实现感应延时设置,关键在于利用 infrared_change_0 和 infrared_change_1 这两个配置参数。开发者无需关心传感器底层逻辑,只需通过标准的 HTTPS POST 请求,携带签名和 JSON 命令体,即可远程调整设备行为,实现更智能、更舒适的人来灯亮、人走灯灭体验。