基于芯步产品的开放接口,这篇方案阐述如何将壁挂式智能双模人体感应器与智能控制器结合,构建一个“人走断电”的二次开发联动系统。
1. 项目概述与适用场景
在许多办公场景中,空调、照明、饮水机等电器在下班后或无人时段被遗忘关闭,导致严重的能源浪费和电气安全隐患。为了解决这一问题,通常需要复杂的布线或改造现有电路,成本高昂且不灵活。
本方案的目标是利用芯步的开放API接口,对壁挂式智能双模人体感应器进行二次开发,实现“人走断电”的自动化联动控制。通过无缝衔接传感器与控制器,当检测到区域内无人持续超过设定时间时,自动切断指定线路(如插座回路),实现节能降耗与智慧安全管理。
2. 硬件选型与角色定义
在二次开发前,我们需要明确需要使用的两种硬件及其在系统中的作用:
| 设备类型 | 推荐产品 | 角色与功能 |
|---|---|---|
| 检测层 | 壁挂式智能双模人体感应器(红外+雷达) | 逻辑触发器。负责探测区域内的人员存在状态。与普通红外相比,雷达模组能探测微动(如呼吸、打字),显著降低“误判无人”的概率。 |
| 执行层 | 智能4路控制器(交流电压版) | 逻辑执行器。负责控制电路的通断。它串联在目标电器(如空调、照明灯、工位插座)前端,接收HTTP指令来闭合或切断继电器。 |
为什么选择双模传感器?根据芯步产品资料,双模传感器通常采用红外感应与雷达感应相结合,只有当两者都判定为无人时,才识别为“无人”。这极大降低了因人员静坐导致误关电源的风险。
3. 二次开发核心设计
为了实现稳定的“人走断电”,单纯的“有人/无人”状态轮询是不够的。设计一个无服务器(Serverless)架构或后端微服务,其核心逻辑流转如下:
状态上报:传感器检测到状态变化(由“有人”变为“无人”,或“无人”变为“有人”),通过HTTP协议向配置好的公网服务器推送实时数据。
延时决策:服务器接收到“无人”事件后,不立即断电,而是启动一个计时任务(如Wait 5-10分钟)。
状态重置机制:如果在计时期间,服务器再次收到该传感器的“有人”上报,则取消计时任务。
执行指令:计时结束后,服务器通过芯步的HTTP接口,向指定的智能控制器下发断开指令(
{"powerX":0})。
4. 关键步骤:API对接与实现细节
基于芯步的开放平台,二次开发主要涉及两个方向的接口交互:接收设备上报的数据和向设备下发命令。
4.1 准备工作:获取密钥
在芯步控制台获取以下三个核心凭证:
AppID:应用的唯一标识。
AppSecret:用于签名加密的密钥。
设备ID:你购买的传感器和控制器的物理ID(Device ID)。
4.2 第一步:配置传感器数据上报URL
为了让你的服务器能实时知道现场是否有人,需要对传感器进行配置。芯步平台支持“私有化部署”和“消息推送”。
操作:在物联网控制台中,将传感器的“数据上报URL”配置为你自己服务器的API地址(例如:
http(s)://yourdomain.com/api/sensor/callback)。数据格式:当传感器探测状态改变时,会向该地址发送JSON数据包,解析后可获取
sensor_status(如:presence或vacant)。
4.3 第二步:开发联动逻辑(Python示例核心思路)
你需要编写一个服务端程序,包含以下两个主要功能:
功能A:接收传感器数据并处理计时
功能B:调用API下发断电指令当定时器到期后,函数需要向智能控制器发送HTTP请求,切断电源。
请求构造细节
URL:
https://api.thingboot.com/{AppID}/device/control/?sign={YourSign}&ts={timestamp}签名算法
YourSign = md5( md5(AppSecret) + ts )需要注意
AppSecret需要经过一次32位小写MD5加密,再加上时间戳,再进行一次MD5加密。
请求体 (Body)
device:智能控制器的设备ID。order:控制指令。假设空调插在控制器的第2路(L2),断电指令为{"power2":0};通电指令为{"power2":1}。
4.4 第三步:考虑多设备联动
一个智能控制器通常支持4路独立控制(4路继电器)。你可以利用这一特性实现精细化控制:
场景A:会议室无人,切断投影仪电源(继电器1)和照明电源(继电器2),但保留网络交换机电源(继电器3)。
场景B:如果检测到人数为0且在“夜间模式”,同时切断饮水机电源。
5. 关于“断电前预警”的优化
在实际落地中,突然断电可能导致正在进行的工作丢失(如未保存的文档),造成极差的用户体验。因此,在二次开发中增加“断电前预警”机制。
优化逻辑
触发无人状态后,如果没有触发重置,在执行
send_power_off前。如果智能控制器支持语音播报或外接蜂鸣器,先下发指令:
{"play:gbk:16":"即将断电,请按任意键取消"}。或者,在手机APP/Web端通过WebSocket推送“即将断电”的提醒,提供给用户“续命”按钮(远程点击保持通电)。
6. 总结与部署清单
通过芯步开放的HTTP API接口,我们成功在不购买网关、不编写复杂嵌入式固件的情况下,仅通过云服务中间件就实现了“人走断电”的商业闭环。
实施步骤总结:
采购硬件:壁挂式双模传感器 + 智能4路控制器。
部署后端:编写并部署一个支持HTTP请求的后端服务(支持Java, Python, PHP, Node.js, C#等均可)。
配置平台:在芯步控制台将传感器配置为上报数据到你的后端地址。
逻辑串联:在后端实现“无人检测 -> 延时等待 -> 状态重检 -> 执行断电”的逻辑。
此方案不仅适用于办公室,也广泛适用于智能民宿(人走断电)、学校实验室(设备管理)及共享自习室(按时计费断电)等场景。