一、先聊聊背景
在自助充电桩场景中,大家最头疼的是啥?其实就是“谁能用、用多久、怎么计费”这些问题。你不可能给每个用户发把锁,也不可能天天蹲在那儿收钱。AC3计量版智能通断器正好可以解决这个问题——它能远程控制通断、还能精确计量用电量,配合你现有的软件项目(无论是小程序、APP还是后台管理系统),就能实现一套完整的自助充电方案。
今天这篇文章,就用比较口语化的方式,一步步讲清楚怎么把这个小硬件接入到你的项目里。
二、硬件长啥样?能干哪些事?
AC3计量版(型号:UNI-TDQ-AC3-10A-P)是一个可以直接塞进充电桩或者配电箱里的小模块,主要特点就这几条:
远程开关:你发一条HTTP请求,它就能把充电线路接通或断开
电量计量:能实时统计“用了多少度电”,这是计费的基础
过载保护:可以设置安全功率上限,超过自动跳闸
体积小巧:可以直接嵌入到各种设备里面,不占地方
简单说,它就是充电桩的“智能大脑”——管着电的通断,还能记账。
三、接入之前需要准备什么?
在你动手写代码之前,有几个东西要先准备好:
注册芯步账号,进入工作台
获取AppID和AppSecret:在“开发设置”里能看到,这俩相当于你的“身份证”和“密码”
给AC3配网:确保设备在线,能在控制台看到它的状态
记下设备ID:在设备列表里找到你的AC3,记下那一串数字,后面要用
这些准备工作大概10分钟就能搞定,不用慌。
四、核心步骤:怎么远程控制充电桩通断?
4.1 接口地址和签名算法
芯步的接口走的是HTTP协议,不管你前端用的是Vue、React,后端用的是Java、Python、Go还是PHP,都能直接调。控制接口的地址格式如下:
签名算法稍微绕一点,但照着做就行:
具体步骤:
先把AppSecret做一次MD5加密
把上一步的结果拼接上当前的时间戳(秒级)
对拼接后的字符串再做一次MD5
举个例子:假设你的AppSecret是
abc123,当前时间戳是1700000000,那就先算出md5(“abc123”),拼上时间戳,再算一次MD5
4.2 控制充电桩“通电”和“断电”
准备好签名之后,就可以发请求控制设备了。控制通电的请求体如下:
控制断电只需要把power的值改成0:
实际发请求的时候,用cURL测试大概是这个样子:
设备响应速度大概是80-120毫秒,用户扫码之后几乎感觉不到延迟。
4.3 读取电量数据,实现计费
AC3计量版最实用的功能就是能实时读取用电量。你可以通过设备的metering属性获取当前的功率和累计用电量,然后用这些数据做计费。
业务逻辑大概是这样的:
用户扫码支付 -> 你后台收到支付成功回调 -> 调用控制接口通电
充电过程中,定时(比如每分钟)调用接口读取电量数据,累积到用户的账单里
用户主动停止或者预付款用完了 -> 调用断电接口 -> 生成订单结算
小提示:如果担心用户预付款用完了还在充,可以在后台起一个定时任务,每隔几秒检查一下当前用电金额是否超过预付款,超过了就主动断电。
4.4 定时关断(防止“忘了关”)
有时候用户充完电忘记在手机上点停止,或者中途拔枪了设备没检测到,这种“僵尸充电”既浪费电又有安全隐患。
芯步的接口支持一条命令就搞定定时任务,不需要你在服务器上单独维护定时器:
这条命令的意思是:先接通电源,然后1小时(3600000毫秒)后自动断开。非常适合自助充电场景——用户在扫码的时候就选好充多久,你直接下发一个带延时的指令,后面就不用管了,到点自动断电。
五、在软件项目里怎么落地?
5.1 封装一个通用的控制服务
无论是在小程序、APP还是后端服务里调用,封装一个通用的类,把签名计算和请求发送的逻辑统一处理。核心就是维护好AppID、AppSecret这两个配置,然后写一个sendCommand(deviceId, order)方法,调用方只需要关心“给哪个设备发什么命令”。
5.2 标签管理:批量控制充电桩
如果你运营的充电桩不止一个,而是一整片充电区,那一个一个控制就太麻烦了。芯步提供了标签管理功能,可以把同一批充电桩设备打上同一个标签,然后一次性控制所有设备。
比如你有一个“A区停车场”的标签,想晚上统一断电维护:
一条命令搞定,不用写循环。
5.3 安全功率设置
计量版还有一个很实用的功能:可以给设备设置一个安全功率上限。比如你把充电桩的最大功率限制在2000W,一旦有用户插了超过这个功率的设备,AC3会自动跳闸断电。这个阈值你可以在控制台预先配置好,不需要写代码。
5.4 局域网部署和私有化
如果你的充电桩部署在停车场、小区等网络不稳定的地方,或者你有数据安全方面的顾虑,AC3还支持局域网直连和私有化部署。意味着你可以把整个控制服务跑在本地服务器上,不经过云端,命令走内网,响应更快也更安全。
六、实际业务流程(从用户扫码到通电)
结合上面的接口,一套完整的自助充电业务流程大致是这样的:
用户扫码:扫描充电桩上的二维码,小程序拿到设备ID
用户支付:选择充电时长或金额,完成支付
后台通电:你的服务器调用
{"power": 1},充电桩开始供电可选:定时关断:同时下发
{"reset": 时间},到点自动断电充电过程监控:定时读取电量,实时更新账单
充电结束:用户主动停止或定时器触发,执行断电,生成订单
七、几个容易踩的坑
最后说几个实际对接中容易遇到的问题:
签名不对:大概率是时间戳单位搞错了,芯步用的是秒级时间戳,不是毫秒
设备不在线:AC3走的是WiFi 2.4G,5G的WiFi连不上,配网的时候注意一下
多个设备控制:device参数可以传多个ID,用逗号隔开,但order命令必须对所有这些设备都有效
计量精度:电量数据用于计费的话,先做个小规模测试验证一下精度
以上就是AC3计量版接入软件项目的完整方案。接口本身不复杂,核心就是那一条HTTP请求,大部分时间其实是在设计业务逻辑——怎么计费、怎么防呆、怎么处理异常。把这些都理顺了,自助充电桩的智能化改造就基本搞定了。