CATALOG

芯步的智能硬件全部开放了HTTP接口,这事儿其实挺简单的——就是给你的系统发个HTTP请求,告诉哪个设备做什么动作。下面我把“远程按开门按钮”这件事从头到尾拆解一遍。

一、先搞清楚你的“出门按钮”是哪种设备

芯步的产品线里,能当“出门按钮”用的主要是这几类:

1. 智能墙壁出门开关 / 触摸版最标准的方案。86型墙壁开关,可以接各种电磁锁、电插锁。你按一下物理按钮,门就开;现在你要做的是“远程模拟按这个按钮”

2. 智能密码门禁除了支持远程开门,还支持密码验证、IC卡识别。如果你想做一个“访客按门铃,业主在APP上点一下开门”的场景,这个也合适

3. 4路控制器如果你要控制多个门,或者一个门要接多个设备(比如门锁 + 灯光提示),这个更灵活

核心原理:所有这些设备内部都是一个“继电器开关”——远程控制其实就是给它发一条指令:“把第X路继电器接通一下,然后再断开”,模拟人手按按钮的动作。

二、准备工作:拿到“三把钥匙”

在开始对接之前,你需要先拿到三个东西,就像三把钥匙:

名称在哪里找干啥用
AppID登录工作台 → 物联网控制台 → 开发设置告诉平台“我是哪个应用”
AppSecret同上,点击显示用来生成签名,证明“我有权限”
设备ID控制台的设备列表,或设备外壳标签上告诉平台“我要控制哪台设备”

这三样缺一不可,AppSecret尤其重要,不能写在客户端代码里,要放后端

三、签名生成:唯一一个“烧脑”的地方

芯步的接口用签名来做身份验证,算法是这样的:

sign = md5( md5(AppSecret) + ts )

用人话翻译一下:

  1. 把AppSecret做一次MD5加密,得到一个32位的字符串;

  2. 拿这个字符串拼接上当前的时间戳(ts,单位是秒);

  3. 把拼接后的结果再做一次MD5。

为什么要加时间戳?为了防止别人抓包后重放攻击——签名里带了时间,服务器会校验时间差,超时就拒绝,这样别人截获了请求也重放不了。

注意:时间戳前后误差不能太大(一般是5分钟内有效),所以你的服务器时间要准,最好用NTP同步一下

如果你不想自己写签名逻辑,芯步也提供了各语言的SDK,直接调函数就行。

四、核心接口:怎么下发“开门”命令

准备好上面那些东西之后,真正的控制就一步:发POST请求。

请求地址

请求体(JSON格式)

各设备的命令格式

设备类型开门命令说明
智能墙壁出门开关{"power":1}1表示“接通”(开门),0是“断开”
智能触摸出门开关{"power":1}同上
4路控制器(控制第1路){"power1":1}控制指定线路,power1到power4分别对应四路
需要延时自动复位{"reset":"3000"}先断开,等3000毫秒(3秒)后再接通,适合通电开锁的场景
先通后断{"point":"3000"}先接通,等3秒再断开,适合断电开锁的场景

五、一个完整示例(用curl模拟)

假设:

  • AppID = abc123

  • AppSecret = your_secret_key

  • 设备ID = device_001

  • 你要控制的是“智能墙壁出门开关”

先计算签名(在Linux/Mac终端里):

如果你用的是Windows或者不想手算,可以直接用芯步控制台里的“在线调试”功能,填上参数一键发送

六、接入你自己的系统:两种常见架构

拿到接口能力后,怎么把它揉进你的系统里?两种最常见的玩法:

方案A:自建后端中转(推荐)

  • 优点:签名密钥放服务器,安全;可以做权限控制、开门日志、限流防刷

  • 缺点:需要多写一层接口

方案B:客户端直调

  • 优点:省事,不用写后端

  • 缺点:密钥写在客户端,有泄露风险;谁拿到你的AppSecret就能随意开门

除非你做的只是内部测试或演示,否则走方案A。

七、实战细节:你可能忽略的几个坑

问题原因解决办法
设备没反应设备没连上WiFi或不在线去控制台看设备最后在线时间;设备只支持2.4G WiFi,5G不行
签名错误(sign invalid)时间戳不对或AppSecret写错了检查服务器时间是否准,确认AppSecret没有多余空格
接电插锁没反应继电器输出可能接错了线仔细看接线图,电插锁一般有“通电开锁”和“断电开锁”两种,根据你的锁选对命令
开了马上又关了可能没设自动复位远程开门一般要配合resetpoint,让继电器在几秒后自动复位
响应慢网络延迟或服务器在国外芯步服务器在国内,海外调用买海外加速节点

八、总结:整体流程

  1. 选设备 → 出门开关、密码门禁或控制器

  2. 注册账号 → 拿到AppID、AppSecret

  3. 配网 → 设备连上WiFi(2.4G)

  4. 获取设备ID → 控制台能看到

  5. 写代码 → 计算签名、发POST请求

  6. 联调测试 → 先用手动发请求试试,通了再接入你的系统

  7. 上线 → 注意安全,密钥放后端

如果你只是想快速验证,强烈先在芯步控制台里用“在线调试”功能发一条命令,看到门开了,再开始写代码。能少走很多弯路。

官方文档入口:芯步开放平台 → 开发文档,里面有各语言的SDK和完整的API列表