APP下载

基于QT的Mifare IC卡读卡器上位机软件设计与实现

2021-12-17徐敬

电脑知识与技术 2021年33期
关键词:读卡器

徐敬

摘要:随着物联网不断发展,RFID技术越来越重要,该文设计了一个基于跨平台QT的Mifare IC卡读卡器上位机软件,使用读卡器的动态库,快速验证mifare ic卡的工作原理。首先分析了Mifare IC卡的内部结构和读卡器的通信过程,然后使用QT Creator的图形界面控件快速实现上位机软件界面,通过调用读卡器的动态库很好完成卡片的读写功能。经过实验验证,该上位机软件满足设计的要求。

关键词:RFID;QT;读卡器;上位机软件

中图分类号:TP368      文献标识码:A

文章编号:1009-3044(2021)33-0124-03

开放科学(资源服务)标识码(OSID):

Design and Implementation of Upper Monitor for Mifare IC Card Reader Based on QT

XU Jing

(Modern educational technology center, China Jiliang University, Hangzhou 310018, China)

Abstract:With the development of the Internet of Things, RFID technology is becoming more and more important. This paper designs a software for the upper monitor of mifare ic card reader based on the cross-platform QT, and uses the dynamic library of the card reader to quickly verify the working principle of Mifare IC card. Firstly, the internal structure of Mifare IC card and the communication process of card reader are analyzed. Then, the GUI of upper monitor is quickly realized by using the graphical interface control of QT Creator, and the reading and writing function of card is well completed by calling the dynamic library of card reader. After experimental verification, the upper monitor meets the design requirements.

Key words: RFID; QT; card reader; upper monitor

RFID射频识别,它通过射频信号自动识别目标,获取相关数据。RFID可以识别高速运动的物体,可以同时识别多个目标,不需要光源和使用寿命长。RFID卡包括ID卡、IC卡和NFC卡以及电子标签。MIFARE卡常用于智能楼宇[1]、住宅小区和企业公司、校园智能化“一卡通”管理[2-4]等。随着物联网不断发展,RFID技术越来越重要,可以通过读卡器上位机软件开发,掌握RFID相关知识。

1 读卡器工作原理

Mifare 1 非接触式IC卡是荷兰NXP半导体公司发明。Mifare 1卡的RF非接触式接口符合IS0/IEC 14443 TYPE A标准[5]。Mifare 1卡具有使用广泛、技术成熟、性能稳定等优点。它制卡成本低,使用简单,抗干扰能力强,安全性好,适合于一卡多用。

M1卡包含一个高速RF射频接口电路和数字电路。防碰撞电路,处理多张卡片访问冲突问题,一次只能访问一张卡。认证控制电路,验证某个扇区的读写密码。M1卡数据保存在EEPROM存储单元,EEPROM存储单元可以擦除数据后再次写入,实现数据修改。控制与算术单元是卡片的控制中心,对数据进行运算,递增递减,CRC运算,加密处理等。M1卡的内部结构如图1所示。

卡呼叫,读卡器发送一个请求信号,卡片收到请求信号后回复应答信号,应答包含卡片的类型。读卡器防冲突机制从多张卡片选择一个卡进行操作,未选中的卡不参加这次读写。读卡器选定卡片后,使用被访问扇区的密码进行卡认证。每个扇区只有通过密码认证才可以读写卡的对应扇区数据[6]。M1卡认证过程,需要使用扇区密码,对读卡器和卡片通信数据进行加密,无线信号很容易被截获。读写器的通信流程如图2所示。

2 读卡器上位机软件设计

2.1 读卡器的动态库

读卡器提供了开发功能的动态库,可以使用动态库进行二次开发。动态库支持Mifare IC卡所有功能操作,例如选卡、卡认证、读写卡、修改密码、休眠卡等。读卡器的动态库导出的函数如表1。

2.2 界面设计

Qt是一个跨平台C++应用程序开发工具,可以快速开发GUI程序和非GUI程序。Qt有可视化图形界面编辑器Qt Designer,拖拽Qt控件快速设计应用程序界面,使用信号和槽处理应用程序事件。Qt常用控件包括按鈕,单选框,复选框,分组框,树视图,表格视图,文本等。Qt应用程序移植非常方便,可以根据不同操作系统进行转换。

读卡器上位机软件使用windows qt开发,使用图形界面按钮控件,label控件,textedit控件,textBrowser控件,tableview控件。读卡器上位机软件通过textedit控件输入扇区号,块号和密码A。textBrowser控件用于显示命令的执行结果,例如读取卡类型命令的返回结果。tableview控件用于显示某扇区的数据,和写入某扇区的数据。上位机软件界面如图3所示。

2.3 软件功能实现

读卡类型,打开读卡器动态库,查找pcdgetdevicenumber函数的调用地址,通过pcdgetdevicenumber函数指针调用,获得卡片的设备id号,判断卡的类型。读扇区数据,从软件界面输入框获取扇区号和扇区密码,打开读卡器动态库,查找piccreadex函数的调用地址,设置扇区的控制字,调用piccreadex函数,获得卡片的序列号和扇区数据,在软件的卡数据区表格显示扇区0-2块的数据。写入扇区数据,修改软件的卡数据表格里面的数据,程序读取卡数据区表格里面数据,并读取扇区的密码A和扇区号,调用piccwriteex函数,把数据写入卡片。写入扇区数据如图4所示。

修改扇区密码,从软件输入框读取扇区号,原扇区密码和新扇區密码,设置扇区访问控制字,调用piccchangesinglekey函数修改对应扇区的密码,检查piccchangesinglekey函数返回值,返回值是0,显示扇区密码修改成功,否则显示扇区密码修改失败原因。

3 实验结果与分析

读卡器上位机软件启动后,点击读卡类型按钮,信息返回文本框显示卡片的设备id。上位机软件填写扇区号,块号和密码A(6字节),点击读扇区数据按钮,卡数据区文本框显示卡片的对应扇区数据内容,扇区的数据是48字节,不包含扇区的第3块中密码和控制字。修改卡数据区的扇区数据数值,点击写入扇区数据按钮,修改后的数据写回到对应扇区。读卡器上位机软件,密码框填写对应扇区密码A,新密码框填写新扇区密码A,点击修改扇区密码A按钮,可以修改卡的对应扇区密码A。实验结果如图5所示。

4 结束语

本文通过windows QT开发工具,使用gui控件,设计和实现了一个简明的读卡器上位机软件。该上位机软件可以读取Mifare IC卡的序列号,并且通过密码A读取和写入卡片的扇区数据。文中详细描述了Mifare IC卡的内部结构,IC卡与读卡器的通信过程,对读卡器读写过程进行了详细说明。该读卡器上位机软件很好验证了Mifare IC卡读卡器的工作原理,上位机软件功能待后续进一步增强。

参考文献:

[1] 陈华莉,王天兵,王继刚.基于MIFARE技术的智能化RFID门禁管理系统设计[J].电子世界,2017(23):146-147.

[2] 刘玉普.高校校园卡系统应用现状及趋势分析[J].信息化建设,2015(12):30.

[3] 谢宇威,李杭彩,程艳旗,等.校园卡支付体系探索与实践[J].深圳大学学报(理工版),2020,37(S1):134-138.

[4] 熊伟,宫禹,尹斐斐.高校智慧校园卡规划与实现[J].信息技术与信息化,2020(7):178-182.

[5] 王悦.RFID安全认证协议研究[J].网络安全技术与应用,2020(5):42-44.

[6] 韩进,马双.基于STM32的Mifare IC卡读写卡器设计[J].电子产品世界,2016,23(4):31-34.

【通联编辑:谢媛媛】

猜你喜欢

读卡器
颜值与功能并重
基于EMV非接通信规范的非接触读卡器设计
多合一读卡器
为二维码识别的献礼之作——评测平治二维码门禁读卡器
MATLAB实现组态王中TCP/IP读卡器监控方法