芯步的开放接口挺直接的,核心思路就是:用一个智能继电器/控制器去“代替”手动开关,然后通过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电源的通断。所以,核心部件就是一个 “智能继电器” 。在芯步的产品线里,你可以关注这两款:
智能控制器 4路(直流电压版):这是首选。它有4路输出,意味着你可以控制4个门(或者1个门加几个传感器)。支持DC 12V输出,刚好匹配锁具的电压,而且支持独立控制每一路。
智能WiFi墙壁出门开关:如果你是想改造现有的墙壁开关,这个很合适。它长得像普通开关,但内部藏了个继电器,装在86底盒里,完美伪装。
一个小提醒:买的时候注意看是“直流版”。咱们的锁基本都是DC 12V工作的,别买成交流版了,带不动的。
二、 核心逻辑:代码里怎么发指令?
硬件装好了,重头戏来了。芯步的接口非常标准,就是发HTTP请求。说白了,就是访问一个网址,告诉它“哪个设备,做什么动作”。
1. 先准备好“钥匙”
AppID 和 AppSecret:在芯步后台注册账号就能拿到。
Device ID:你那个控制器的设备编号,贴纸上有,后台里也能看到。
2. 签名计算这一步是为了安全,稍微有点绕,但其实就是一个公式。给你一个极简伪代码版本,看完瞬间就懂了:
算出签名后,把它和当前的时间戳一起放到请求地址里就行。
3. 下发“开门”指令这是最爽的一步。假设你想开第一个门(线路1),这就是你需要发出的HTTP请求,其实就是一段JSON数据
请注意:这里power1后面的0代表“断开”电源。对于“通电上锁”类型的锁来说,断开电源就是开门。
如果你想实现“按一下开门,过5秒自动锁上”,不用在后端写定时器,设备自己就支持。指令改成下面这样就行
这个reset就是“先断开,等5000毫秒后再接通”。完美契合“按一下开门,人走过后自动锁门”的场景。
4. 完整示例如果你用Java开发,配合OkHttp库,代码会非常简洁。如果你用的是Python,原理也完全一样。比如你用curl命令测试,直接复制这段就能跑(记得替换里面的AppId、设备ID和密码):
三、 进阶&避坑指南
异步反馈(非常重要)HTTP接口返回
200只代表指令发出去了,不代表门真的开了(万一设备掉线了呢)。所以,如果是重要场景(比如远程开自己家的门),最好用 MQTT 或者接收云端的消息推送。当设备真正执行了动作,云端会给你发一个“执行成功”的通知,收到这个通知,你才敢放心告诉用户“门开了”。用MQTT还是HTTP?
HTTP:简单,适合管理后台、偶尔点一下开门按钮。
MQTT:实时性更高,适合做自动化联动。比如配合门磁传感器(也是芯步的),当检测到门关上了,自动触发“上锁”指令。
兼容各种锁有的锁是“断电开锁”,有的是“断电锁死”。芯步的设备指令很灵活,你完全可以通过软件逻辑来适配。如果
power1:0是开,那power1:1就是关,接反了在代码里改一下就行,不用拆线。
总结一下
芯步的开放接口对接智能门锁,其实就三步:
连硬件:把锁的红黑线接到控制器的COM和NO口。
配网络:给控制器连上WiFi。
调接口:发一条HTTP请求,里面带上设备ID和
{"power1":0}。