芯步的4米壁挂人体存在探测器采用雷达+红外融合技术,可识别微动甚至呼吸,相比传统PIR传感器能有效避免“人在灯灭”的尴尬。以下方案基于其开放API,提供从设备接入、消息推送到联动控制的完整流程。
1. 概述与原理
本方案的目标是通过集成芯步4米壁挂人体存在探测器(以下简称探测器) 与智能照明控制系统,实现“人来灯亮,人走灯灭”的自动化控制。
核心技术原理:探测器内置毫米波雷达,可感知人体呼吸及微动。当区域内人员状态变化时,设备通过 HTTP协议 主动将状态数据(如:有人/无人)推送到用户指定的服务器。业务系统接收到数据后,根据预设逻辑(如:无人持续3分钟),通过调用照明控制器的开放接口下达开关指令,完成闭环控制。
2. 硬件选型与准备
为实现上述功能,需要搭配以下硬件设备:
感知层芯步智能人体存在红外和雷达传感器[壁挂] (型号:UNI-CGQ-RT-BG-HL)。
关键参数:探测距离4米(存在)/6米(运动),角度120°,支持雷达模块指令控制。
执行层芯步智能照明控制器及智能墙壁开关。
根据回路数量可选:1路/2路/3路墙壁开关或4路/8路/12路控制器。
网络环境:2.4GHz WiFi网络。所有设备直连WiFi,无需额外网关,降低采购成本。
3. API对接流程
芯步的接口主要分为 “设备推送” (传感器数据上报)和 “指令下发” (控制照明)两部分。
3.1 数据接收配置
为了接收探测器上报的“有人/无人”事件,需要部署一台公网可访问的服务器。
设置消息服务器:在芯步控制台中,将“消息推送URL”配置为业务后端接口地址(例如:
https://yourdomain.com/api/sensor/callback)。接收数据:当人体状态变化时,探测器会向此地址发送POST请求。
示例数据
{ “device”: “861”, “msg_type”: “report”, “data”: { “is_presence”: 1 } }(1代表有人,0代表无人)。
数据解析:后端服务需解析该JSON,提取
device_id和presence_status字段。
3.2 照明控制指令
当服务器判断需要开灯或关灯时,通过调用芯步的开放HTTP接口向照明设备下发指令。
请求地址
https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}请求方法:POST (Content-Type: application/json)
鉴权机制:采用MD5双重加密。
步骤:拼接字符串
md5(AppSecret) + ts,再次计算MD5得到sign。ts为Unix时间戳(秒)。
请求Body示例(开灯) :
注:若需关灯,将
1改为0;若是2路开关,使用power2字段。
3.3 心跳与保活
为防止误判,推荐引入“延时关灯”机制(见4.2节)。
4. 业务逻辑实现
采用 “事件驱动 + 延时确认” 的架构,具体逻辑如下:
4.1 第一种场景:人员进入(开灯)
探测器状态由 0->1 → 服务器接收数据 → 立即调用接口开灯。特点:响应速度快,实测设备响应时间约80-120ms。
4.2 第二种场景:人员离开(关灯)
为解决雷达检测存在(如静坐)但不希望关灯的问题,不在收到“无人”信号时立即关灯,应设置延时计时器。
触发:接收到
is_presence:0。延时:启动计时器(例如
60秒)。二次确认
若60秒内再次收到
is_presence:1,则取消计时器,保持照明。若60秒内无新状态,系统调用照明接口执行
{“power1”: 0}关灯。
逻辑优势:此机制解决了在卫生间、办公室场景中人体微动难以检测导致的“误关灯”问题。
5. 代码实现示例
以下示例展示了如何通过Python Flask框架接收传感器数据并控制照明:
6. 注意事项
私有化部署:若出于安全考虑需运行在局域网,芯步接口支持私有化部署,只需将API地址指向本地服务器即可。
多设备联动:若一个空间内有多个探测器(如大办公室),在业务层做“或”逻辑(任一探测有人则开灯)或“与”逻辑(所有探测无人且无移动才关灯)。
雷达灵敏度:若需调整雷达探测距离或灵敏度,可通过下发
radar_enable及配置参数指令进行调整。