CATALOG

芯步的3路智能开关开放了HTTP接口,对接起来其实不复杂——核心就两件事:用API发指令控制,再搭个接收服务等设备推送状态。下面按“配网→控制→监控”的顺序说清楚。

一、 先搞定基础:把设备连上网

在写代码之前,得先把那个3路智能开关配上网,让它跟服务器连上。

  1. 注册与登录:去芯步官网注册个账号,登录后进入控制台。

  2. 准备工作台:创建一个“工作台”,这就相当于你的专属空间。在这里拿到两个关键钥匙:AppID(应用ID)和 AppSecret(开发者密码)。这两个玩意儿在控制台的“开发设置”里找,后面调用接口的时候,签名全靠它们。

  3. 设备配网:开关拿到手,先别急着往墙上塞。通电后,用手机微信小程序搜“芯步”,跟着指引把开关连到你家的2.4G WiFi上。芯步这套设备比较良心,不需要网关,直接连路由,省了一步

  4. 拿到设备ID:在控制台的设备列表里看一下,你会看到一个叫做 device 的字符串(比如 1000123456),这就是这个开关的“身份证号”。

二、 核心控制:怎么用代码控制开关

芯步的接口主打HTTP请求,很简单,不需要折腾复杂的协议,任何编程语言(Python, Java, PHP, Go)都能调

假设我们要控制第一路灯开灯,你要发一条HTTP POST请求:

  • 请求地址https://api.thingboot.com/{你的AppID}/device/control/

  • 参数:你需要带上 device (设备ID)和 order (具体命令)。

这里有一个小门坎——签名(sign)。为了防止接口被别人乱刷,你得按规矩生成一个签名。

签名生成规则(稍微直白版):

  1. 把你刚才拿到的 AppSecret 做一次MD5加密。

  2. 把加密后的字符串,再加上当前的时间戳(ts,比如 1717654321)。

  3. 把拼接好的新字符串,再做一次MD5加密,这就是 sign

简单来说,代码里就是这样算的(伪逻辑):sign = md5( md5(AppSecret) + ts )

举例实操:

打开第一路开关:

关闭第二路开关:

由于这是3路开关,power1power2power3 分别对应三个按键。你想控哪路,就改哪路的参数就行

三、 状态监控:怎么知道开关现在通着电还是断了电

这才是这篇的核心。只远程控制不够,你总得知道灯到底亮了没有。获取状态有两种方式:“主动查”“被动收”

方式一:主动查询(就是去问一下)

如果你的系统只是偶尔想看下状态,可以调用查询接口。发送请求去问服务器:“那台设备现在是开是关?”服务器会返回当前设备的快照信息。

方式二:被动接收(推荐,比较省事)

这是最“物联网”的做法。你需要搭建一台自己的后端服务器,然后在芯步控制台设置一个 “消息推送地址” (也叫Webhook)

什么意思呢?

  • 只要开关的状态变了(比如你用手在墙上按了一下开关,或者定时任务触发了,或者远程关了),芯步的平台会主动给你的服务器发一条消息

  • 你需要写一个接口(比如 https://你的域名/api/receive )来接收这条消息。

你会收到什么样的消息呢?当状态变化时,平台会给你发送类似这样的JSON数据:

你只需要在你的服务器代码里,把这个 message 里的 power1power2power3 解析出来,存到数据库里,或者在前端页面上更新一下UI,监控功能就实现了

此外,还有一个监控是“设备在线/离线状态”。如果开关断网了,平台也会发一条 type: "disconnect" 的消息给你,告诉你设备掉线了,这在排查故障时很有用

四、 进阶技巧:玩玩高级联动

既然都接入了,光控制开关还不够,芯步的接口还支持一些特殊模式,你可以把这个逻辑做到自己的系统里

  • 状态保持(点动模式):如果你要控制电动门或者那种按一下才通、松手就停的设备,可以用这个。比如让第一路通电2秒后自动断开:order: {"point1": "2000"} (先通后断,2秒)

  • 互锁:虽然开关本身是三路独立的,但你可以自己在代码里做逻辑。比如在App里设定:如果打开了第一路,自动发指令把第二路关了。这在控制电机正反转的时候特别有用。

总结一下你的开发步骤

  1. 配网:拿到设备ID。

  2. 控制:调用 device/control 接口,用 power1/power2/power3 操控开关。

  3. 监听:搭一个HTTP服务,配置好回调地址,等着收 power1 的状态变化通知。

芯步这玩意儿对开发者还算友好,比较接近“直接用互联网思维控制硬件”,不用买昂贵的网关,只需要会发HTTP请求就行