教室管理系统(相关技术和设备:stm32、w5500、mqtt)

4 篇文章 1 订阅

背景

某学校对新建的实验楼有门禁管理需求,因此我们项目组借助KOB门锁(某宝销量较高的电吸锁和电插锁品牌),搭建了前端(微信小程序和网页),服务器(java服务器和mqtt服务器),单片机(基于stm32,用于控制电插锁),实现了一套完整的门禁管理系统。

项目背景

学校有自己的局域网、服务器和交换机,为了安全和可控的保证,要求必须把我们的服务器和设备都搭建在学校内网里。因此我们的单片机必须通过网口接入交换机,和服务器连接。

项目需求

  1. who? 知道开门的人是谁
  2. when? 知道开门的时间,以及开门的持续时间
  3. where? 知道开的是哪个门,房间号是多少
  4. how? 知道开门的原因

具体实现

  1. 单片机:使用stm32f103,和w5500,实现了基于以太网接入的设备,通过mqtt协议,完成对电插锁的控制;通过继电器,实现对教室电路的开关控制
  2. 服务器:使用java和emqx,通过定时器,实现了定时开关门锁;通过账户和权限系统,实现了每个账户名下拥有部分或全部门锁的权限,以及控制门锁开关。
  3. 前端:具体功能包括,注册登录、开关门锁、定时开关门锁、申请某个门锁的控制权、临时申请某个门锁的控制权。
  4. mqtt的主题设计,为了便于后期项目推广和复制,主题设计为
    /地区/学校名称/大楼名称/房间号/sub
    /地区/学校名称/大楼名称/房间号/pub
    其中pub主题用于向服务器推送门锁状态,
    sub主题用于接收来自服务器的开关锁指令

流程

首先是连接方式:
前端(websocket)<--------->(websocket)服务器(mqtt)<--------->(mqtt)控制设备<--------->(继电器)门锁

其次是通讯流程,
1.控制设备每间隔10秒发送一次心跳包,心跳包内容为门锁状态。
2.服务器每次接收到心跳包,转发至前端展示。
3.前端查看状态,发送开门关门指令
4.控制设备接收到开门关门指令,执行指令,并立即发送门锁状态

硬件设计

1.w5500,封装了tcp/ip协议,同时支持多种网络配置方式,本项目由于设备数量大,选择了DHCP方式,自动配置ip地址,
2.KOB门锁,主要有4根线,电源线12v,接地GND,控制线(高电平开门,低电平关门),状态检测线(检测到高电平说明门未闭合,低电平说明门闭合)。
3.继电器,用小电压控制大电压开关的一种元器件。从而实现用单片机的GPIO控制门锁开关和教师电源通断。
4.lcd屏幕2.4寸,为了绑定设备信息(楼层,房间号、MQTT主题、唯一设备名称)通过二维码源码,生成设备信息,用于微信小程序自动绑定设备,从而在服务器保存信息。

未完待续。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值