背景
某学校对新建的实验楼有门禁管理需求,因此我们项目组借助KOB门锁(某宝销量较高的电吸锁和电插锁品牌),搭建了前端(微信小程序和网页),服务器(java服务器和mqtt服务器),单片机(基于stm32,用于控制电插锁),实现了一套完整的门禁管理系统。
项目背景
学校有自己的局域网、服务器和交换机,为了安全和可控的保证,要求必须把我们的服务器和设备都搭建在学校内网里。因此我们的单片机必须通过网口接入交换机,和服务器连接。
项目需求
- who? 知道开门的人是谁
- when? 知道开门的时间,以及开门的持续时间
- where? 知道开的是哪个门,房间号是多少
- how? 知道开门的原因
具体实现
- 单片机:使用stm32f103,和w5500,实现了基于以太网接入的设备,通过mqtt协议,完成对电插锁的控制
- 服务器:使用java和emqx,通过定时器,实现了定时开关门锁;通过账户和权限系统,实现了每个账户名下拥有部分或全部门锁的权限,以及控制门锁开关。
- 前端:具体功能包括,注册登录、开关门锁、定时开关门锁、申请某个门锁的控制权、临时申请某个门锁的控制权。
- mqtt的主题设计,为了便于后期项目推广和复制,主题设计为
/地区/学校名称/大楼名称/房间号/sub /地区/学校名称/大楼名称/房间号/pub 其中pub主题用于向服务器推送门锁状态, sub主题用于接收来自服务器的开关锁指令
、、、未完待续
|