一、这个开关能做什么?
AC5-10A这款智能通断器,说白了就是一个可以装在配电箱里的“智能插座核心”。它有几个挺实用的特点:
体积小巧:45.2mm×41.1mm×20mm,比一包烟还小,可以直接塞进配电箱或者设备内部
支持10A电流:阻性负载(比如电热器、白炽灯)最大2200W,感性负载(比如电机、LED灯)350W以内
自带一路物理输入:可以外接一个轻触开关,实现本地手动控制
支持WiFi直连:不需要网关,家里有2.4G WiFi就能用
最核心的是,芯步把这玩意儿的控制接口完全开放了,用的是标准的HTTP协议。这意味着不管你是用Python、PHP、Java还是Shell脚本,甚至微信小程序,都能直接跟它对话。
二、核心概念:搞清楚几个关键东西
在开始写代码之前,先把几个概念捋清楚,不然容易懵。
设备ID:每个AC5-10A出厂时都有一个唯一ID,可以在芯步的控制台里看到,也可以通过接口拉取。这个ID就是你找到这个设备的“门牌号”。
AppID和AppSecret:这俩是你自己在芯步平台上注册“工作台”之后生成的。AppID相当于你的“应用身份证号”,AppSecret是你的“应用密码”。调用接口时需要用AppSecret和时间戳算出一个签名(sign),用来验证身份。
命令格式:控制设备就是往指定URL发送一条POST请求,请求体里包含两个字段——device(设备ID)和order(你要下发的命令)。命令是个JSON对象,具体长什么样取决于你想干什么。
状态反馈:当设备状态发生变化时(比如你按了外接开关,或者到了定时时间自动切换),平台会主动往你设置的服务器地址推送消息。这就是“实时状态反馈”的实现方式。
三、准备工作
动手之前,先把这些事情干了:
注册芯步账号,登录官网,点右上角“立即注册”
创建工作台:进到物联网控制台模块,创建一个工作台。这一步会生成你的AppID和AppSecret,记下来
给设备配网:AC5-10A通电后指示灯会闪,用手机小程序或者电脑控制台给它配置WiFi。注意WiFi必须是2.4G频段,设备不认识5G的
获取设备ID:配网成功后,在控制台的设备列表里就能看到这个设备了,找到它的ID,记下来
做完这些,就可以开始调接口了。
四、直接上代码:怎么控制它
芯步的接口地址是固定的,格式如下:
{AppId}:你创建的工作台的AppID{ts}:当前时间戳(秒){sign}:签名,算法是md5(md5(AppSecret) + ts)
4.1 最简单的操作:开关
控制开关是最基本的功能。order里写{"power":"1"}就是打开,{"power":"0"}就是关闭。
用curl命令测试(最直接的方式,适合先验证能不能通):
用Python调用(适合集成到你的后端服务里):
4.2 定时控制:让它“点动”或者“延时复位”
这是AC5-10A比较实用的一类功能。它有两条特殊命令:
point(先通后断):先接通线路,维持一段时间后自动断开。适合控制“点动”设备,比如给一个触发器一个短脉冲信号。
reset(先断后通):先断开线路,维持一段时间后自动接通。适合控制设备重启,比如路由器死机了,给它断电几秒再恢复。
两个命令的值单位都是毫秒。比如想让设备打开3秒后自动关闭:
想让设备断电5秒后再恢复供电:
Python示例
4.3 超长定时:用reset实现“一小时后关闭”
注意reset的另一个用法:如果传一个很大的值,比如3600000毫秒(1小时),就等于让设备现在接通,1小时后自动断开。这在不需要复杂定时任务调度的时候非常方便。
五、线路状态反馈:怎么知道设备当前是开是关?
控制是一方面,知道设备当前的状态同样重要。AC5-10A的状态反馈有两种获取方式:
5.1 主动查询(轮询)
调用接口查询设备当前状态。这种方式简单,但不够实时,适合对实时性要求不高的场景。
芯步提供了获取设备状态的接口,和控制的接口类似,只是order字段不同(具体接口参数查阅官方文档)。
5.2 被动接收(消息推送)——推荐
这是更优雅的方式。你需要在芯步控制台设置一个消息接收地址(你自己的服务器上的一个API接口)。当设备状态发生变化时,芯步平台会主动往这个地址POST数据。
状态变化触发条件包括
你通过HTTP接口下发了开关命令
有人在本地按了外接的物理开关
定时任务(比如
reset或point)执行完毕,设备自动切换状态
你的服务器接收消息的接口大概长这样(以Python Flask为例):
工作流程
你在芯步控制台把你的服务器地址(比如
http://你的公网IP:8080/device/callback)填上去设备任何状态变化,平台都会往这个地址推消息
你的服务器收到消息后,爱干嘛干嘛——记录日志、更新数据库、触发其他联动逻辑
这种方式实时性好,而且不用一直轮询浪费资源。如果你的服务器有公网IP或者域名,强烈推荐用这种方式。
六、完整应用场景示例:智能排队叫号系统
光说代码有点干,举个实际例子你就明白这东西能怎么用了。
假设你做了一个小店的排队叫号系统。顾客取号后,系统需要通知店员。传统的做法是发短信或者App推送,但店员不一定看手机。另一个思路:用AC5-10A控制一个220V的震动器或者蜂鸣器,新号出来时,震动一下提醒店员。
方案设计
AC5-10A接在220V蜂鸣器/震动器的电源线上
叫号系统后端集成芯步API
当有新号产生时,后端调用
point命令,让设备接通500毫秒后自动断开蜂鸣器响一声,店员就知道来新号了
核心代码(伪代码):
进阶玩法:把外接的物理开关接到店员的工位,店员按一下开关,系统就收到反馈,标记该号已处理。这样整个流程就闭环了——叫号 → 通知 → 店员响应。
七、需要注意的几个坑
说几个实际使用中容易踩的点:
功率别超:感性负载(电机、LED灯、节能灯)的启动电流很大,虽然是10A的继电器,但官方感性负载控制在350W以内。如果你要控制空调压缩机或者大电机,再斟酌一下。
WiFi必须是2.4G:AC5-10A只认识2.4G WiFi,5G频段连不上。现在很多路由器双频合一,在路由器后台把2.4G和5G分开命名。
签名算法别搞错
sign = md5(md5(AppSecret) + ts),注意顺序——先把AppSecret做一次MD5,结果拼上时间戳(秒),再整体做一次MD5。很多第一次接的人容易搞反顺序。响应延迟:官方给的数据是80-120ms。一般场景完全够用,但如果你做的是毫秒级的精密控制,这个延迟需要考虑进去。
外接开关的接线:AC5-10A支持一路开关量输入,可以接轻触开关。接线时注意分清是常开还是常闭,接反了逻辑是反的。
八、写在最后
AC5-10A这种开放HTTP接口的硬件,最大的好处就是接入门槛低。不需要懂什么复杂的物联网协议,会发HTTP请求就能玩。无论是Python后端、PHP网站、Shell脚本,甚至微信小程序,都能直接调用。
实际项目中,把状态接收(回调)机制搭好,这样整个系统的实时性和可靠性会好很多。另外,如果你对数据安全有要求,芯步也支持私有化部署和局域网通信,可以把整套东西跑在内网,不依赖公网。
有什么具体问题,直接去翻芯步的官方文档,或者在他们开放平台的技术支持板块问,回复还挺快的。