芯步的12键密码门禁支持最多30个“永久有效、断电不丢失”的密码,适合长期授权场景(如员工、租户)。以下是基于其开放HTTP接口的完整对接方案。
1. 准备工作
在开始对接之前,请确保完成以下硬件与账户准备:
硬件通电与配网
将12键密码门禁通电,并使用手机APP(或其他配置工具)将其连接至2.4G WiFi网络。
注意:设备必须联网才能接收HTTP指令。
获取凭证
登录芯步官网控制台。
在“开发设置”中获取三个关键值:
AppID(应用ID)、AppSecret(开发者密码)、以及设备的唯一标识Device ID(设备ID)。
2. 接口鉴权(签名计算)
芯步的HTTP接口采用动态签名验证,所有请求都必须携带sign(签名)和ts(时间戳)。签名生成逻辑如下(通用伪代码/逻辑):
将你的
AppSecret进行一次MD5加密,得到secret_md5。将
secret_md5与当前Unix时间戳(秒,即ts)进行拼接。将拼接后的字符串再次进行MD5加密,得到最终的
sign。
算法公式sign = MD5( MD5(AppSecret) + ts )
例子:假设
AppSecret是 "abc123",ts是 "1700000000"。 先计算出MD5("abc123")= "e99a18c428cb38d5f22...", 然后计算MD5("e99a18c4...22...1700000000")得到最终签名。
3. 核心对接流程:永久密码管理
针对“永久密码管理”,主要涉及三个核心操作:设置密码、查询列表、删除密码。请求地址统一为:https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}。
3.1 设置/添加永久密码
通过向设备下发 pwd 命令可以实现。该设备支持30个永久密码位,且断电不丢失。
接口命令
{"pwd":"密码内容"}(注意:若需指定序号请参考设备文档,默认可不填)请求示例
业务逻辑关联:在对接管理系统中,当管理员点击“添加员工”或“授权租客”时,后台调用此接口。将生成的密码与系统内部的用户ID(UserID)进行绑定存储,以便后续管理。
3.2 查询所有密码列表
在删除或审计前,通常需要先获取当前设备上已存储的密码列表。
接口命令
{"list":1}请求示例
返回处理:接口会返回当前设备存储的所有密码及其序号。系统可解析该列表,与本地数据库对比,用于同步状态或展示给管理员。
3.3 删除永久密码
当人员离职、租客退租或更换密码时,必须执行删除操作,以保障安全。
接口命令:支持按密码删除或按序号删除。
按密码删
{"delete":"密码内容"}按序号删:(将密码位的编号传进去)
请求示例
永远不要使用“清空密码”命令(
{"clear":1})进行日常管理,该命令仅适用于设备初始化。
4. 系统架构与逻辑
为了实现“管理系统化”,在您的服务器端建立以下逻辑:
数据库设计建立一个
门禁权限表,包含字段:设备ID、用户ID、密码值、类型(永久/临时)、生效时间、创建时间。状态同步机制
主动下发:管理员操作UI -> 后端计算Sign -> 调用API设置密码 -> 数据库记录日志。
被动接收:设备支持事件上报。当有人按密码开门时,设备会通过HTTP上报开门事件(包含“谁开的门”)。
您需要在控制台配置“回调URL”,用于接收开门记录。收到回调后,更新数据库中的“最后使用时间”。
异常处理
如果调用
设置密码接口返回失败(如网络超时),您的系统应重试3次。若仍失败,标记设备离线并在管理界面提示管理员。
5. 常见问题与排查
签名错误
检查时间戳
ts是否为秒级(10位数字),不是毫秒级(13位)。确保拼接顺序是 MD5结果+时间戳,中间无任何符号。
密码不生效
确认门禁设备WiFi信号良好(设备需联网同步时间,若时间不准可能导致有时效的密码异常,但永久密码一般不受影响)。
确认发送的密码位数是否符合设备限制(通常为4-8位)。
数量限制
该型号明确标注仅支持30个永久密码。当您的系统提示需要新增第31个永久密码时,API会报错。您的管理软件必须加入校验逻辑:提示管理员“已达上限,请先删除旧密码”。
6. 总结
对接芯步12键密码门禁实现永久密码管理,核心在于利用 pwd 和 delete 两个HTTP指令。将设备API封装成独立的 “门禁服务层” ,上层业务系统无需关心硬件协议,只需调用“授权用户”和“注销用户”的内部函数即可,这样可以有效屏蔽硬件细节,便于后续维护。