Open-Locker 开源智能储物柜

这是德国哈梅林 - 皮尔蒙特县(Hameln-Pyrmont)智慧城市计划下的全栈开源公共储物柜系统,包含软件代码、硬件图纸、柜体生产指南,开源协议为 MIT 许可证。

Open-Locker 开源智能储物柜封面
oshw_hqzl2026-06-17 18:23:11MIT
51
Star

PCBA

设计文件

KiCad图标Open-Locker-main.zip3.52MB(1次下载)

EDA查看器

复制嵌入代码

详细介绍

这是德国哈梅林 - 皮尔蒙特县(Hameln-Pyrmont)智慧城市计划下的全栈开源公共储物柜系统,包含软件代码、硬件图纸、柜体生产指南,开源协议为 MIT 许可证。

一、项目背景与目标

1. 项目起源

该项目诞生于 2024 年本地黑客松(HamelnHack),团队凭借智能储物柜原型获得最佳原型奖,后续由当地智慧城市项目持续资助开发,面向县域公共场景提供物品寄存服务。

2. 核心业务场景

面向县域居民开放共享储物柜,用于寄存笔记本电脑、VR 设备等大件物品,替代传统临时寄存点;同时提供高度自定义能力,各县可按需二次开发适配本地需求。

3. 开发初衷

开发团队以实战为导向,在落地便民产品的同时,提升物联网、全栈开发、硬件设计相关技术能力。

二、整体架构(Monorepo 单仓库多组件)

仓库采用单体仓库管理全部软硬件代码,分为五大核心模块:

模块

技术栈

功能说明

locker-backend(后端 API)

Laravel 11 + Filament + Sanctum + SQLite

业务管理 API、后台管理面板、用户 / 储物柜 / 订单管理、MQTT 硬件通信服务

mobile-app(移动端)

React Native (Expo) + TypeScript

居民用户 APP,实现物品借取、储物柜预约、状态查询,支持 iOS/Android 双端

hardware(硬件层)

Raspberry Pi + Modbus + KiCad

储物柜主控硬件图纸、电路设计、树莓派客户端程序(locker-client),通过 Modbus 控制锁具

docs(文档)

Markdown

系统架构、部署、硬件装配、API 开发规范全套文档

CI / 工具链

Docker、Task、Cursor Rules

容器化部署、自动化测试、代码规范校验脚本

系统完整数据流

  1. IoT 硬件:树莓派(locker-client)通过 Modbus 驱动物理储物柜锁具

  2. 消息中间件:Mosquitto MQTT 服务,承载硬件与后端的双向通信,配套 HTTP 鉴权

  3. 业务 API:Laravel 后端统一管理用户、柜体、租借订单

  4. 用户端:React Native 手机 APP,面向普通市民操作

  5. 管理端:Filament Web 管理后台,供运营人员监控柜体、处理工单

三、技术栈明细

后端服务

  • 框架:Laravel 11、Filament(后台面板)

  • 鉴权:Laravel Sanctum

  • 数据库:SQLite(轻量化部署)

  • IoT 通信:Mosquitto MQTT Broker

移动端

  • 框架:React Native (Expo)

  • 语言:TypeScript

硬件 & 通信

  • 主控:Raspberry Pi

  • 底层协议:Modbus(柜体锁控)、MQTT(云边通信)

  • 电路设计:KiCad(硬件 PCB 图纸)

开发 & 部署工具

Docker Compose、Task(任务调度)、OpenAPI、Scramble(接口文档)

四、快速上手部署

前置依赖

  • Docker + Docker Compose(必选)

  • Task 任务运行器(可选,简化命令)

安装指引

完整部署步骤(后端、树莓派硬件客户端)见仓库内 docs/installation.md,支持一键容器化启动整套服务。

五、文档体系

仓库提供分层完整文档:

  1. 后端开发文档:API 规范、OpenAPI 接口文档、MQTT 硬件对接指南、测试与生产部署方案

  2. 移动端文档:Expo 项目结构、状态管理、跨平台编译、API 对接模式

  3. 架构文档docs/architecture.md 包含组件交互图、数据流、软硬件边界、技术栈选型说明

六、开源价值

  1. 软硬件完全开源,城市可零成本搭建本地寄存基础设施

  2. 适配社区共享、智慧城市便民场景,支持旧工业柜体改造复用

  3. 无厂商锁定,可自由二次开发、定制本地化功能

七、开源协议

项目整体采用 MIT 开源许可证,可商用、修改、分发,仅需保留版权声明。

八、项目地址

https://github.com/Open-Locker/Open-Locker