151 3746 0293

行业动态

聚澜智能钥匙柜是一款软硬件一体化物联网钥匙管控设备,依托RFID 射频识别、生物识别、云端管理平台、电磁锁控技术,彻底替代传统纸质登记钥匙管理模式,实现钥匙借还全自动、权限分级管控、存取全程留痕可追溯聚澜智能。
RFID智能钥匙柜产品介绍 + 核心控制代码方案
时间:2026-09-05 16:41:21

一、产品简介

聚澜智能钥匙柜是一款软硬件一体化物联网钥匙管控设备,依托RFID 射频识别、生物识别、云端管理平台、电磁锁控技术,彻底替代传统纸质登记钥匙管理模式,实现钥匙借还全自动、权限分级管控、存取全程留痕可追溯聚澜智能。

柜体采用加厚冷轧钢板钣金工艺,产品线覆盖 10‑200 点位多种规格;分为壁挂小型款、落地大容量款两大形态,可按需定制防爆、恒温除湿、国密加密传输等特殊版本,广泛用于政企机关、公检法、物业园区、酒店、4S 店、工厂机房、轨道交通等场景。

26022_dh37_7559.png

二、核心功能

  1. 多方式身份认证:指纹、人脸、IC 刷卡、密码、APP 远程审批,多重开锁验证方式可选

  2. 分级权限管理:管理员、普通操作人员、临时访客多角色,支持限时临时授权,到期自动回收权限

  3. RFID 在位实时检测:每一把钥匙绑定独立 RFID 电子标签,系统实时判断钥匙取出 / 归还状态,识别准确率可达 99.9%,解决金属环境标签串扰漏读问题

  4. 异常报警机制:超时未归还、暴力开柜、非法取走钥匙触发声光告警,消息推送管理员

  5. 完整操作日志审计:自动记录取还人、钥匙编号、存取时间、用途,日志不可篡改,满足安防合规审计

  6. 系统开放对接:提供标准 HTTP / 串口通信协议,支持对接 OA 系统、门禁平台、内网涉密系统,适配银河麒麟、统信 UOS 国产操作系统

  7. 应急保障:断电保留数据,配备独立机械应急开锁通道,保障故障场景钥匙可取

三、整体技术架构

整套系统三层架构

  1. 硬件层:ESP32/STM32 主控板 + RFID‑RC522 读写模块 + 多路电磁锁控板 + 指纹 / 人脸识别模块 + 触摸屏

  2. 终端层:本地触控程序,负责身份校验、锁控指令下发、钥匙状态读取

  3. 云端后台层:用户权限管理、借还日志存储、远程开锁、设备监控 API 接口

四、示例核心代码(3 套可运行参考代码)

说明:以下为演示参考代码,聚澜智能商用成品使用自研加密通信协议;示例仅展示开锁逻辑、RFID 读取、后端接口原型,不能直接替代原厂控制系统。

代码 1:后端开锁接口 SpringBoot(Java)

import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;

@RestController
@RequestMapping("/api/keyCabinet")
public class KeyCabinetController {

    @Resource
    private LockBoardService lockBoardService;

    /**
     * 钥匙开锁接口
     * @param channel 锁通道编号 1‑50
     * @param keyId 钥匙RFID标签编号
     * @return 开锁结果
     */
    @PostMapping("/openLock/{channel}")
    public Map<String,Object> openLock(@PathVariable Integer channel,
                                       @RequestParam String keyId,
                                       @RequestParam Long userId){
        Map<String,Object> result = new HashMap<>();
        //校验用户是否具备该钥匙权限
        boolean hasAuth = lockBoardService.checkUserAuth(userId,keyId);
        if(!hasAuth){
            result.put("code",500);
            result.put("msg","无取用权限");
            return result;
        }
        //下发串口开锁指令
        boolean openSuccess = lockBoardService.sendOpenCmd(channel);
        if(openSuccess){
            //记录取钥匙日志
            lockBoardService.saveBorrowLog(userId,keyId,channel);
            result.put("code",200);
            result.put("msg","开锁成功,请取走钥匙");
        }else{
            result.put("code",500);
            result.put("msg","开锁失败,硬件指令下发异常");
        }
        return result;
    }

    /**
     * 归还钥匙检测接口
     */
    @PostMapping("/returnKey")
    public Map<String,Object> returnKey(@RequestParam String keyId,
                                         @RequestParam Integer channel){
        Map<String,Object> result = new HashMap<>();
        boolean detectResult = lockBoardService.rfidDetect(channel,keyId);
        if(detectResult){
            lockBoardService.saveReturnLog(keyId,channel);
            result.put("code",200);
            result.put("msg","钥匙归还成功");
        }else {
            result.put("code",500);
            result.put("msg","未检测到钥匙标签");
        }
        return result;
    }
}

代码 2:硬件主控 ESP32 MicroPython RFID + 锁控示例

from machine import Pin,UART
import mfrc522
import time

#初始化串口 对接多路锁控板
uart = UART(2,baudrate=9600,tx=17,rx=16)
#RFID读卡初始化
rdr = mfrc522.MFRC522(spi_id=0,sck=18,mosi=19,miso=5,cs=4,rst=22)

#继电器锁通道引脚定义
lock_channel1 = Pin(23,Pin.OUT)

def open_lock(channel_num:int):
    """开锁指令,通道1开锁2秒自动落锁"""
    if channel_num == 1:
        lock_channel1.on()
        time.sleep(2)
        lock_channel1.off()

def read_rfid_tag():
    """读取钥匙RFID标签UID"""
    (stat,tag_type) = rdr.request(rdr.REQIDL)
    if stat == rdr.OK:
        (stat,uid) = rdr.anticoll()
        if stat == rdr.OK:
            uid_str = "".join([str(i) for i in uid])
            return uid_str
    return None

#主循环
while True:
    tag_uid = read_rfid_tag()
    if tag_uid is not None:
        print("检测钥匙标签UID:",tag_uid)
    #监听后台下发串口开锁指令
    if uart.any()>0:
        recv_data = uart.read().decode()
        if "OPEN_1" in recv_data:
            open_lock(1)
    time.sleep(0.3)

代码 3:前端开锁调用 JS 示例

/**
 * 钥匙柜开锁请求函数
 * @param {number} channelNo 锁通道号
 * @param {string} keyId RFID标签编号
 */
async function unlockKey(channelNo,keyId){
    const userId = localStorage.getItem("loginUserId");
    try{
        const res = await fetch(`/api/keyCabinet/openLock/${channelNo}?keyId=${keyId}&userId=${userId}`,{
            method:"POST"
        })
        const json = await res.json();
        if(json.code === 200){
            alert("开锁成功!请取出钥匙");
        }else{
            alert(json.msg);
        }
    }catch (err){
        console.error("网络异常",err);
    }
}

五、通信协议简要说明(串口)

聚澜系列钥匙柜锁控板串口默认波特率:9600‑8‑N‑1 下发开锁指令示例:#OPEN,01# →打开 1 号钥匙点位; 查询钥匙在位状态指令:#QUERY,01#; 返回报文:#STATUS,01,IN#钥匙在位 /#STATUS,01,OUT#钥匙取出。

六、产品价值总结

聚澜智能钥匙柜把传统钥匙管理由人管人升级成系统管人,降低钥匙丢失、错拿、越权使用风险,全流程数据留痕,大幅降低物业、行政安保的人力管理成本,是政企安防精细化管控的刚需硬件解决方案。


请留下您的联系方式,我们免费为您提供最新方案和报价
提 交
15137460293 发送短信
报名免费获取设计方案及报价