共享设备柜的电源管理经常会遇到用户离开后忘记断电的问题,既浪费电也影响设备寿命。芯步的智能控制器(4路/通断器)配合开放API,可以很好地解决定时控制这个需求。以下是具体的接入方案。
1. 背景与需求分析
在共享经济模式日益普及的当下,共享充电宝柜、快递储物柜、共享按摩椅、共享洗衣机等设备在城市中大量部署。运营者在实际运营中常遇到以下痛点:
能耗浪费:设备在空闲时段(如深夜)仍处于待机通电状态,产生不必要的电费开销。
设备损耗:电子屏幕、主板等部件长期不间断通电,会加速老化,增加硬件故障率。
安全隐患:长时间无人监管的通电状态存在一定的电气火灾风险。
运营灵活性差:遇到系统维护或恶劣天气时,无法远程批量切断设备电源,需人工到场处理。
目标:利用芯步智能硬件(智能通断器/4路控制器)及开放API,搭建一套“共享设备柜电源智能控制系统”,实现按策略定时开关、远程独立分控、状态实时可视。
2. 系统架构
本方案基于云-管-边-端设计,利用标准的HTTP协议进行通信,无需复杂的MQTT协议封装,适合快速开发对接。
架构层级:
设备端(感知层) :芯步智能控制器4路(交流版)或智能通断器。安装在共享设备柜内部,串接在柜内插排或主电源线上,控制总电源或格子门的电磁锁电源。
网络层(传输层):设备通过2.4G WiFi直连云平台,无需额外网关。支持局域网和公网两种模式。
云平台层(芯步):负责设备连接管理、指令转发、签名验证、定时任务存储。
应用层(业务服务器/SaaS):运营商的共享设备业务系统。通过调用芯步开放API,下发定时指令或即时控制指令。
graph LR
subgraph 设备柜端
A[共享设备柜] --> B[智能控制器/通断器
芯步硬件]
end
subgraph 云端
C[芯步云平台
API接口/消息路由]
D[运营商业务服务器
订单/定时任务逻辑]
end
subgraph 管理端
E[管理员APP/小程序]
end
B -- WiFi/HTTP --> C
C -- HTTP API交互 --> D
D -- 定时策略/控制指令 --> C
C -- 设备状态推送 --> D
E -- 业务管理 --> D
D -- 下发定时任务 --> C3. 硬件选型
针对“共享设备柜”的不同应用场景,推荐以下两款芯步产品,它们均开放了标准的HTTP接口:
| 产品型号 | 推荐场景 | 核心功能 | 开放接口能力 |
|---|---|---|---|
| 智能控制器4路 (AC交流版) | 共享储物柜、快递柜、共享按摩椅 | 提供4路独立交流输出,可直接控制4个独立柜格或4台设备的电源 | 支持单路/批量通断控制,支持定时任务,支持状态查询 |
| 智能通断器 AC4-20A | 单柜体总控、充电桩、共享洗衣机 | 1路大功率输入输出,适合整体控制整个机柜的总电源 | 支持总闸开关,支持远程定时任务,支持电量监测 |
接线方案对于多格口共享柜,采用“1个4路控制器+电磁锁”方案或“1个4路控制器+格子电源”方案。将220V输入接入控制器,输出端分别接至各格口的用电设备或插座。
4. 业务逻辑与接口实现
本章节详细阐述如何通过编程实现“定时开关电源”。核心逻辑分为两部分:即时控制(如用户取件后立即断电)和周期定时(如深夜23:00自动断电)。
4.1 签名算法与鉴权
每次调用API前,必须进行签名计算,以保证安全性。根据芯步开放平台规则,签名生成规则如下
AppID:应用唯一标识
AppSecret:应用密钥(需MD5一次)
ts:当前Unix时间戳(秒)
签名公式Sign = md5( md5(AppSecret) + ts )
代码示例(Python) :
4.2 第一种场景:创建定时任务(周期性断电)
需求: 每天晚上 23:00 切断所有共享设备柜的总电源,早上 06:00 恢复供电。
方案 A:业务层定时(推荐,最灵活)运营商业务服务器利用Linux Cron或Windows Task Scheduler,在指定时间点触发HTTP请求。
API调用详情
URL
POST https://api.thingboot.com/{AppID}/device/control/参数
device:设备ID(例如882341,可从控制台获取或设备上线事件中获取)。order断电指令
{"power1":"0", "power2":"0", "power3":"0", "power4":"0"}(如果使用的是4路控制器)。批量控制指令
{"batch":{"relay":[1,2,3,4],"power":"0"}}(更简洁)。
实现逻辑
服务器检测到当前时间为 23:00。
遍历数据库中所有在线的共享设备柜ID列表。
对每个ID发起上述HTTP POST请求。
记录操作日志。
4.3 第二种场景:延时单路断电(用户归还后自动断电)
需求: 用户在共享储物柜存放物品后,柜门关闭,系统应延时5分钟切断该格口的电源(仅保留控制板供电),防止浪费。
方案 B:利用“先通后断”指令芯步控制器支持 “先通后断” (Point) 模式,非常适合此场景。该命令执行逻辑为:立即接通电源 -> 等待指定时间 -> 自动切断电源。
API调用详情
URL
POST https://api.thingboot.com/{AppID}/device/control/参数
device:对应的格子控制器ID。order{"point":{"relay":[1],"interval":300000}}(间隔单位为毫秒,300000ms = 5分钟)。
时序流程
用户扫码开柜。
服务器收到订单开始。
服务器下发
{"power1":"1"}或直接下发point指令。如果是 point 指令,电磁锁/设备亮灯。用户存取物品,关门。
5分钟后:控制器硬件内部计时触发,自动物理断开第1路电源,无需服务器再次发送指令,可靠性高。
4.4 第三种场景:状态监测与上报
为了确保定时任务执行成功,系统需要感知设备当前状态。
设备主动上报机制当设备状态发生变化(如被手动按键关闭、定时关闭、重新上电)时,芯步云平台会主动推送消息到开发者预设的URL地址。
接收示例(JSON格式) :
应用策略:运营服务器收到上报后,若发现 power1 状态为 0(关闭),可更新数据库中该设备的状态为“休眠/待机”,用于统计设备使用率。
5. 关键功能配置与优化
5.1 上电状态设置(安全策略)
为避免停电后突然来电导致设备瞬间全部启动(造成浪涌电流过大),在芯步控制台配置设备的“上电后状态”。
配置:设置为“保持断电”或“恢复断电前状态”。
效果:凌晨3点停电,凌晨4点来电,设备依然保持断电状态,直到早上6点服务器通过API指令主动唤醒,确保安全。
5.2 高并发处理
如果运营的共享设备数量巨大(例如数万台),在整点执行定时任务(如23:00)时,容易产生“惊群效应”,导致服务器或API网关压力过大。
优化:在业务代码中加入随机延迟机制。例如定时任务触发后,在0-5秒内随机发起请求,避免所有请求在同一毫秒冲向芯步API。
5.3 异常告警联动
结合芯步生态中的传感器(如烟雾传感器、温湿度传感器),增加控制策略。
场景:当安装在柜内的烟雾传感器检测到浓度超标时,服务器优先调用
order={"power1":"0"}强制切断所有电源,并通知管理员,实现消防联动。
6. 开发步骤摘要
如果不考虑附件文档,纯代码层面的实施步骤可归纳如下:
注册开发者账号:在芯步开放平台注册,获取
AppID和AppSecret。硬件配网:将4路控制器通电,使用“芯步”APP进行SmartConfig或AP配网,将其绑定到你的账号下,记录下
Device ID。测试API连通性
使用Postman工具,填入计算好的签名、时间戳。
Body填入
{"device": [Device ID], "order": {"power1": "1"}}。观察控制器对应的指示灯是否亮起,继电器是否吸合。
配置消息推送:在控制台配置“消息推送URL”为你自己的服务器地址(例如
https://yourdomain.com/api/yoyo/callback),用于接收状态变更。编写核心逻辑:根据第4章的伪代码,编写针对性的定时任务脚本。
7. 总结
通过接入芯步的开放接口,共享设备柜运营商可以快速实现“定时开关电源”功能。本方案利用 HTTP API 的简洁性(无需关心底层协议)和设备端硬件定时(point 指令)的稳定性,有效解决了共享场景下待机能耗高和设备维护难的问题。
该方案不仅实现了基础的定时控制,还通过签名鉴权、状态上报和传感器联动,构建了一套安全、智能、可远程运维的共享设备电源管理体系。