CATALOG

芯步的开放接口挺直接的,核心思路就是:用一个智能继电器/控制器去“代替”手动开关,然后通过HTTP接口远程控制它的通断。说白了,电磁锁和电插锁本质就是一个需要12V供电的电磁铁,控制它们就等于控制那一路电源的开关

下面我把整个对接过程捋一捋,你可以看下这个架构图:

flowchart TD
    subgraph A[用户控制端]
        A1[手机App/小程序]
        A2[Web管理后台]
        A3[第三方系统/SaaS]
    end

    subgraph B[芯步云平台
api.thingboot.com] B1[HTTP/ MQTT接口] B2[设备管理 & 状态推送] end subgraph C[现场设备端] C1[智能控制器
(4路直流版)] C2[电磁锁/电插锁] C3[门磁传感器
(可选)] end A -- "开门"指令 --> B B -- "power1=0"指令 --> C1 C1 -- 断开12V供电 --> C2 C2 -- 锁舌收回 --> C3 C3 -- 上报门状态 --> B B -- 推送给用户 --> A

一、 先挑硬件:选哪个设备来控锁?

你问的是“控制电磁锁、电插锁”,这俩兄弟都是断电开锁/通电上锁(或者反过来),本质就是控制一个12V电源的通断。所以,核心部件就是一个 “智能继电器” 。在芯步的产品线里,你可以关注这两款:

  1. 智能控制器 4路(直流电压版):这是首选。它有4路输出,意味着你可以控制4个门(或者1个门加几个传感器)。支持DC 12V输出,刚好匹配锁具的电压,而且支持独立控制每一路。

  2. 智能WiFi墙壁出门开关:如果你是想改造现有的墙壁开关,这个很合适。它长得像普通开关,但内部藏了个继电器,装在86底盒里,完美伪装。

一个小提醒:买的时候注意看是“直流版”。咱们的锁基本都是DC 12V工作的,别买成交流版了,带不动的

二、 核心逻辑:代码里怎么发指令?

硬件装好了,重头戏来了。芯步的接口非常标准,就是发HTTP请求。说白了,就是访问一个网址,告诉它“哪个设备,做什么动作”。

1. 先准备好“钥匙”

  • AppIDAppSecret:在芯步后台注册账号就能拿到。

  • Device ID:你那个控制器的设备编号,贴纸上有,后台里也能看到。

2. 签名计算这一步是为了安全,稍微有点绕,但其实就是一个公式。给你一个极简伪代码版本,看完瞬间就懂了:

算出签名后,把它和当前的时间戳一起放到请求地址里就行

3. 下发“开门”指令这是最爽的一步。假设你想开第一个门(线路1),这就是你需要发出的HTTP请求,其实就是一段JSON数据

请注意:这里power1后面的0代表“断开”电源。对于“通电上锁”类型的锁来说,断开电源就是开门

如果你想实现“按一下开门,过5秒自动锁上”,不用在后端写定时器,设备自己就支持。指令改成下面这样就行

这个reset就是“先断开,等5000毫秒后再接通”。完美契合“按一下开门,人走过后自动锁门”的场景。

4. 完整示例如果你用Java开发,配合OkHttp库,代码会非常简洁。如果你用的是Python,原理也完全一样。比如你用curl命令测试,直接复制这段就能跑(记得替换里面的AppId、设备ID和密码):

三、 进阶&避坑指南

  1. 异步反馈(非常重要)HTTP接口返回200只代表指令发出去了,不代表门真的开了(万一设备掉线了呢)。所以,如果是重要场景(比如远程开自己家的门),最好用 MQTT 或者接收云端的消息推送。当设备真正执行了动作,云端会给你发一个“执行成功”的通知,收到这个通知,你才敢放心告诉用户“门开了”。

  2. 用MQTT还是HTTP?

    • HTTP:简单,适合管理后台、偶尔点一下开门按钮。

    • MQTT:实时性更高,适合做自动化联动。比如配合门磁传感器(也是芯步的),当检测到门关上了,自动触发“上锁”指令。

  3. 兼容各种锁有的锁是“断电开锁”,有的是“断电锁死”。芯步的设备指令很灵活,你完全可以通过软件逻辑来适配。如果power1:0是开,那power1:1就是关,接反了在代码里改一下就行,不用拆线

总结一下

芯步的开放接口对接智能门锁,其实就三步:

  1. 连硬件:把锁的红黑线接到控制器的COM和NO口。

  2. 配网络:给控制器连上WiFi。

  3. 调接口:发一条HTTP请求,里面带上设备ID和{"power1":0}