CATALOG

壁挂式人体感应开关的核心问题是:传统方案只能被动等设备上报,无法按自己的节奏获取状态。芯步的开放接口正好解决了这个痛点——通过配置“无人触发持续时间”配合定时查询,可以实现分钟级的稳定状态上报。以下方案包含两种实现路径和完整的代码示例。

1. 技术背景与适用场景

壁挂式人体感应开关通常用于走廊、会议室、卫生间等场景,用于节能控制或 occupancy 统计。然而,许多通用方案仅支持“有人/无人”状态变化时的实时上报。如果您的业务系统需要以固定的时间间隔(例如每5分钟)向政府监管平台、物业大屏或能耗系统上报一次当前状态(无论是否变化),则单纯依赖设备的事件触发是不够的。

芯步的智能传感器系列产品开放了底层的 HTTP 接口事件上报机制。本方案利用其 “红外无人触发持续时间” 配置项与 “定时轮询” 相结合的策略,实现稳定、省电的定时状态上报。

2. 核心逻辑与架构

本方案不依赖于设备频繁发送心跳包(这会极大缩短电池寿命,但该设备通常是常电供电),而是采用“云端配置 + 服务端定时拉取” 的混合模式。

  • 设备端:保持实时探测能力,一旦有人进入,立即实时上报(毫秒级响应)。

  • 云平台端:根据业务需要,定时向设备查询当前状态或接收设备因配置产生的“伪周期”上报。

解决方案架构图逻辑:壁挂人体感应开关 <--(WiFi/2.4G)--> 芯步云 <--(HTTP/MQTT)--> 用户业务服务器 <--(定时任务)--> 监管平台/数据库

3. 关键配置项详解

要实现“定时”上报,首先需要理解产品的物模型特性。根据芯步产品手册,壁挂式红外传感器包含以下关键可配置属性

配置项可选值解决方案中的作用
红外无人触发持续时间 (infrared_change_0)马上、30s、1m、5m、10m等核心参数。设定环境由“有人”变为“无人”后,延迟多久上报“无人”状态。
红外有人触发持续时间 (infrared_change_1)马上、1s、2s等设定“有人”状态维持多久才上报,用于防抖动。
发现无人时线路动作 (relay_change_0)打开/关闭/无动作联动控制,如无人自动关灯。
线路开机状态 (relay1)通/断定义设备通电时的初始状态。

关键机制分析:要实现“定时状态上报”,如果仅仅依赖infrared_target(红外感应)的变化触发,在长时间无人的场景下,设备将不会上报任何数据,导致平台接收不到最新状态。解决办法:利用“红外无人触发持续时间”。

  • 当无人状态持续时,设备并不会每分每秒都发数据。

  • 但是,如果我们配合定时任务系统,或者利用无人上报的延迟特性,可以在业务层进行封装。

4. 具体实现步骤

本方案分为三个步骤:环境准备、参数下发、服务端接收与定时任务。

4.1 环境准备与设备配网

  1. 硬件:确保芯步壁挂式人体感应开关(如型号 UNI-CGQ-RT-H-BG )已通电。

  2. 网络配置:使用芯步小程序或IoT控制台,将设备接入 2.4G WiFi 网络

  3. 获取凭证:在芯步开放平台获取 AppIdAppSecret,并记录设备的唯一标识 DeviceId

4.2 配置设备参数(设置定时上报的“节律”)

为了减少服务端轮询的压力,并保证状态更新的及时性,将设备的“无人触发持续时间”配置为业务所需的定时间隔(例如 5 分钟)。

通过调用设备控制接口修改配置(以设置5分钟无人后上报为例):

  • 请求地址http(s)://api.thingboot.com/{AppId}/device/control/

  • 请求体 (JSON)

  • 作用

    • 场景A:当人进入时,设备立即上报(或根据infrared_change_1延迟上报)“有人”。

    • 场景B:当人离开后,设备不会立即上报“无人”,而是等待 5 分钟。如果 5 分钟内一直无人,则上报“无人”。这意味着,在无人且持续的场景下,设备恰好每 5 分钟自动产生一次“无人”状态的报文。这完美模拟了“定时状态上报”的需求。

4.3 服务端接收推送(核心代码示例)

您需要在您的服务器上搭建一个 HTTP 接口,用于接收芯步云平台推送过来的设备状态。

接口要求:公网可访问(或局域网内设置回调地址),支持 POST 请求。业务逻辑:解析数据 -> 存储/转发 -> 返回 200 OK

Python (Flask) 示例:接收并定时化处理

4.4 主动定时拉取模式(备选方案)

如果不想调整设备的“无人触发延迟”,或者需要高频数据(如每秒查询),可以使用主动拉取模式。由于传感器主要用于上行数据,主动查询状态通常通过查询设备影子或使用控制命令来获取。 但在实际 HTTP 接口使用中,如需强制获取最新状态,可以在您的服务器上部署定时任务(Cron Job),直接调用平台接口查询设备状态,或者短暂触发设备上报(若固件支持查询指令)。

5. 方案优势和需要注意的点

5.1 优势

  1. 高兼容性:基于标准 HTTP 协议,无论是 Web、小程序还是本地服务器,只要有网即可对接

  2. 低耦合:设备即使离线,服务器端逻辑不受影响;设备重连后状态自动同步。

  3. 私有化部署:芯步设备支持纯局域网环境运行,数据不出厂区,满足安全要求

  4. 准实时+定时兼顾:通过配置“无人持续时间”,既保证了有人时的即时响应,又保证了无人时的静态心跳。

5.2 注意事项

  • 状态去抖动:在有人/无人切换的瞬间,可能会有多个报文上报。服务端接收时,根据 ts 时间戳只保留最新状态,或者设置短时间的防抖逻辑。

  • 配置持久化:配置项(如infrared_change_0)是保存在设备 Flash 中的,虽然支持多次修改,但不要频繁修改,日常保持在设定值即可

  • 消息推送确认:请确保您的服务器能在 5 秒内响应 200 OK,否则芯步平台会丢弃本次推送

  • 测试环境注意:以 test 结尾的客户端 ID 不会触发消息推送,请使用正式设备调试

6. 总结

通过芯步壁挂式人体感应开关实现“定时状态上报”的核心在于利用设备固有的“无人确认延迟”机制 (infrared_change_0)。通过将该参数设置为业务所需的时间间隔(如300秒),即可使设备在静默无人期间像“心跳”一样周期性的输出“无人”状态,完美覆盖了定时上报的业务需求。开发者只需部署一个标准的 HTTP 回调服务进行数据接收与转发即可完成全链条接入。