CATALOG

芯步这款AC3-10A计量版智能控制器,说白了就是一个带电量统计的智能开关。你可以远程控制它“通”或“断”,还能随时看电流、电压、功率。下面说说怎么把它对接到你的软件项目里。

一、准备工作

在写代码之前,先把“钥匙”和“门”找到:

  1. 注册/登录:去芯步的官网注册一个账号。

  2. 获取密钥:登录后在后台找到「开发设置」,记下你的 AppIDAppSecret。这就像你家的账号密码,调用接口时要用

  3. 设备配网:给控制器通电,用官方App或小程序把它连上你家的2.4G Wi-Fi。在后台的设备列表里,确认设备状态是“在线”,并记下那串 Device ID(设备ID)

二、核心对接流程

对接的核心就是“发指令”。芯步用的是HTTP接口,说白了就是访问一个网址,带上参数,告诉服务器你想让设备干嘛

1. 搞懂“签名”

为了防止别人乱动你的设备,每次请求都得带一个动态的 sign 签名。算法是 md5( md5(AppSecret) + ts )

  • ts:当前的时间戳(比如:1712456789)。

  • AppSecret:你后台拿到的那个密码。

举个例子,假设你的 AppSecretabc123

  • 先算一次MD5:md5("abc123") = "e99a18c4..."

  • 再拼接时间戳:"e99a18c4..." + "1712456789"

  • 最后再算一次MD5:得到最终的 sign

别怕,后端代码里一般都有现成的MD5函数,直接调用就行。

2. 控制设备通断(核心操作)

这是最常用的功能,用来远程“开”或“关”。

  • 请求地址https://api.thingboot.com/{你的AppID}/device/control/?sign={你的sign}&ts={时间戳}

  • 请求方式:POST

  • 请求体 (Body)

如果返回 {"code":200},就代表指令发送成功了,你的设备应该马上就会有反应

3. 读取电量数据(计量功能)

既然买的是“计量版”,光控制开关肯定不够。想知道当前设备耗电多少瓦,不需要特殊接口,芯步用的是 “状态上报”机制

  • 原理:设备会定时或在状态变化时,主动往你的服务器推数据。

  • 怎么接:你得在后台「开发设置」里配一个 “消息推送URL”(比如 http://你的域名/api/receive)。

  • 收到的数据长啥样:设备会主动发一个POST请求到你配的地址,里面包含电压、电流、功率等:

三、代码实战(Python示例)

找个后端工程师,写个简单的函数就能搞定。这里用Python的requests库举个例:

四、进阶与避坑指南

  1. 私有化部署(局域网)如果你不想走外网,或者没公网IP,这设备支持局域网直接控制。你需要在路由里给设备固定IP,然后直接请求 http://设备IP/control,参数一样的,响应更快更稳定。

  2. 批量控制(分组)如果有几百台设备,别一个个发指令。去后台建个分组(比如“一楼灯光”),然后调用 group/control 接口,一次就能控制整个分组的通断

  3. 处理异步消息(数据库设计)收到设备上报的电量数据时,记得把 power(功率)存进数据库。别只收到数据就打印出来完事了,存下来才能做后续的电费统计、报表展示。

  4. 调试模式刚开始搞不定签名,可以在后台打开“调试模式”。这时候系统不校验sign 和时间戳,你可以先用Postman把通断逻辑跑通,最后再去纠结签名的代码细节,能省不少时间

  5. 注意状态码调用接口返回 200 不代表设备执行了,只代表云端收到指令了。如果设备离线,你也会收到 200,但它并不会开机。所以,如果业务要求高(比如远程启动机器),需要结合设备的上报心跳来判断设备是否在线。