芯步的壁挂式红外雷达“双模”传感器支持HTTP接口和私有化部署,你可以通过接收设备上报的“有人/无人”事件,结合业务逻辑来触发其他智能设备。以下是具体的二次开发方案。
解决方案:基于芯步“双模”传感器的自定义联动开发
1. 系统架构与交互流程
为了实现自定义联动,我们采用 “设备上报-服务器处理-指令下发” 的架构。芯步的设备支持直连Wi-Fi,无需网关,数据可以直接推送到你的私有服务器。
数据源(传感器):壁挂式红外雷达“双模”传感器。负责探测人体存在状态。
业务中枢(你的服务器):接收传感器的HTTP回调,执行联动逻辑(如:判断是否无人超过10分钟),调用API下发指令。
执行端(其他设备):可以是同一生态内的智能插座、继电器,也可以是第三方平台的设备(通过你的服务器做桥接)。
交互流程说明:
状态上报:当传感器检测到“有人”或“无人”状态变化时,立即向你的服务器指定URL发送
infrared_detect事件。逻辑判断:你的服务器接收到事件,根据业务规则(如时间窗口、工作日判断)决定是否触发联动。
指令下发:服务器调用芯步的Open API,向执行设备(如智能插座)发送
power命令,实现开灯/关灯或告警。
2. 核心接口与物模型解析
在开发前,需要熟悉该产品的“物模型”。根据产品手册,以下是关键参数:
2.1 接收设备上报的事件 (Webhook)
你需要搭建一个公网可访问(或局域网内可访问,取决于部署方式)的HTTP服务端,用于接收传感器主动推送的数据。
推送方式:HTTP POST
核心事件
红外状态变化:这是联动最主要的触发器。
事件名
infrared_detect数据字段
infrared_target1:表示有人0:表示无人
按钮按下
btn1(可用于手动情景模式切换)
解析示例 (Python Flask)
2.2 给执行设备下发指令
当你决定执行某个动作时,需要向芯步的API控制台发送命令。
请求地址
http(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}核心命令对象 (Order)
控制线路通断:用于开关灯或插座。
{"power": 1}(开启){"power": 0}(关闭)
控制雷达休眠/灵敏度:用于场景联动节能。
{"radar_enable": 0}(关闭雷达模块)
3. 实战:实现“人来灯亮,人走灯灭”的延时联动
场景描述:卫生间或玄关。当传感器检测到有人时,立即打开灯光。当人离开后,等待30秒关闭灯光。
开发步骤:
第一步:配置传感器参数 (通过控制台或API设置)
为保证体验,我们需要调整传感器的配置项写入Flash,避免上报过于频繁或过快判定无人。
infrared_change_1(有人触发持续时间):设置为0(马上响应)。infrared_change_0(无人触发持续时间):设置为30(表示人离开后30秒,设备才上报“无人”状态,或者你可以选择立即上报并在服务器端做延时)。led(指示灯):设置为ss_s(与存在同步,方便调试)。
第二步:服务端逻辑实现 (核心代码逻辑)
服务端需要维护一个状态机,防止重复下发指令对设备造成冲击。
4. 高级联动技巧:解决误报与节能
由于该传感器融合了红外(PIR,被动红外)和雷达(毫米波)两种技术,在二次开发时可以利用其特性解决传统红外传感器无法识别的难题。
技巧一:静态存在识别普通红外传感器在人体静止(如办公桌前、上厕所)时容易误判为无人。
解决逻辑:雷达模块能检测微动。如果仅仅依赖红外状态,可能会在静止时变为无人。在服务器逻辑中增加一个“防抖机制”:只有在雷达也判定完全无人,或者连续多个周期
infrared_target为 0 时,才真正执行“无人”动作。
技巧二:利用“线路”输出做本地联动(低延迟方案)如果不希望经过服务器中转,该产品本身带有power线路属性,可以开启 “发现有人时线路动作” 配置项 (relay_change_1)。
设置方法:通过API或控制台配置
relay_change_1为1(打开)。效果:传感器板上直接输出高/低电平信号。你可以将传感器直接物理连接一个继电器或蜂鸣器,实现毫秒级的本地响应,彻底摆脱网络延迟。
5. 私有化部署与安全性
如果你的联动逻辑涉及核心生产环境或家庭隐私,开启芯步的私有化模式:
自建消息服务器:在芯步控制台中,将回调地址(Webhook)配置为你内网服务器的IP地址(如
http://192.168.1.100:8080/event)。局域网通信:只要传感器和你的服务器在同一局域网段,数据将完全不经过外网,保证数据安全且无限降低延迟。
签名校验:为了安全,生产环境中请一定要验证请求中的
sign签名,防止端口暴露后被恶意伪造数据触发联动。
总结
通过以上方案,你可以完全掌控芯步的智能传感器。核心在于利用 infrared_detect 事件触发逻辑,使用 power 命令控制执行。对于更复杂的场景需求,可以通过调整设备配置项(如灵敏度、触发延时)来配合后端代码实现,无需改动硬件。