芯步的AC1-10A智能通断器采用HTTP接口设计,签名机制简单清晰,单个接口即可完成设备控制。以下方案从接口对接、签名计算到状态同步,给出完整的落地实现。
解决方案:自助充电桩线路控制 —— 基于芯步AC1-10A物联网开关的软件对接实践
1. 背景与选型分析
在自助充电桩(如电瓶车充电站、手持吸尘器充电柜)的智能化改造中,核心需求是远程控制和过载保护。
芯步的 AC1-10A 智能通断器(型号:UNI-TDQ-AC1-10A)非常适合此场景。其额定功率为2200W(10A),完全覆盖充电桩的单路输出需求。其核心优势在于支持直连Wi-Fi和开放HTTP接口,无需购买额外的网关硬件,可显著降低硬件成本。
2. 设计
要将该硬件无缝对接到现有的软件项目(如APP、小程序或SaaS后台),架构分为三层:
硬件层:部署在充电插座内的AC1-10A模组。通电后自动连接现场Wi-Fi,并维持与芯步云的长连接。
云平台层(芯步):负责设备连接管理和消息转发。提供统一的API入口,并处理设备状态回调。
应用层(你的软件):你的后端服务器。通过调用API控制设备,通过接收Webhook回调更新本地数据库中的订单状态。
3. 对接流程:从配网到第一行代码
第一步:环境准备与调试模式首先登录芯步控制台,获取 AppID 和 AppSecret。在开发初期开启“调试模式”。在该模式下,系统会临时忽略签名校验,让你可以先集中精力打通业务逻辑,随后再切回生产模式增加签名算法。
第二步:设备配网使用芯步提供的“批量配网小程序”或控制台,将AC1-10A设备连接到充电桩现场的2.4G Wi-Fi网络。配网成功后,在控制台获取关键的唯一标识——Device ID(如:1878),后续所有控制指令都依赖此ID。
第三步:核心接口对接——下发控制指令这是最关键的一步。AC1-10A接受标准的HTTP POST请求。以你希望实现的“扫码启动充电”为例,后端代码逻辑如下:
1. 签名算法(生产环境安全必备)为了防止接口被恶意篡改,每次请求需携带动态签名 sign。芯步的签名规则是:Sign = md5( md5(AppSecret) + ts )
AppSecret:开发者密码。
ts:当前Unix时间戳(秒)。
逻辑:先将
AppSecret进行MD5加密,得到字符串A;再将字符串A拼接上ts,并对这个新字符串再做一次MD5。
2. 接口调用示例(Python/Node.js)当用户扫码成功后,你的后端需要向 https://api.thingboot.com/{AppID}/device/control/ 发起请求。
请求体
{"device": "设备ID", "order": {"power":1}}(其中power:1代表闭合继电器,接通充电;power:0代表断开)。实现逻辑:封装一个通用函数,输入设备ID和开关状态,输出执行结果。
第四步:实时状态同步——Webhook回调机制充电场景中,用户最关心的是“充了多少电”、“是否被盗拔”。这需要实时同步设备状态。芯步提供了类似微信公众号的消息推送机制:
配置URL:在你的软件后端暴露一个接口(如
/api/device_callback),并在芯步控制台配置该地址。触发逻辑:当设备状态变化时(例如:电流检测到负载突降、用户通过物理按键关闭、或是线路过载自动断开),芯步会实时将设备ID和当前状态推送到你的服务器。
业务联动:你的服务器接收回调后,更新数据库中该充电桩订单的“结束时间”和“费用结算”,无需设备轮询,极大节省服务器资源。
4. 充电桩场景特定功能实现
除了基本的“通”和“断”,AC1-10A还支持更精细的控制逻辑,非常适合充电场景的特殊需求。
计时/定量断电若业务逻辑要求“充电4小时后自动断电”,无需在硬件端写定时器。你可以在软件中设置定时任务,4小时后调用一次控制接口,下发
{"power": 0}即可。线路过载保护复位如果用户的大功率电动车导致线路过载,AC1-10A会自动断开。此时如果想通过软件恢复,需要先发送复位指令,再发送接通指令。完整的恢复流程为:先调用
{"reset":1}(复位),稍作延时后再调用{"power":1}(开启)。多路控制扩展如果项目升级为4路充电桩(如一个设备控制4个插座),可使用同系列的4路控制器,命令格式扩展为
{"power1":1}、{"power2":1}等,代码复用度比较高。
5. 项目实施避坑指南
Wi-Fi信号稳定性AC1-10A依赖2.4G Wi-Fi。在商场或地下室部署时,需确保信号强度。产品支持配置5组Wi-Fi,配置周边多个AP的SSID,使其在信号弱时自动漫游切换。
关于私有化部署如果是涉及金融支付级别的充电柜,对数据安全要求比较高,或现场无外网。AC1-10A支持私有化部署。你可以搭建本地消息服务器,让所有API请求在内网闭环完成,不经过公网。
签名调试如果遇到签名错误(401),请重点检查时间戳
ts的单位是否为秒(而非毫秒),以及拼接字符串时是否存在多余空格。
通过以上步骤,你可以在很短的时间内完成AC1-10A物联网开关与软件项目的对接,实现自助充电桩的远程化、智能化管理。