芯步8路控制器的开放接口采用HTTP签名机制,对接的核心在于正确构造sign参数和理解order命令格式。以下方案从设备选型、接口鉴权到业务代码实现,给出完整的技术路径。
解决方案:基于芯步8路控制器的共享充电场景智能化改造
1. 背景与选型
在共享充电场景(如共享自习室、电瓶车充电桩、街边充电插座)中,核心需求是对每个充电端口进行独立的功率控制、计费通断以及远程状态监测。
采用芯步 智能控制器8路(UNI-KZQ-AC-8) 作为硬件,具备以下优势:
独立控制:支持8路继电器独立控制,每路可承载最大2200W阻性负载,完全覆盖手机、电瓶车、乃至小型家电的充电需求。
接口开放:全系产品开放标准HTTP API,无需复杂的物联网协议栈开发,只需简单的HTTPS请求即可完成控制,适合快速迭代的软件团队。
成本效益:无需购买网关,设备直连2.4G WiFi,且开放平台接口免费使用。
2. 系统架构与对接原理
本方案采用标准的 云云对接 架构:
设备层:8路控制器接入220V市电,输出端连接8个独立的充电插座(或照明/风扇单元)。
网络层:设备通过WiFi连接互联网,与芯步开放平台保持长连接。
应用层:您的业务服务器通过调用芯步的HTTP API,向指定设备下发指令。
核心逻辑:您的后端服务器扮演“指挥官”角色,通过 AppID、AppSecret 和时间戳生成的签名(Sign)来鉴权,从而安全地控制硬件。
3. 详细对接实施步骤
3.1 准备工作与开发设置
硬件接线
供电:将控制器的N、L输入端接入市电(AC 220V)。
负载:将充电插座的其中一根线(通常是火线)串联到控制器的“输出1”端子上。例如,控制第1路充电口,就将该插座的火线剪断,串入“输出1”和“输出COM”端。
上电:设备通电后,等待蓝色指示灯熄灭(常灭代表连网成功)或根据配网操作进行配网。
平台配置
登录芯步物联网控制台,获取
AppID和AppSecret(开发者密码)。将控制器绑定至平台账户下,获取唯一标识
Device ID。在控制台的“开发设置”中,将您的业务服务器公网IP加入白名单(可选,增强安全性)。
3.2 API 鉴权机制
所有接口请求必须携带签名(Sign),这是一个防篡改防盗用的关键机制。签名生成规则如下:
参数
ts:当前Unix时间戳(秒级),如1710000000。AppSecret:开发者密码(后台获取)。
算法(以Node.js为例):
注意:若使用Python或Java,请一定要注意空字符串处理和编码格式(UTF-8)。
3.3 核心控制逻辑:开/关充电
这是对接中最核心的功能——远程控制继电器通断(即充电口的供电)。
接口地址
POST https://api.thingboot.com/{AppID}/device/control/请求参数(Body JSON):
device:设备ID。order:控制指令(JSON字符串)。
业务场景实现(充电桩逻辑):假设用户扫码请求“开启1号端口充电”,您的服务器需要构造如下指令:
| 操作 | Order 参数值 | 业务含义 |
|---|---|---|
| 开启端口1 | {"power1":"1"} | 继电器吸合,插座/充电口通电 |
| 关闭端口1 | {"power1":"0"} | 继电器断开,停止充电 |
| 紧急全开/全关 | {"batch":{"power":0}} | 全部端口断电,用于异常熔断保护 |
| 先通后断(场景少用) | {"point":{"interval":500}} | 全部端口闪烁,用于演示模式或寻找设备 |
代码示例(Python后端处理用户充电请求):
3.4 状态同步与定时任务
主动查询:通过
device/status接口查询当前8个端口的通断状态(用于用户刷新页面)。被动推送:平台支持消息推送。可以配置Webhook地址,设备状态变化时实时通知您的服务器,确保计费系统准确无误。
本地定时:如果不想每次都依赖服务器下发指令,可以直接在物联网控制台配置远程定时任务。例如:设置每天晚上24:00自动切断所有未结束的订单,进行安全巡检。
4. 适配共享场景的功能增强
借助8路控制器的扩展能力,可以提升用户体验:
4.1 物理开关联动
该控制器提供8路开关量信号输入。您可以将轻触开关接在输入端,然后放置于桌面上。
逻辑:当用户物理按下按钮时,控制器会触发IO变化,平台可以通过消息推送通知您的服务器,实现“物理按键启停充电”,这对于不方便掏手机的老人或临时需要暂停的场景非常友好。
4.2 多路批量管理
在共享充电车棚或自习室场景,通常有多个设备并列。API支持批量控制:
指令
{"batch":{"relay":[1,3,5,7],"power":0}}高效性:该指令可一次性关闭所有设备的1、3、5、7号口。这对于管理端进行“一键断电复位”时,网络请求效率比较高,无需循环发送8次请求。
5. 常见问题与排障
签名错误(Code 5006)
原因:时间戳格式不对或MD5拼接顺序错误。
解决:确认
ts是10位秒级;确认拼接字符串是md5(密钥) + ts作为整体再MD5,不要带任何其他字符。
设备离线
现象:接口调用成功,但硬件无响应。
排查:检查设备蓝灯是否熄灭(熄灭代表在线)。共享充电场景中WiFi信号若不稳定,开启设备的多WiFi备用功能或使用外置天线版。
负载安全
注意:如果是用于电瓶车充电,属于感性负载,每路最大支持350W。切勿接入大功率电动车快充,否则会烧毁继电器。
6. 总结
通过芯步8路控制器的开放接口,您可以在2周内快速完成共享充电项目的硬件改造。只需关注业务逻辑(扫码支付 -> 验签 -> 调用 device/control -> 记录开始充电 -> 轮询/回调结束 -> 调 device/control 断电),复杂的硬件通信与WiFi重连机制均由芯步平台封装完毕。