CATALOG

一、这个模块能干啥?先聊聊场景

大家好!今天我们来聊一个挺实用的物联网场景——充电桩的辅助电源控制

啥是辅助电源呢?说白了就是充电桩里面那些“不是给车充电,但是没它不行”的供电系统。比如控制板、显示屏、散热风扇、传感器这些,都得有个稳定的电源伺候着。而我们要做的,就是用芯步的 AC1-10A智能通断器,通过软件远程控制这些辅助设备的开关。

你可以理解为:给充电桩装了一个“能上网的智能开关”,随时随地用代码控制它通断。不管是定时关掉风扇省电,还是温度过高时自动开启散热,又或者远程重启死机的控制板,统统不在话下。

下面我就手把手带你把这玩意儿接进你的软件项目里。

二、准备啥?清单给你列好了

开工之前,先把家伙事儿备齐:

  1. AC1-10A智能通断器硬件:就那个小方盒子,额定功率2200W,控制一路220V通断绰绰有余

  2. 芯步开发者账号:去他们官网注册一个,免费

  3. 设备的ID:通常在设备外壳上或者控制台里能找到,一串数字

  4. AppID和AppSecret:在你账号的“开发设置”里,相当于你家大门的钥匙

另外你先在芯步的控制台里把设备配上网、调试一下,确保能用手动开关了再搞代码。

三、硬件接线,其实贼简单

说真的,这个AC1-10A的接线基本不用动脑子:

  • 输入端(L/N IN):接来自充电桩总电源的220V

  • 输出端(L/N OUT):接你要控制的辅助设备(比如散热风扇、控制板电源)

  • 天线:拧紧,确保信号好

就这么简单。它本质上就是个智能继电器,你不需要理解啥复杂的电路原理。注意断电操作,安全第一!

四、核心接口:怎么用代码控制它?

接入软件项目最核心的就是调用它的开放接口。芯步提供了两种方式:HTTPMQTT。我分别说一下。

1. HTTP方式(简单粗暴,啥项目都能用)

HTTP接口的好处是——任何能发网络请求的语言都能用。Python、Java、Go、PHP、Node.js,甚至命令行curl都行。

接口地址

https://api.thingboot.com/{你的AppID}/device/control/?sign={签名}&ts={时间戳}

请求参数(以JSON格式POST为例):

power: 1 是开,power: 0 是关。就这么简单

签名怎么算?这个稍微有点绕,但照着做就行:

sign = md5( md5(你的AppSecret) + 时间戳 )

注意是md5两次,中间用加号拼接字符串

实际代码示例(Python)

返回 {"code": 200} 就说明命令发成功了。不过200只代表平台收到了,设备是不是真执行了得看设备状态。想拿确认?往下看“消息推送”。

2. MQTT方式(需要实时性?用它)

如果你需要频繁控制、或者想实时接收设备状态变化,MQTT更合适。它是个“订阅/发布”模式,长连接,有状态变化立马推给你。

连接参数

  • 地址:mapi.thingboot.com

  • 端口:1883

  • 用户名:你的AppID

  • 密码:你的AppSecret

发布控制命令:往主题 api/{AppID}/device/control 发消息,内容和HTTP一样。

订阅状态反馈:你可以订阅设备状态变化的主题,设备一开关,云端就给你推消息。

五、接入软件项目的实战姿势

第一种场景:Web管理后台(React/Vue + 后端)

这是最常见的情况。用户登录管理后台,点一下按钮控制充电桩的风扇。

流程

  1. 前端点"打开风扇" → 调用你自己的后端API

  2. 后端收到请求 → 计算签名 → 调用芯步接口

  3. 拿到结果 → 返回给前端

伪代码示例

第二种场景:APP/小程序

移动端也是一样的路子。一般来说不要在手机里直接存AppSecret(不安全),也是通过你自己的后端中转。

架构:手机APP → 你的后端 → 芯步API

这样你的密钥只留在服务器里,安全很多。

第三种场景:定时任务/自动化脚本

比如你想每天早上8点关掉风扇,晚上6点再开——写个定时脚本就行。

用Linux的cron或者Windows的计划任务,到点发HTTP请求就行。代码和上面Python示例一样,扔到crontab里:

# 每天早上8点关
0 8 * * * /usr/bin/python3 /path/to/control.py off
# 晚上6点开
0 18 * * * /usr/bin/python3 /path/to/control.py on

场景四:跟传感器联动(高级玩法)

充电桩里肯定有温度传感器吧?你可以写个后台服务,每隔几分钟读一次温度,超过阈值就自动开风扇,降下来再关。

核心代码其实就一行调用,剩下的就是业务逻辑判断了。

六、高级一点:获取设备状态实时反馈

单纯发控制命令不够,有时候你需要知道设备到底开没开。芯步支持消息推送——设备状态一变,就往你指定的URL推数据

设置方法在芯步控制台的“开发设置”里,配置一个回调URL(比如 https://你的域名/yoyo/callback)。

收到的数据示例(大概是这个结构):

你后端收到这个之后,可以存数据库、推WebSocket给前端实时更新UI、或者触发其他业务逻辑。

注意:这个消息推送里还能携带你自定义的 extra 字段。你在下发命令时带上 "extra":"订单号",回调时原样返回给你,特别适合做业务关联

七、实际踩坑经验分享

都是实战中趟过的坑,你拿小本本记一下:

  1. 时间戳要精确到秒,10位数字。用毫秒(13位)会报错bad ts

  2. 签名计算别弄反:先md5(Secret),再拼ts,再md5一次。顺序错了就是bad sign

  3. 设备ID别写错:复制粘贴的时候注意前后有没有空格。

  4. 命令下发成功不代表设备执行了:设备可能离线。稳妥的做法是配合消息推送确认执行结果

  5. 频率限制:单个设备1秒最多1次请求,别写死循环疯狂调用

  6. 内网调试:如果后端在本地,芯步的回调推不过来。用ngrok之类的工具搞个公网映射,或者先部署到测试服务器上调。

八、拓展一下:批量控制多个设备

如果你管理的是个充电站,好几十个桩,一个一个控制太傻了。芯步支持分组控制,可以把同区域的充电桩分到一个组里,一键操作

接口差不多,就是把 device 换成 group

这样就可以一次关掉一整个区域的辅助电源,省时省力。

九、总结

把AC1-10A智能模块接到你的软件项目里,本质上就三步:

  1. 硬件接线:串到辅助电源线上

  2. 设备配网:拿到设备ID

  3. 调接口:HTTP/MQTT发命令

不管你是做Web管理后台、APP、小程序,还是自动化脚本,这套流程都通用。芯步的开放平台永久免费,接口清晰,对开发者相当友好

干就完了。有什么具体问题,欢迎评论区交流!