芯步的8路控制器支持完整的HTTP API控制,你可以像调用本地服务一样操作每一路开关。下面我把两种接入方式(云端API和局域网直连)都梳理清楚,附带签名计算和命令格式,方便你快速上手。
怎么通过HTTP接口独立控制芯步8路继电器?
很多人拿到这个板子第一反应是想直接 curl 192.168.1.x 就能开关,但实际上芯步的设备主要支持两种控制模式,看你愿意折腾多少代码:
直接走芯步云平台:最简单,设备连上WiFi就能用,不需要公网IP,但要处理签名鉴权。
局域网(LAN)模式/私有化:延迟更低,断外网也能用,但需要设备支持或做配置。
我们分情况说,这里先讲最通用的 云端HTTP接口控制 ,因为这是官方文档最全、最通用的路子。
核心武器:设备控制接口
芯步开放了一个统一的入口,不管你是控制灯光、插座还是门锁,都往这个地址发POST请求就行:
请求地址https://api.thingboot.com/{你的AppID}/device/control/?sign={签名}&ts={时间戳}
必填参数
device:就是贴在设备外壳上那串数字ID,或者你在后台看到的ID。order:这是核心,告诉设备要做什么。
怎么独立控制8路中的任意一路
假设你的设备ID是 123456,你想让第3路接通(开),第5路断开(关)。
你需要构建一个 JSON 字符串传给 order 参数。
控制第3路开启:
{"power3":1}(1代表通)控制第5路关闭:
{"power5":0}(0代表断)控制第8路开启:
{"power8":1}
所以,你POST给服务器的数据体应该是这样的:
如果你想批量操作,比如一口气把第1、3、5路都打开,不需要发三次请求,直接这样写:
搞定那个烦人的签名
芯步的接口为了安全,要求签名字段 sign。这个算法是固定的,虽然逻辑看着有点绕,但其实写代码就几行。
签名算法原文是:sign = md5( md5(开发者密码) + ts )
这里的
+是拼接字符串,不是数学运算。
手把手拆解:
准备工作:先去芯步控制台拿到你的
AppSecret(开发者密码)。第一步:算
md5_one = md5(AppSecret)。第二步:拿当前时间戳(精确到秒),比如
ts = 1712456789。第三步:拼接字符串
temp = md5_one + ts。第四步:最终签名
sign = md5(temp)。
示例(伪代码):
实战演示:用 curl 命令
假设你的 AppID 是 abc123,ts 是 1712456789,算出来的 sign 是 xxxx。
打开终端(Windows cmd/powershell或Mac终端),执行:
如果看到返回 {"code":200},恭喜你,第1路已经通电了。
进阶技巧:局域网直连(私有化模式)
如果你觉得走云端绕一圈延迟太大,或者包间没外网(比如在地下室),你可以开启局域网模式。
前提条件:设备连上了WiFi,并且你在后台或者通过配网给设备设置了一个固定的IP地址或者绑定了DNS。
在这种模式下,完全不用管云平台,不用算签名,直接对着设备本地的IP发请求就行 。
请求地址: http://设备IP地址/control
请求方式: POST
数据格式: 和上面一模一样,只是少了一层device的包装。
需要注意的是,局域网模式需要设备固件支持或者你在私有化部署时配置了
client信息。大部分通用控制器如果不配置,默认只连云平台。
总结
如果是做小程序或后台管理系统:用云端API方式。因为官方帮你维护了设备在线状态(心跳),你不用关心设备断线重连的问题。
如果是做本地中控屏或要求极速响应:研究一下局域网直连。芯步的私有化文档里有提到
http://设备IP/control这个接口,如果能用,那响应基本是毫秒级的 。