实验一 RFID设备调试及软件开发学Word文档格式.docx
- 文档编号:18499363
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:41
- 大小:3.14MB
实验一 RFID设备调试及软件开发学Word文档格式.docx
《实验一 RFID设备调试及软件开发学Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验一 RFID设备调试及软件开发学Word文档格式.docx(41页珍藏版)》请在冰豆网上搜索。
ExtenData
END
2Byte
1Byte
6Byte
说明:
SOF:
固定为0xEE0xCC,标志一帧的开始。
Sensortyple:
传感器类型,RFID为0xFE。
Sensorid:
固定为0x01,为RFID读卡器的编号。
Cmdid:
命令ID,0x01为充值,0x02为扣款,0x03为查询。
ID0~3:
4字节卡号
DATA0~3:
4字节数据
END:
固定为0xFF,标志一帧的结束。
CBT-IOTHFRFID模块充值扣费功能通信协议详细说明:
识别:
发送:
不用发送指令,读卡器一直在不停的读卡
返回:
EECCFE0103XXXXXXXXXXXXXXXXFF
充值:
CCEEFE0101XXXXXXXXFF(ID省略)
EECCFE0101XXXXXXXXXXXXXXXXFF
扣款:
CCEEFE0102XXXXXXXXFF(ID省略)
EECCFE0102XXXXXXXXXXXXXXXXFF
2、FR105HF高频读写器
FR105读卡器特点:
●支持协议:
ISO15693、ISO14443A协议
●读卡距离:
10cm
DC5V1A
●通信接口:
RS232串口
波特率115200/57600bps,数据位8,停止位1,无校验位
3、FR1200UHF超高频读写器
FR1200超高频读写器特点:
902~928MHz(可根据用户需要定制)
●工作方式:
以广谱跳频或定频发射方式
●射频功率:
10~30dBm
ISO-18000-6C(EPCG2)标准
3-5米(和标签及天线有关)
●平均功耗:
小于10瓦
DC5V2A
RS232
波特率57600bps,数据位8,停止位1,无校验位
发送指令:
SOFLENCMD[DATA]END
接收数据:
SOFLENCMDSTATUS[DATA]END
解释:
SOF:
固定为0xAA,数据帧的起始标志。
LEN:
数据帧的长度,不包括数据帧的起始标志0xAA。
CMD:
命令ID及参数,简单命令无参数。
连接设备0x00,读取功率0x01,设置功率0x02,读取频率0x05,设置频率0x06,单标签识别0x10,防碰撞识别0x11,停止识别0x12。
STATUS:
命令执行结果,执行成功通常为0x00,或0x01;
DATA:
命令参数,或返回的数据,例如标签号、读取的数据。
部分指令无DATA部分。
END:
固定为0x55。
4、ISO18000-6C电子标签
协议规定,标签存储器分为四个存储体,每个存储体可以由一个或一个以上的存储器组成。
a)保留内存保留内存应包含杀死口令和访问口令。
杀死口令应存储在00h至1Fn的存储地址内。
访问口令应存储在20h至3Fn的存储地址内。
b)EPC存储器EPC存储器应包含在00h至1Fn存储位置的CRC-16、在10h至1Fh存储地址的协议-控制(PC)位和在20h开始的EPC。
PC被划分成10h至14Fh存储位置的EPC长度、15h至17Fh存储位置的RFU位和在18h至1Fh存储位置的编号系统识别(NSI),CRC-16、PC、EPC应优先存储MSB(EPC的MSB应存储在20h的存储位置)。
c)TID存储器TID存储器应包含00h至07n存储位置的8位ISO15963分配类识别(对于EPCglobal为111000102)、08h至13n存储位置的12位任务掩模设计识别(EPCglobal成员免费)和14h至1Fn存储位置的12位标签型号。
标签可以在1Fn以上的TID存储器中包含标签指定数据和提供商指定数据(例如,标签序号)。
d)用户存储器用户存储器允许存储用户指定数据。
该存储器组织为用户定义。
Ø
杀死口令
保留内存的00h至1Fh存储电子标签的杀死口令,杀死口令为1word,即2bytes。
电子标签出厂时的默认杀死指令为0000h。
用户可以对杀死指令进行修改。
用户可以对杀死口令进行锁存,一经锁存后,用户必须提供正确的访问口令,才能对杀死口令进行读写。
访问口令
保留内存的20h至3Fh存储电子标签的访问口令,访问口令为1word,即2bytes。
电子标签出厂时的默认访问指令为0000h。
用户可以对访问指令进行修改。
用户可以对访问口令进行锁存,一经锁存后,用户必须提供正确的访问口令,才能对访问口令进行读写。
EPC
EPC为识别标签对象的电子产品码。
EPC存储在以20h存储地址开始的EPC存储器内,MSB优先。
询问机可以发出选择命令,包括全部或部分规范的EPC。
询问机可以发出ACK命令,使标签反向散射其PC、EPC和CRC-16(在特定情况下该标签可以截断应答-参见6.3.2.10.1.1)。
最后,询问机可以发出Read命令,读取整个或部分EPC。
PC+EPC也称为UII。
注意:
实验过程中,请勿随意修改访问口令、杀死口令。
5、CBT-IOT继电器模块
继电器模块特点:
●型号:
CBT-RelaySwitch
●处理器:
STM8S
●开关通道:
1路
●动作时间:
≤8ms
●释放时间:
≤5ms
UART(TTL电平),可插在CBT串口调试板上使用
●触电形式:
1A
●触电负载:
10A125VAC;
5A250VAC;
5A30VDC
●阻抗:
≤100mΩ
●电器寿命:
≥10万回
●供电:
DC5V,由调试板供电
波特率115200,数据位8,停止位1,无校验位。
传感器发送串口数据包:
传感器类型,继电器为0x0F。
固定为0x01。
Data:
:
为6Byte传感器数据域,打开000000000001,关闭000000000000。
ExtenData:
固定为0x0000,为2Byte扩展数据域。
6、RFID读写器调试过程
调试思路及过程:
1、运行PC端RFID软件,通过菜单、按钮等操作,测试RFID读卡器。
主要操作为参数设定、单卡识别、多卡识别、数据块写入、数据块读取。
2、串口工具接收到PC端软件通过上位机向读卡器发出的各种指令。
3、串口工具模拟PC端RFID软件,发出各种操作指令,并接收读卡器回复数据,进行分析。
PC端软件串口调试工具
7、QT串口编程
在Qt中并没有特定的串口控制类,大部分人使用的是第三方写的qextserialport类。
windows下只需要使用其中的6个文件:
●qextserialbase.cpp和qextserialbase.h
●qextserialport.cpp和qextserialport.h
●win_qextserialport.cpp和win_qextserialport.h
如果在Linux下只需将win_qextserialport.cpp和win_qextserialport.h换为posix_qextserialport.cpp和posix_qextserialport.h即可。
使用方法:
(1)将上面所说的6个文件复制到工程文件夹下。
(2)在QtCreator中左侧的文件列表上,鼠标右击工程文件夹,在弹出的菜单中选择AddExistingFiles,添加这6个文件。
(3)在需要使用串口类的窗口类的头文件中:
添加头文件#include"
win_qextserialport.h"
添加对象声明Win_QextSerialPort*myCom
添加槽函数声明voidreadMyCom()
(4)窗口类.cpp的类的构造函数,或“打开串口”按钮中添加初始化串口语句。
myCom=newQextSerialPort(portName,QextSerialBase:
:
EventDriven);
myCom->
open(QIODevice:
ReadWrite);
…………//设置波特率、等
connect(myCom,SIGNAL(readyRead()),this,SLOT(readMyCom()));
(5)在.cpp添加readMyCom()函数代码,实现串口数据的接收和处理。
QByteArraytemp=myCom->
readAll();
…………//数据分析及处理
四、实验设备及工具
硬件:
CBT-IOT赛百特物联网实验箱(HFRFID模块、继电器模块)、FR105读卡器、FR1200读卡器,配套RFID卡片ISO14443A、ISO15693、ISO18000-6C若干。
软件:
QT5.0环境的Windows系统。
五、实验步骤
1、软件安装(1分)
1、安装实验箱USB转串口线驱动
程序:
(1)Z-tek-ZE533-CDM20830_Setup;
(2)HL-340
安装方法:
(1)直接运行安装包内的可执行程序。
(2)手动指定驱动程序位置,进行驱动安装和更新。
安装成功后,将USB转串口线的USB接口一端插入笔记本电脑,查看“设备管理器”--“端口”,记录其串口号。
注意:
(1)更换笔记本电脑的插入USB接口,其串口号可能会变化。
建议实验过程中,一直插入一个固定不变的USB接口。
(2)如果串口号大于COM8,则需要手动修改,右键点击该设备,选择“属性”—“端口设置”—“高级”—“COM端口号”,在下拉列表中选择小的。
图:
USB转串口设备号
手动更改串口号
记录实验串口设备号(USB转串口线):
2、安装实验箱串口调试板驱动:
驱动CBTUSB2UART模块驱动
将CBTUSB串口调试板的USB接口一端插入笔记本电脑,查看“设备管理器”,发现该设备,自动弹出驱动安装界面。
或者手动右键点击该设备(通常前面有个黄色感叹号),选择“更新驱动”。
之后选择手动选择驱动安装路径,浏览目录,找到解压后的驱动安装包路径,按照提示进行后续操作。
安装成功后,查看“设备管理器”--“端口”,记录其串口号。
记录实验串口设备号(CBT串口调试板):
3、安装串口调试助手:
串口调试工具AccessPort.rar,绿色免安装,解压后可直接用。
4、下载、解压“PC端程序”包,里面包含了各种RFID读卡器的PC端演示程序,绿色免安装。
2、CBT-IOTHF模块调试(2分)
1、物理连接和设置
HFRFID模块拨码开关设为“___|”,其他模块设为“____”。
即,只有HFRFID模块使用DebugUART进行输出调试。
并打开模块下方的电源开关,以及实验箱左上角的电源开关。
通信线路:
笔记本USB接口——USB转串口线——RS232串口线——实验箱DebugUART接口——HFRFID模块。
2、使用串口调试工具AccessPort调试
运行AccessPort,设置好串口号及相关参数,收发数据皆为Hex格式,打开串口。
C
将RFID卡放置在其读写器感应区域内,读卡器读卡,并发出“滴”的声音,代表正确识别了该RFID卡片。
然后按照协议分析该数据,得到卡号和余额。
按照通信协议,发送指令,充入一定的金额。
例如,充入100元(0x64)。
按照通信协议,发送指令,扣除一定的金额。
例如,充入2元。
识别卡片:
接收数据:
EECCFE01033B0D0A08000000EBFF
分析卡号:
3B0D0A08,长度:
4字节
分析金额:
Hex:
000000EB十进制:
235
充值操作:
冲入金额:
00000064十进制:
100
EECCFE010100000064FF
EECCFE01033B0D0A080000014FFF
Hex:
14F十进制:
335
扣款操作:
扣掉金额:
EECCFE010200000064FF
EECCFE01033B0D0A08000002EEFF
2EE十进制:
750
实验操作抓图(最后操作的一个结果图):
3、调试基于QT+CBT-IOTHFRFID模块的“公交卡充值系统”
RFID_Board_Bus_Win
QT程序放置的路径不能有中文。
将源代码拷贝到合适目录中,编译程序,并运行。
根据实际情况选择正确的串口号以及通信参数,打开通信串口。
放上ISO14443A卡片。
测试程序的“识别”、“充值”、“扣款”功能。
操作后,使得卡内金额的尾数为班级+学号的3位数,例如1班10号,即金额后三位为110。
然后进行抓图。
实验结果抓图:
测试“数据手动打包发送信息”功能,实现充值20元。
点击“发送数据”,观察充值后金额是否正确。
4、调试基于QT+CBT-IOTHFRFID模块的“电子钱包”
RFID_Board_money_win
将源代码拷贝到合适目录中,根据实际情况修改串口号(USB转串口线虚拟的串口,可查看“设备管理器”--“端口”),保存代码,编译程序,并运行。
3、FR105HF读写器调试(2分)
笔记本USB接口——USB转串口线——RS232串口线(公母口)——FR105RFID读写器
供电:
为RF105读写器连接电源适配器(DC5V1A)。
2、使用PC端工具进行调试
2.1读写ISO15693卡:
打开串口进行相应设置和操作,并将重要结果抓图。
操作步骤:
(1)打开通信串口
(2)单卡单次识别(Single+FSK+Inventory)
读写器调制方式:
频移键控FSK、幅移键控ASK
读写器寻卡方式:
寻单卡Single、寻多卡Multiple
(3)测试“单卡单次识别”时,放置多张卡,是否能够成功?
并解释原因。
答:
不能成功,因为只是识别一张卡
(4)单卡连续识别(Single+FSK+AutoRun)
(5)多卡单次识别(Multiple+FSK+Inventory,放置2张以上卡)
(6)多卡连续识别(Multiple+FSK+AutoRun,放置2张以上卡)
(7)读数据:
ReadSingleBlock(从0位开始的4个数据块)
(8)写数据:
WriteSingleBlock(从0位开始的4个数据块,写入数据班级+学号构成的3位数字所对应的Hex数,例如1班10号,110对应Hex为0x65,程序中输入00000065。
)
(9)读数据:
ReadSingleBlock(从0位开始的4个数据块,验证上面写入是否成功。
(10)以上操作完毕,抓图,保留软件右侧的输出信息。
实验抓图:
2.2读写ISO14443A卡:
需关闭ISO15693读卡的串口,或者关闭本软件,重新运行。
(2)请求所有
(3)寻卡
(4)选择
(5)认证密钥
(6)读取——写入——读取,进行写入验证
(6)试一试,输入错误的认证秘钥,或者寻卡后不进行认证秘钥,还能否正确读取、写入数据。
测试结果:
不能命令执行失败
(7)以上操作完毕,抓图,保留软件右侧的输出信息。
2.3分析:
读写ISO15693、ISO14443A卡,在操作上主要有什么不同之处?
3、使用串口调试工具AccessPort调试
任务:
对单卡识别进行通信指令分析(ISO15693卡)
方法:
(1)设置通信线路:
笔记本USB接口——USB转串口线——RS232串口线(母母口)——USB转串口线——笔记本USB接口
(2)同时运行PC端RFID软件,以及AccessPort工具,设置其分别使用不同的两条USB转串口线所对应的串口号。
(3)打开AccessPort串口,Hex模式收发。
(4)打开PC端RFID软件串口,并点击单卡识别。
多次点击,记录AccessPort工具抓到的串口指令。
查看发送的指令是否相同,记录三次数据。
单卡识别指令:
(5)更改通信线路:
笔记本USB接口——USB转串口线——RS232串口线——RF105RFID读写器。
(6)在AccessPort工具中,发送上面抓到的串口指令。
并接收读写器返回的数据。
抓图。
协议分析:
(参考示例)
3A303031303230303237333643430D0A
单卡识别指令(ASCII码):
“:
000102002736CC”后面必须有回车换行
读写器返回数据:
返回数据ASCII码:
卡号:
E00401005679AEB0
实验数据记录和分析:
读写器返回数据长度:
字节
分析卡号:
,长度:
4、调试基于QT+FR105RFID读写器的卡号识别程序“上班刷卡考勤系统”
RFID15693_TimeCard_win
程序运行效果
QT应用程序输出
放上ISO15693卡片,点击“读卡”,进行RFID卡号识别。
RFID卡号:
,长度:
根据通信协议,或者分析“读卡”按钮对应的QT代码,测试手动发送读卡指令,并抓图(换一张卡)。
读卡指令:
串口返回数据:
RFID卡号:
4、FR1200UHF读写器调试(2分)
笔记本U口——USB转串口线——RS232串口线(公母口)——FR1200RFID读写器
为RF1200读写器连接电源适配器(DC5V2A)。
读写ISO18000-6C卡:
提示:
“保存数据帧”、“保存信息”,可分别保存“数据帧窗口”、“信息窗口”内容到一个文本文件,便于拷贝内容到实验报告中。
(1)连接设备
连接设备:
设置串口通信参数,点击“打开”,连接设备。
观察通信状态,记录发送的指令。
控制指令:
AA020055返回:
AA03000055
(2)设置工作参数
选择左上“频率/功率设置”。
设置功率:
点击“读取功率”,查看输出功率值。
并自行更改,更改范围10~30dBm。
点击“设置功率”,然后再次点击“读取功率”,查看是否生效。
功率越大,读卡距离越大。
(实测:
27-30dBm不符合规律,建议设置为15dBm左右。
频率设置:
点击“读取频率”,获得当前频率设置。
然后选择“中国标准(920-925MHz)”或者“中国标准(840-845MHz)”,点击“设置频率”。
设置功率:
AA0402039A55返回:
AA03020055
设置频率:
AA09060001730310020055返回:
AA03020055
手动控制方式(0A——1E),自动控制方式(8A——9E),10~30步进1dB。
(3)读写标签
单标签识别:
当读卡器读取范围内只有一张电子标签时,采用此种读取模式,能够更快速准确的识别电子标签。
标签会连续被重复读取。
初始Q值无效。
单步识别:
当读卡器读取范围内只有一张电子标签时,只识别一次,然后RFID读写器就自动停止识别。
防碰撞识别:
当读卡器读取范围内有多张电子标签时,需要调用防碰撞算法。
初始Q值,默认为3:
标签识别的时间间隔,数值越大,间隔时间越长。
3,每秒约8次。
1,每秒约16次,只有多标签防碰撞识别模式才有效。
“单标签识别”、“防碰撞识别”,互相切
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验一 RFID设备调试及软件开发学 实验 RFID 设备 调试 软件 开发