CATALOG

芯步的2路智能开关开放标准HTTP接口,对接起来其实不复杂——核心就是把你的设备和账号凭证“认个亲”,然后用正确的签名发指令就行。下面这个方案从拿到设备到调通接口,咱们一步步说清楚。

一、准备工作:先把你手里的硬件“连上网”

在写代码之前,得先把开关配上网,不然它收不到信号。整个过程就像是给设备输你家WiFi的密码

  1. 注册与登录:打开芯步官网或小程序,注册一个账号(这是你的“管理员”身份)。

  2. 创建“工作台”:在后台里创建一个“工作台”,相当于给你的项目建一个独立的房间。

  3. 关键步骤——配网

    • 方法A(小程序):微信搜“芯步小程序” -> 登录 -> 找到“网络配置”,输入你家的WiFi名和密码 -> 点击“为设备配置此网络”。

    • 方法B(热点):按照官方文档,用手机开一个2.4G频段的热点(名称和密码跟家里路由器一样),给开关“听”,它听到后就能自动连上路由器了。

  • 注意:这开关只认2.4G频段的WiFi,5G的不行。配网成功后,指示灯会从快闪变成常亮或熄灭

二、核心玩法:搞懂接口的“暗号”机制

配完网,接下来就是编程控制它了。芯步的接口设计得很直接,本质上就是往一个网址发POST请求,但为了安全,它设了三层验证:

  1. 你是谁(AppID):相当于你的“用户名”。

  2. 你证明你是你(Sign 签名):这是最绕的一环,其实就是把 你的密码 和一个 时间戳 混在一起加密。

  3. 你要干什么(Order 命令):告诉开关是开是关。

请求地址长这样(这是一个需要填充参数的“模板”):https://api.thingboot.com/{你的AppID}/device/control/?sign={你算出来的签名}&ts={当前时间戳}

三、实战代码:Python、Node.js、Java一把梭

下面我用最常见的Python举个例子,直接跑通。

1. 找齐“三要素”

在你后台的“控制台 -> 开发设置”里找到这三样东西:

  • AppID: 例如 a8f3e9...

  • AppSecret: 例如 s3cr3t...

  • DeviceID: 你刚才配网的那个开关ID,例如 10086

2. Python 代码示例

你需要安装 requests 库(如果没装的话在终端里执行 pip install requests):

3. 其他语言的简单写法

  • cURL (命令行):适合做快速测试。

  • Node.js / JavaScript: 原理一致,用 axiosfetch 发请求即可

四、常用“命令字典”(Order 怎么写)

这是最关键的部分,order 参数是一个 JSON 字符串。智能触摸墙壁开关2路 支持以下玩法

功能分类命令示例 (JSON)详细说明
基础开关{“power1”: “1”}打开第1路 (“1”表示开)
{“power2”: “0”}关闭第2路 (“0”表示关)
“闪烁”/脉冲{“point1”: “2000”}第1路马上打开,保持2秒(2000毫秒)后自动关闭
{“point2”: “5000”}第2路打开,5秒后关闭
“先断后通”{“reset1”: “1000”}第1路先断开,1秒后再重新接通(类似于重启该线路设备)
状态锁定/保持{“power1”:{“keep”:“1”,“revert”:“3”}}强制保持第1路打开,即使用户手动关闭,3秒后也会自动弹回打开状态

小提示:如果你买的是普通的 “智能墙壁开关2路” (非触摸版),命令是一样的,只是 pointreset 的参数值范围可能稍有不同,具体看产品手册

五、进阶技巧:局域网控制(更快更稳)

如果你是在同一个办公室、工厂或者家里局域网内控制,可以用 局域网控制 模式,不绕路云端,速度飞快(几十毫秒级)

  1. 先在后台或者通过路由器,查到你开关的内网IP(比如 192.168.1.50)。

  2. 直接对着这个IP发命令,不需要 AppID 和复杂的签名了

    • 请求地址http://192.168.1.50/control

    • 请求Body: 跟上面一模一样,比如 {“power1”: “1”}

    • 注意:这种方式不能在外网用(比如你在公司控制家里的),适合集成到大屏中控或者本地自动化系统里。

六、排雷指南(常见报错)

如果你发了请求没反应,99%是签名算错了,剩下1%是WiFi没连好。

  1. 报错 “sign error”: 检查代码里的 AppSecret 是否填对,以及 时间戳(ts) 是否是服务器当前的Unix时间戳。

  2. 报错 “device off-line”: 说明你配网没成功,或者是WiFi密码换了。记住要用2.4G WiFi

  3. 命令发了灯没反应: 检查 order 里的 power1 是不是写成了大写?是 “power1” 不是 “Power1”

  4. 我是用PHP/Java的怎么办: 芯步的接口是通用的HTTP协议,不管你是PHP(用curl)、Java(用OkHttp)、还是Go,只要把上面那个签名算法翻译过去就能跑通

总结一下流程:先去官网拿AppIDSecret -> 给开关配网拿到DeviceID -> 复制上面的Python代码算签名 -> 对着order表改命令。搞定!