AC3-10A计量版这款智能开关挺适合做分时计费的,核心思路就是利用它的电量计量接口(获取数据)+ 控制接口(配合定时任务)+ 你自己的业务系统(做电价计算和存储)。下面是一套比较接地气的方案,你可以参考一下。
一、 核心逻辑:房子里的“智能电表”
要实现“分时段计费”,说白了就是解决两个问题:“这度电是什么时候用的”和“这段时间电费多少钱一度”。
我们不能让开关自己算钱(它没那么聪明),我们的做法是:让开关老老实实汇报“用了多少电”和“在什么时间段用的”,然后让后台服务器去算账。
这套方案的架构很简单:
物理层:AC3-10A 计量版智能开关(负责执行通断和采集电流/电压/功率)。
数据中台:芯步的开放接口(负责下发指令和接收上报的数据)。
业务后台:你自己的服务器(负责存储电量数据,并执行峰谷时段的计费逻辑)。
二、 对接第一步:把“电表”接入系统
由于芯步提供了 HTTP 接口,你不用管复杂的 MQTT 协议,直接通过 curl 或者任何你熟悉的编程语言(Python/Java/Go/PHP)就能搞定。
在开始算钱之前,我们需要先拿到两个核心能力:
1. 看透电流(获取计量数据)
要计费,首先得知道用了多少电。芯步的计量版设备会上报实时数据。
指令:通常涉及读取
metering或设备上报的状态。对接方式:你可以主动查询,也可以设置一个接收地址,让平台把数据推给你(推荐用推送,不然得一直轮询)。
拿到什么数据:这时候你通常能拿到 当前功率(W)、累计电量(kWh)、电压(V)、电流(A)。
2. 听指挥(远程控制通断)
既然是分时计费,有时候需要在高峰时期自动断电,或者在低谷自动开启(比如给热水器/充电桩用)。
控制接口
https://api.thingboot.com/{AppID}/device/control/控制代码示例(伪代码思路):
打开开关:发送
order: {"power": 1}关闭开关:发送
order: {"power": 0}
三、 实战攻略:分时段计费的两种玩法
根据你的具体需求(是搞充电桩租赁、宿舍管理,还是自己家省钱),这里有两种落地模式:
方案 A:精准记录型(适用于出租屋、公寓、共享充电)
场景:你把房子或充电桩租给别人,高峰期 1.5 元/度,低谷期 0.5 元/度。
操作步骤:
设定“会计时刻”在你的后台数据库创建一个计费任务。例如:设置每个整点(或者每15分钟)采集一次数据。
采集电量数据每小时的第 0 秒,你的服务器发一条指令或者在回调接口里接收设备的最新总电量。记录格式:
时间:14:00
当前总读数:10.0 度
时间:15:00
当前总读数:10.5 度
计算差值这个小时用了 0.5 度电。
匹配电价查一下时段表:14:00 - 15:00 是高峰(1.5元/度)。费用 = 0.5度 × 1.5元 = 0.75元。
优点:只要有网,算得贼准,哪怕中途断电重启,只要记录时刻的读数,账就算得清。
方案 B:定时断通型(适用于电热水器、储能设备)
场景:利用峰谷电价差省钱。凌晨 3 点电费便宜,把热水器烧开;早上 8 点电费贵,关掉避免保温耗电。
操作步骤:
下发定时任务利用芯步接口的
point(先通后断)或reset(先断后通)指令,这比在服务器做定时器更稳,因为指令直接烧录在硬件或云端。场景 1:低谷开启
命令
{"power":1}(凌晨 3:00 执行)
场景 2:高峰关闭
命令
{"power":0}(早上 8:00 执行)
打标签你也可以使用芯步的 “标签” 功能。把所有的“热水器”打成一个标签,一条指令
?tag=hot_water&power=0就能关掉所有设备,管理起来非常方便。
四、 避坑指南:这些细节你得知道
在实际写代码的时候,有几个地方值得留意一下,不然容易踩坑:
签名机制(Sign)芯步的接口用了
md5(md5(AppSecret)+ts)的签名方式。写代码的时候先把签名算法测通,这是拦路虎。时间戳ts用的是秒,不是毫秒,这一点要特别注意。电量数据的“累计”与“清零”AC3-10A 计量版通常上报的是累计电量。
:不要在硬件上轻易清零。
做法:自己在数据库记录上次的读数。如果中间换了设备,或者清过零,你的后台计费可能会出现负数,所以要做好数据备份和历史记录。
网络稳定性AC3-10A 只支持 2.4G WiFi。如果装在铁皮配电箱里,信号可能会受影响,装之前测试一下信号强度。
私有化部署(可选)如果你对数据安全要求很高(比如是企业内部用电数据),芯步支持私有化部署,可以把数据全部存在你自己的服务器或者局域网里。
五、 总结
怎么对接 AC3-10A 计量版以实现分时段计费?
一句话回答用 HTTP 接口 定时抓取设备的 累计电量,在 你的后台 算出周期内的差值,再匹配 你自定义的时段电价表(如峰、谷、平)进行计算即可。
开发清单:
搞定 Sign 签名,连上芯步 API。
写一个定时脚本(如 Cron Job),每整点去拉取设备的总电量数据。
在数据库里记录“上个小时的电量”和“这个小时的电量”。
写一行判断:
if hour in [8,9,10] then price = 1.2。搞定!
这套方案不需要你去改硬件的固件,全靠云端逻辑实现,比较灵活,希望对你有帮助。