芯步的2路智能墙壁开关开放了HTTP接口,你可以像调API一样用任何编程语言远程控制每一路。下面我直接给你讲清楚怎么对接、命令怎么写,以及代码怎么写。
一、准备阶段:先拿到设备的“身份证”和“钥匙”
在写代码之前,你需要先找到几样东西,就像你要开车,得先有车钥匙和知道车停在哪一样。
获取设备ID:设备成功配网后,登录芯步的后台,在设备列表里就能看到一个叫“设备ID”的数字(比如
123456)。这个ID就是你要控制的那个开关的唯一编号。获取密钥:在后台的“开发设置”里,能找到你的
AppID和AppSecret。AppID是标识你的应用的,AppSecret是用来生成签名的密钥,这个千万不能泄露给外人。确认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} 出去,看着灯亮的那一刻,整个逻辑你瞬间就明白了。