RFID校园消费系统

今天整理以前的文档,发现有个实验小项目,拿出来写下。

目的:通过还原校园消费系统(校园卡消费),学习相关知识
涉及知识:C编程,C++编程,SQL,串口,TCP,SPI,STM32
涉及软硬件:上位机QT5.7 数据库SQlite 硬件 stm32+RC522读卡器 RFID

最后项目成果包括:
数据库,服务器程序,客户端程序,stm32读卡器程序。

整体思路也很简单:通过stm32单片机连RC522读卡器,将RFID卡号读取出来,通过网络将RFID卡号发往服务器查询数据库,进行消费、充值等操作。

数据库设计如下:
在这里插入图片描述
服务器 服务器直接连接数据库,由于我的电脑上mysql的驱动有点问题,就用 SQlite代替。
在这里插入图片描述
客户端 客户端通过tcp/ip连接服务器,通过串口连接stm32
在这里插入图片描述
消费界面 Qt程序方便移植,正在学习将Qt程序移植到ARM开发板上,到时候可以做成嵌入

  • 8
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 38
    评论
硬件连接说明: *RC522 <----->MINISTM32 *1--SDA <----->B0 *2--SCK <----->B13 *3--MOSI<----->B15 *4--MISO<----->B14 *5--悬空 *6--GND <----->GND *7--RST <----->B1 *8--3.3V<----->3.3V *DS18B20与MINISTM32开发板的PA0要连接上 功能: (1)充值 充值的前提是要管理员先刷卡才能进入充值界面,本设计的程序中设定蓝色S50射频卡为管理员身份(如需要可设定多张管理员身份的卡),若不是管理员刷卡则进入不了充值界面,此前提限制了消费者不能随便进入充值模式,既方便了管理员对打卡机的管理,又增加了打卡机的安全性。进入了充值界面后,先由管理员输入相应的充值金额,再到消费者刷卡即可成功充值并显示充值后的余额。 (2)消费 进入消费界面后,管理员输入相应的消费金额,然后消费者刷卡消费系统先判断此卡是否已解锁,若是未解锁(已挂失)则消费失败返回菜单栏,若是已解锁(已解挂)则进入余额判断,若是余额足够便能成功消费并显示消费后的余额,若是余额不足则会消费失败并显示余额。 (3)查询 查询功能的作用是让消费者查询卡内的信息,包括:卡的身份、是否解锁(挂失)、姓名、学会、卡号、卡内余额。消费者拿到卡后需要记住自己的卡号,因为若是自己的卡不慎丢失了需要输入卡号和密码才能挂失和解挂。 (4)挂失/解挂 消费者进入挂失/解挂界面,输入卡号后按确定,再输入6位密码后按确定,接着选择挂失或者解挂,若是挂失,输入卡号和密码正确即可成功挂失,否则挂失失败;若是解挂,除了需要输入卡号和密码正确之外,还要再拿该卡刷卡进行卡号确认,就是说,消费者需要输入和刷卡的卡号一致并且密码正确才能解挂成功,否则解挂失败。已挂失的卡是不能进行消费操作的。 操作界面图 演示视频: TJDZ-RC522射频卡用户使用手册资料、MINISTM32 +RFID程序见附件
充值消费一体机主要基于miniSTM32和RC522模块制作完成。 功能解析: (1)充值 充值的前提是要管理员先刷卡才能进入充值界面,本设计的程序中设定蓝色S50射频卡为管理员身份(如需要可设定多张管理员身份的卡),若不是管理员刷卡则进入不了充值界面,此前提限制了消费者不能随便进入充值模式,既方便了管理员对打卡机的管理,又增加了打卡机的安全性。进入了充值界面后,先由管理员输入相应的充值金额,再到消费者刷卡即可成功充值并显示充值后的余额。 (2)消费 进入消费界面后,管理员输入相应的消费金额,然后消费者刷卡消费系统先判断此卡是否已解锁,若是未解锁(已挂失)则消费失败返回菜单栏,若是已解锁(已解挂)则进入余额判断,若是余额足够便能成功消费并显示消费后的余额,若是余额不足则会消费失败并显示余额。 (3)查询 查询功能的作用是让消费者查询卡内的信息,包括:卡的身份、是否解锁(挂失)、姓名、学会、卡号、卡内余额。消费者拿到卡后需要记住自己的卡号,因为若是自己的卡不慎丢失了需要输入卡号和密码才能挂失和解挂。 (4)挂失/解挂 消费者进入挂失/解挂界面,输入卡号后按确定,再输入6位密码后按确定,接着选择挂失或者解挂,若是挂失,输入卡号和密码正确即可成功挂失,否则挂失失败;若是解挂,除了需要输入卡号和密码正确之外,还要再拿该卡刷卡进行卡号确认,就是说,消费者需要输入和刷卡的卡号一致并且密码正确才能解挂成功,否则解挂失败。已挂失的卡是不能进行消费操作的。 硬件连接: /************************************* *硬件连接说明: *RC522 <----->MINISTM32 * *1--SDA <----->PB0 *2--SCK <----->PB13 *3--MOSI<----->PB15 *4--MISO<----->PB14 *5--悬空 *6--GND <----->GND *7--RST <----->PB1 *8--3.3V<----->3.3V * *DS18B20与MINISTM32开发板的PA0要连接上 **************************************/ 视频演示: 部分操作界面图: MINISTM32 +RFID程序展示:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贪贪贪丶慎独

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值