CATALOG

芯步的10A智能插座用的是HTTP接口,对接思路很简单——就是照着API文档发POST请求。下面我把流程捋一遍,从准备工作到代码实现,再到一些实用技巧,尽量说清楚。

一、 核心原理:其实就是发个“网络指令”

你可以把芯步的10A智能插座理解成一个拥有自己独立IP地址的小电脑。你的软件项目(不管是网页、APP还是电脑软件)不用关心它底层的Wi-Fi协议,也不用处理复杂的加密。

本质工作流程:你的软件HTTP POST请求(包含开关指令)芯步云服务器Wi-Fi下发指令10A插座执行(通/断)

整个过程非常快,通常在 80-120毫秒 左右,基本上感觉不到延迟

二、 准备工作(需要拿到的“三把钥匙”)

在写代码之前,你需要先到芯步的后台拿到三个关键数据,缺一不可:

  1. AppId :你的“项目身份证”。在芯步控制台创建项目后自动生成。

  2. AppSecret:你的“签名密钥”,千万别泄露在前端代码里,要放在后端。

  3. Device ID:你要控制的那个10A插座的唯一编号

三、 动手对接:一步步教你发命令

芯步的接口非常直白,走的都是标准HTTP协议。下面是详细的对接步骤:

1. 搞定动态签名

为了防止别人乱刷你的接口,每个请求都需要带一个动态加密的签名。签名的生成规则其实很简单,就是把你的密钥和时间戳混在一起加密

  • 公式sign = md5( md5(AppSecret) + ts )

  • 步骤拆解

    1. 把你拿到的 AppSecret 进行一次MD5加密。

    2. 把加密后的字符串,再拼接上当前的时间戳(ts,精确到秒)

    3. 把拼接后的字符串再进行一次MD5加密,最后得到的字符串就是本次请求的签名。

2. 请求地址与参数

  • 请求地址(URL)http(s)://api.thingboot.com/{你的AppId}/device/control/?sign={刚才算出的签名}&ts={当前时间戳}

  • 请求方式:必须是 POST

  • 请求头Content-Type: application/json

  • 请求体(Body)——最关键的部分需要传一个JSON字符串,告诉服务器要控制哪个设备,以及要干什么。

    注:上面的 "power":1 代表“开启线路”,“power:0” 代表“关闭”

3. 代码实战

为了方便理解,我用 Shell 和 Node.js 写了两个最简例子。你也可以换成 Python、Java、PHP 等任何支持 HTTP 的语言。

方式一:Shell (cURL) 方式(适合后端脚本)

注:以上代码逻辑综合了签名规则和命令格式

方式二:Node.js 方式(适合Web项目)

注:以上代码逻辑综合了签名规则和命令格式

四、 进阶玩法:让插座更“聪明”

如果只是简单开关,那太浪费了。利用接口参数,可以实现很多高级产品才有的功能

1. 定时开关

假设你要控制热水器,希望它接通电源1小时后自动断电,防止干烧。你不需要在服务器上写定时任务,只要在调用接口时,把 order 参数里的 power 换成 reset

这样插座就会立即闭合,1小时后自动跳断。

2. 点动模式

用于控制电动门、投影幕布等。让它接通2秒后立即断开,模拟“点按”动作。

五、 新手避坑指南(重要!)

  1. 千万别把Secret写在前端:如果你的代码是微信小程序、App或网页,绝对不要AppSecret 写在前端代码里。任何人都可以反编译你的代码拿到密钥,导致你的设备被全网控制。正确的做法是:你的前端 -> 你的后端服务器 -> 芯步云

  2. 确认网络频段:这种10A插座大多只支持 2.4G Wi-Fi。如果你的路由器开了双频合一(2.4G和5G同名字),配网可能会失败。配网时用手机开一个2.4G的热点测试

  3. 看清楚10A还是16A:芯步有10A和16A两种插座。10A一般用于灯、电视、电脑;16A用于空调、大功率热水器。虽然接口命令几乎一样,但千万别混插,小心烧线路

总结

把10A智能插座接到你的软件里,本质上就是调一个 HTTP POST 接口。最难的部分可能就是签名计算,但照着文档写一遍就能跑通。搞定这一步,你的软件就能轻松控制物理世界里的灯光和电器了。