一、这个模块能干啥?先聊聊场景
大家好!今天我们来聊一个挺实用的物联网场景——充电桩的辅助电源控制。
啥是辅助电源呢?说白了就是充电桩里面那些“不是给车充电,但是没它不行”的供电系统。比如控制板、显示屏、散热风扇、传感器这些,都得有个稳定的电源伺候着。而我们要做的,就是用芯步的 AC1-10A智能通断器,通过软件远程控制这些辅助设备的开关。
你可以理解为:给充电桩装了一个“能上网的智能开关”,随时随地用代码控制它通断。不管是定时关掉风扇省电,还是温度过高时自动开启散热,又或者远程重启死机的控制板,统统不在话下。
下面我就手把手带你把这玩意儿接进你的软件项目里。
二、准备啥?清单给你列好了
开工之前,先把家伙事儿备齐:
AC1-10A智能通断器硬件:就那个小方盒子,额定功率2200W,控制一路220V通断绰绰有余
芯步开发者账号:去他们官网注册一个,免费
设备的ID:通常在设备外壳上或者控制台里能找到,一串数字
AppID和AppSecret:在你账号的“开发设置”里,相当于你家大门的钥匙
另外你先在芯步的控制台里把设备配上网、调试一下,确保能用手动开关了再搞代码。
三、硬件接线,其实贼简单
说真的,这个AC1-10A的接线基本不用动脑子:
输入端(L/N IN):接来自充电桩总电源的220V
输出端(L/N OUT):接你要控制的辅助设备(比如散热风扇、控制板电源)
天线:拧紧,确保信号好
就这么简单。它本质上就是个智能继电器,你不需要理解啥复杂的电路原理。注意断电操作,安全第一!
四、核心接口:怎么用代码控制它?
接入软件项目最核心的就是调用它的开放接口。芯步提供了两种方式:HTTP 和 MQTT。我分别说一下。
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 + 后端)
这是最常见的情况。用户登录管理后台,点一下按钮控制充电桩的风扇。
流程
前端点"打开风扇" → 调用你自己的后端API
后端收到请求 → 计算签名 → 调用芯步接口
拿到结果 → 返回给前端
伪代码示例
第二种场景: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":"订单号",回调时原样返回给你,特别适合做业务关联。
七、实际踩坑经验分享
都是实战中趟过的坑,你拿小本本记一下:
时间戳要精确到秒,10位数字。用毫秒(13位)会报错
bad ts。签名计算别弄反:先md5(Secret),再拼ts,再md5一次。顺序错了就是
bad sign。设备ID别写错:复制粘贴的时候注意前后有没有空格。
命令下发成功不代表设备执行了:设备可能离线。稳妥的做法是配合消息推送确认执行结果。
频率限制:单个设备1秒最多1次请求,别写死循环疯狂调用。
内网调试:如果后端在本地,芯步的回调推不过来。用ngrok之类的工具搞个公网映射,或者先部署到测试服务器上调。
八、拓展一下:批量控制多个设备
如果你管理的是个充电站,好几十个桩,一个一个控制太傻了。芯步支持分组控制,可以把同区域的充电桩分到一个组里,一键操作。
接口差不多,就是把 device 换成 group
这样就可以一次关掉一整个区域的辅助电源,省时省力。
九、总结
把AC1-10A智能模块接到你的软件项目里,本质上就三步:
硬件接线:串到辅助电源线上
设备配网:拿到设备ID
调接口:HTTP/MQTT发命令
不管你是做Web管理后台、APP、小程序,还是自动化脚本,这套流程都通用。芯步的开放平台永久免费,接口清晰,对开发者相当友好。
干就完了。有什么具体问题,欢迎评论区交流!