CATALOG

芯步的智能开关开放了HTTP API接口,通过简单的POST请求就能远程控制和获取设备状态。下面我整理了一份接入方案,从硬件选型到接口调用,一步步说清楚。

解决方案:基于芯步API接入商业专用智能开关(1路)

1. 选型与准备:我们到底要买哪个设备?

首先,我们要明确“1路商业专用智能开关”指的是芯步的 智能触摸墙壁开关(1路) 型号

  • 1路是什么意思?

    • 意思就是这个开关只能控制1个线路的设备。比如你只想控制大厅的LED灯带,或者商用的灯箱,买这个“1路”的就够了。如果你需要分别控制两盏灯,那就要买“2路”的。

  • 核心功能:

    • 控制:可以通过后台直接开/关。

    • 反馈:开关状态(开/关)会实时上报。

    • 接口:支持HTTP API,也支持局域网直接控制(私有化部署)。

2. 硬件接线与配网

第一步:安装(找电工师傅操作)

  • 接线:这款开关通常需要零火线供电(在商业建筑中很普遍)。按照产品手册,把墙壁里的火线(L)和零线(N)接在指定位置,然后把控制灯的那根线(Load)接在“L1”或类似标示的接口上

  • 注意:一定记得断电操作,安全第一!

第二步:配网

  • 下载App/小程序:搜索“芯步”小程序。

  • 添加设备:长按开关面板上的按键,直到指示灯快速闪烁(通常为“叮”的一声或灯闪),表示设备进入了“配网模式”。

  • 连接Wi-Fi:在小程序里点击添加设备,输入你公司的Wi-Fi密码(注意:目前只支持2.4G频段的Wi-Fi,5G的不行)。

3. 核心对接:代码怎么写?

硬件装好了,现在是最关键的部分——你的系统如何通过代码控制它。

芯步的接口非常直白,本质就是发一个带签名验证的POST请求

第一步:拿到钥匙

在芯步官网的控制台里,你能找到两个关键字符串

  • AppID:类似你的用户名。

  • AppSecret:类似你的密码(不要泄露给任何人)。

第二步:搞懂控制指令

  • 打开开关{"power1": 1}

  • 关闭开关{"power1": 0}

第三步:签名与请求

他们用了一种“签名”的方式来保证安全,逻辑稍微有点绕,但市面上任何编程语言都能实现。这套逻辑主要是为了防止接口被恶意调用,核心就是做一个“加盐”的MD5加密

  • 公式逻辑

    1. 先把你的 AppSecret 进行一次MD5加密,得到字符串A。

    2. 拿字符串A 拼上当前的时间戳 ts,得到字符串B。

    3. 再把字符串B做一次MD5加密,这就是最终的 sign

  • 直接看例子(比如用PHP/Java/C#,逻辑都一样):

    假设你的 AppSecretabc123,当前时间是 1700000000第一次加密:md5(abc123) -> 得到 e99a18c428cb38d5f22e03...拼接:e99a18c428cb38d5f22e03... + 1700000000第二次加密:md5(拼接后的字符串) -> 这就是你要的签名。

第四步:发送指令

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

  • 请求方式:POST

  • Body内容

如果一切顺利,设备会在几十毫秒内执行动作,你会收到一个表示成功的JSON包。

4. 实时状态反馈

很多时候,我们不仅要在系统里点“开关”,还要实时知道那盏灯到底亮没亮(特别是如果有人手动了开关,系统界面要同步更新)。

芯步支持状态主动上报你在后台配置一个 “上游推送地址” ,也就是你的服务器接收地址(例如 http://你的域名/api/callback)。

  • 一旦设备状态变了(无论是你后台操作的,还是有人手按的),平台会立刻往你这个地址发一条数据。

上报的数据格式大概是:

你的后端需要写一个接口来接收这个数据,然后更新数据库里的设备状态,或者在前端页面上实时展示。

5. 进阶技巧:商业场景的实用玩法

商业场景往往不止开和关这么简单,这里有几个实用技巧:

  • 状态保持(防误触)比如公共厕所的排风扇,你想让它强制开启排风,防止保洁人员误关。你可以下发指令让开关即使被人为关闭,3秒后也会自动弹回开启状态。指令示例:{"power1": {"keep": 1, "revert": 3}}

  • 定时与闪断如果需要控制广告牌的电源(比如每晚12点关,早上6点开),不需要在服务器里写定时任务循环调用,可以直接利用开关内部逻辑,或者由你的业务系统通过定时任务调用API即可。

总结

这套方案的接入流程可以概括为:买个1路开关 -> 接好零火线 -> 配网上线 -> 后台拿到AppID -> 按照规则生成签名 -> 调用API发送 {"power1":1}

整个过程最容易被卡住的地方通常是签名计算Wi-Fi配网频段,只要把这两步搞定了,其他就很顺畅了。