一、背景与需求分析
1.1 场景痛点
在共享空间(如自习室、共享办公室、公寓、酒店)中,存在两大安全隐患:
能源浪费与电气风险:用户离开后空调、照明等设备未关闭,不仅浪费电能,长时间通电还增加线路过热风险
火灾发现滞后:传统烟雾报警器仅本地鸣响,无人值守时无法远程通知管理人员,错失黄金处置时间
1.2 解决思路
利用芯步二合一传感器(同时集成雷达人体存在检测 + 烟雾浓度检测)的开放HTTP API,通过二次开发实现:
“人走自动断电 + 烟雾实时报警”双轮驱动的智能安全联动
二、核心技术架构
2.1 硬件选型
推荐使用芯步 “智能人体存在雷达和烟雾传感器[壁挂]”(产品ID: 132),其核心特性如下
| 模块 | 功能 | 本方案用途 |
|---|---|---|
| 雷达模块 | 检测5米内人体微动(红外+雷达“双模”) | 判断“有人/无人”状态 |
| 烟感模块 | 监测烟雾浓度 | 火灾早期探测 |
| 蜂鸣器 | 本地声光报警 | 现场警示 |
| HTTP接口 | 开放API支持远程控制和状态接收 | 二次开发核心 |
选型理由:单设备同时解决“人走断电”和“烟雾报警”两个需求,避免多设备堆叠,降低部署成本。
2.2 系统架构图
┌─────────────────────────────────────────────────────────────┐
│ 共享空间(自习室/公寓) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 二合一传感器 │ │ 智能插座/ │ │ 本地蜂鸣器 │ │
│ │ (雷达+烟感) │ │ 断路器 │ │ (设备内置) │ │
│ └──────┬──────┘ └──────▲──────┘ └──────▲──────┘ │
│ │ │ │ │
└─────────┼────────────────────┼────────────────────┼─────────┘
│ ①状态上报 │ ③断电指令 │ ②报警指令
│ (HTTP POST) │ (HTTP POST) │ (HTTP POST)
▼ │ │
┌─────────────────────────────────────────────────────────────┐
│ 芯步云平台开放API │
│ (api.thingboot.com/{AppId}/device/control/) │
└─────────────────────────────────────────────────────────────┘
│ ▲ ▲
│ ④推送事件 │ ⑤调用指令 │ ⑤调用指令
▼ │ │
┌─────────────────────────────────────────────────────────────┐
│ 开发者自建服务器/云函数 │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 业务逻辑引擎: │ │
│ │ • 无人计时器(默认15分钟无人在线 → 触发断电) │ │
│ │ • 烟雾阈值判断(浓度 > 报警门限 → 触发火灾报警流程) │ │
│ │ • 联动规则(报警时强制断电 + 推送通知) │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
│ ⑥推送通知
▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 管理员APP │ │ 短信/电话 │ │ 第三方平台 │
│ (企业微信) │ │ 报警服务 │ │ (钉钉/飞书) │
└─────────────┘ └─────────────┘ └─────────────┘三、接口调用详解
3.1 认证与签名机制
芯步API采用双重MD5签名机制,所有请求需携带签名和时间戳
签名算法
Sign = MD5( MD5(AppSecret) + ts )
参数说明
| 参数 | 说明 | 示例 |
|---|---|---|
| AppId | 应用ID(控制台获取) | "10001" |
| AppSecret | 应用密钥(控制台获取) | "abc123..." |
| ts | Unix时间戳(秒) | "1704067200" |
Python示例
3.2 接收设备上行消息(关键步骤)
传感器检测到状态变化时,会主动向开发者服务器推送消息。需在芯步控制台配置回调URL。
推送数据结构(设备上报“有人/无人”状态变化)
设备状态属性表
| 属性字段 | 值域 | 说明 |
|---|---|---|
| infrared_target / radar_target | 1/0 | 有人/无人 |
| smoke_concentration | 0-100 | 烟雾浓度(数值越大越浓) |
| smoke_alarm | 0/1 | 烟雾报警触发 |
| power | 1/0 | 线路通断(控制智能插座用) |
3.3 下发控制指令
第一种场景:人走断电 — 发送关闭智能插座指令
第二种场景:触发本地警报 — 启动设备蜂鸣器
cURL调用示例
四、业务逻辑实现
4.1 “人走断电”状态机设计
┌─────────────────────────────────────────────────┐
│ │
▼ │
┌─────────┐ 检测到有人 ┌─────────┐ 15分钟无人在线 ┌─────────┐
│ 待机 │ ────────────► │ 有人 │ ───────────────► │ 无人待断 │
│ (断电) │ │ (通电) │ │ (通电) │
└─────────┘ └─────────┘ └────┬────┘
▲ │ │
│ │ 期间任何人进入 │ 倒计时结束
│ │ 重置计时器 │
│ ◄────────────────────┐ │
│ ▼
│ ┌─────────┐
└──────────────────────────────────────────│ 执行断电 │
└─────────┘伪代码实现
4.2 火灾报警联动
烟雾浓度 > 阈值
│
▼
┌─────────────────────────────────────────────────────────┐
│ 1. 立即发送 { "buzzer": 1 } 启动现场声光报警 │
│ 2. 发送 { "power": 0 } 强制切断该房间电源(防止电气火灾蔓延)│
│ 3. 推送紧急通知到管理员(企业微信/钉钉/短信) │
│ 4. 启动"报警确认计时器"(2分钟内无人处理→升级通知) │
└─────────────────────────────────────────────────────────┘报警优先级策略
| 烟雾浓度区间 | 级别 | 动作 |
|---|---|---|
| < 30% | 正常 | 无动作 |
| 30% - 60% | 预警 | 上报日志,管理员APP通知 |
| 60% - 80% | 报警 | 启动蜂鸣器+推送钉钉/微信 |
| > 80% | 紧急 | 蜂鸣器+强制断电+电话语音通知 |
五、高级功能扩展
5.1 防误判优化
为避免单次传感器抖动导致误断电,采用连续确认机制
5.2 时段差异化策略
不同时段采用不同的“无人断电延迟”策略:
5.3 故障自检与看门狗
传感器支持“软重启”命令,可定期自检
六、部署注意事项
6.1 网络要求
设备需连接2.4GHz Wi-Fi(不支持5GHz频段)
确保设备所处位置Wi-Fi信号强度 > -70dBm
6.2 数据安全
生产环境启用HTTPS接口
支持私有化部署,数据不出企业内网
6.3 开发调试
使用芯步控制台的“命令调试”功能先手动测试设备响应
设备响应时间约80-120ms,超时可重试
七、方案价值总结
| 维度 | 改造前 | 改造后 |
|---|---|---|
| 用电安全 | 人走不关,24小时通电 | 无人自动断电,节能降费约30% |
| 火灾响应 | 仅本地报警,无人知晓 | 远程秒级推送,可联动断电 |
| 管理成本 | 人工巡检 | 全自动值守,异常才介入 |
适用场景:共享自习室、人才公寓、日租房、企业会议室、酒店客房等“有人/无人状态变化频繁”的共享空间。
本方案核心API文档参考芯步官方开放接口,具体参数以实际设备版本为准。开发过程中如有疑问,可联系芯步技术支持获取设备调试协助。