CATALOG

芯步的单路智能墙壁开关通过HTTP接口进行远程参数配置,核心是掌握签名算法和两种控制模式——直接开关控制适合简单通断,状态保持模式则能实现“用户按了开关后自动复位”这类复杂逻辑。以下方案按从前期准备到具体对接的顺序展开。

一、 前期准备:找到打开智能之门的“钥匙”

在写代码之前,有几个东西得先去芯步的后台拿到手,这步弄错了后面全白搭:

  1. 准备工作台与产品:注册芯步账号,在控制台创建一个“工作台”,并添加“智能触摸墙壁开关1路”产品

  2. 获取三要素

    • AppID:应用的唯一标识,像门牌号一样。

    • AppSecret:开发者密码,需要严格保密。调用接口时,用它来生成签名,防止被别人乱刷接口

    • 设备ID (Device ID):单路开关的身份证。在控制台的设备列表里能看到,一般是一串数字

  3. 给设备联网:新买的开关拿到手,先要给它连上Wi-Fi。用官方的小程序,按照提示,给设备配上网(注意,只支持2.4G Wi-Fi)。配好后,在控制台里看到设备状态变成“在线”,这才是可以开始下一步了

二、 核心流程:怎么“发号施令”

芯步的接口思路很清晰,就是标准的HTTP POST请求。所有对设备的控制,包括开关、配置参数,本质上都是往一个固定的地址发一条指令

1. 请求地址与安全机制

  • 接口地址http(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

    • {AppId}:直接替换成刚才抄下来的AppID。

    • {ts}:当前的时间戳(秒级),用来防重放攻击。

    • {sign}:签名,这是最关键的。芯步的签名算法挺简单的,是 md5(md5(AppSecret) + ts)

    • 用伪代码表示就是:first_md5 = md5(AppSecret)sign = md5(first_md5 + ts)

2. 请求体 (Body) 的组成

请求体是JSON格式,主要包含两个字段:

  • device:设备的ID,告诉平台你要控制哪台设备。

  • order:核心指令。告诉设备具体要干什么。

三、 实战:单路开关的“参数配置”与“场景管理”

针对单路智能墙壁开关,配置参数主要集中在控制输出电平保持上。

第一种场景:基础远程开关(通断控制)

这是最常用的功能,比如下班了远程关灯。

  • 需求:把开关打开(接通电路)。

  • 下发命令{"device":"设备ID", "order":{"power1": 1}}

    • 这里的power1代表第一路继电器,1代表吸合/打开,0代表关闭

  • 预期效果:灯亮了。设备响应很快,通常在80-120毫秒左右

第二种场景:定时通断(倒计时功能)

很多时候,我们不是直接关,而是想让它“开一会儿再自动关”。

  • 需求:打开开关,5分钟后自动关闭。

  • 下发命令{"device":"设备ID", "order":{"reset1": 300000}}

    • 注意单位是毫秒,300000毫秒 = 300秒 = 5分钟。

    • 如果是单路开关,用reset1;如果是想关了再开,用point1

  • 应用场景:楼道灯、排气扇延时关闭。

第三种场景:参数配置之“状态保持”(这是一个硬核功能)

普通智能开关有个痛点:如果你远程把灯设置成了“关闭”,这时用户去按墙壁上的物理开关,灯就开了。但有些场景(比如宿舍限电、设备防误触),你想让开关“锁定”,不管谁去按墙壁按钮,它都得保持断电状态。

  • 需求:强制保持关闭状态。不管谁去按开关,松手后3秒自动恢复为关闭。

  • 下发命令{"device":"设备ID", "order":{"power1":{"keep":"0","revert":"3"}}}

    • keep: "0":代表锁定的目标状态是“关闭”。

    • revert: "3":代表如果有人触发了物理按键改变了状态,3秒后会自动恢复

  • 玩法拓展:如果是酒店场景,可以配置“保持开启”,让空调插座一直通电,客人关了开关也会自动打开。

四、 进阶:局域网直连(更高端、低延迟的玩法)

如果你的业务系统(比如一个本地的中控服务器)和智能开关在同一个局域网内,芯步还支持跳过云平台,直接通过IP地址控制设备

  1. 找到设备IP:在路由器后台或者设备上报的信息里,找到开关被分配的内网IP(例如 192.168.1.50)。

  2. 直接POST

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

    • 如果设备设置了密码secret,需要加上签名sign=md5(secret)

    • 请求体依然是 {"power1": 1}

  • 优势:这种模式完全不依赖外网,即便互联网断了,内网系统依然能控制开关,延迟几乎可以忽略不计。

五、 注意事项与小贴士

  1. 异步反馈:调用接口返回code:200只代表指令发出,不代表设备执行成功(可能设备离线了)。如果需要确认执行结果,要在后台配置“消息推送”地址,设备执行后会有异步消息推过来

  2. 心跳与状态同步:如果设备偶尔掉线,可以在业务逻辑里增加“重试机制”或者定时查询设备状态。

  3. 单路 vs 多路:虽然是单路方案,但接口逻辑通用。如果是双路开关,就对应power1power2

总结流程图解

系统对接逻辑:用户点击(APP/Web) -> 业务服务器生成签名(md5(md5(secret)+ts)) -> 调用芯步API -> 芯步云转发指令 -> 智能墙壁开关执行 -> 灯光/设备响应。

整个对接过程中,最核心的其实就是那个“签名(Sign)”的生成和 order 里面的keep参数逻辑。只要把这两块理清了,后续无论是做定时任务,还是做场景联动,都是一样的套路。