CATALOG

芯步的2路智能墙壁开关开放了HTTP接口,你可以像调API一样用任何编程语言远程控制每一路。下面我直接给你讲清楚怎么对接、命令怎么写,以及代码怎么写。

一、准备阶段:先拿到设备的“身份证”和“钥匙”

在写代码之前,你需要先找到几样东西,就像你要开车,得先有车钥匙和知道车停在哪一样。

  1. 获取设备ID:设备成功配网后,登录芯步的后台,在设备列表里就能看到一个叫“设备ID”的数字(比如123456)。这个ID就是你要控制的那个开关的唯一编号

  2. 获取密钥:在后台的“开发设置”里,能找到你的 AppIDAppSecretAppID 是标识你的应用的,AppSecret 是用来生成签名的密钥,这个千万不能泄露给外人

  3. 确认IP(局域网模式用) :如果你的系统和开关在同一个局域网里,为了追求更低延迟(比如几十毫秒),可以直接在浏览器里输入路由器的后台,找到这个开关被分配的内网IP地址(比如 192.168.1.100)。

二、核心功能:如何用代码操控这两路开关

芯步的接口设计得非常简单,不管是控制第一路还是第二路,只需要发送一个 HTTP POST 请求就行了。请求体是一个标准的 JSON 格式字符串。

这是最常用的“开/关”控制命令表:

动作描述请求参数 (JSON)作用解释
打开第1路{"power1": 1}相当于按下左边那个按键,灯亮了
关闭第1路{"power1": 0}左边的灯灭了
打开第2路{"power2": 1}右边的灯或电器启动了
关闭第2路{"power2": 0}右边的设备关闭了

还可以玩点高级的(比如说楼道灯):

  • 先通后断(点动){"point1": "2000"}:第1路接通,2秒后自动断开。很适合用在电控锁、或者那种按一下只响一声的报警器上。

  • 状态保持{"power1": {"keep":"0", "revert":"10"}}:这个比较有意思,不管用户在面板上怎么按,10秒后都会强制恢复到“关”的状态。公共厕所的灯或者出租屋的空调总闸,用这个功能就很合适。

三、实战演练:两种对接方案

根据你的系统和网络环境,你可以选择公网控制或者局域网直控。

方案一:公网云控制(最通用,适合远程App/小程序)

适用场景:你需要在公司控制家里的开关,或者开发一款手机App。

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

  • 请求方式:POST

  • 请求体(Body){"device": "设备ID", "order": {"power1": 1}}

这里稍微复杂一点点的是 签名(sign) 。为了防止接口被别人乱刷,需要对参数做一个加密。规则是:md5( md5(AppSecret) + ts )不管你用Python、PHP还是Node.js,逻辑都是一样的:

方案二:局域网直控(零延迟,适合中控屏)

适用场景:你开发了一个跑在本地服务器上的后台服务,或者是一块屋内的中控大屏。

如果不在意云端延迟,或者断外网的时候也需要控制,这个方案比较理想。只要你的电脑和开关连的是同一个路由器,直接对着开关的IP发命令就行。

  • 请求地址http://192.168.1.100/control (用实际的IP地址替换掉这个)

  • 请求体(Body):跟上面一样,直接放 {"power1": 1}

四、常见状况说明

1. 如果我想看看现在开关是开的还是关的?调用这个接口:https://api.thingboot.com/{AppID}/device/info/,带上设备ID。在返回的数据里找到 state 字段,里面会显示 power1"1"(开)还是 "0"(关)。

2. 关于物理按键的冲突处理这一点芯步做的挺好的,你不用担心。假设你程序刚把灯关了,用户手贱又去按了一下物理按键把灯打开了。这是完全可行的,物理按键的优先级永远是最高的,用户的每一次按压,状态都会实时同步到云端,你下次查询状态的时候,拿到的就是用户最新按过之后的状态。

3. 关于负载这种智能开关一般都是10A的。但如果是接LED灯,要注意有的LED灯启动电流比较大,如果不确定可以问一下客服。一般单路控制在300-1200W是比较安全。

总结一下

这个对接过程其实就是一个 “拼JSON” 的过程。

  • 想控制左键,就操作 power1

  • 想控制右键,就操作 power2

  • 公网就走API域名,记得算签名。

  • 局域网就直接敲IP地址。

如果现在就想试一下,先在电脑上用 Postman 或者 curl 命令发一个 {"power1":1} 出去,看着灯亮的那一刻,整个逻辑你瞬间就明白了。