实验7基于WiFi的HF高频RFID实验-V201703171.实验目的掌握WiFi模块的配置和使用方法;掌握基于WiFi的阅读器操作过程;2.实验设备硬件:实验箱,电脑等;软件:HLK-RM04_串口配置工具,TCP&UDP测试工具软件;HLK-RM04用户手册V1.1.pdf路径:配套光盘\第三方应用软件\WiFi配置工具TCP&UDP测试工具安装与使用说明文档路径:配套光盘\第三方应用软件\TCP&UDP测试工具雷凌USB无线网卡安装说明路径:配套光盘\第三方应用软件\雷凌usb无线网卡光盘源码路径:配套光盘\源代码\RFID基础实验\实验7基于WiFi的HF高频RFID实验-V20170317Hex路径:配套光盘\源代码\RFID基础实验\实验7基于WiFi的HF高频RFID实验-V20170317\out3.实验原理本实验通过WiFi模块实现PC与阅读器的通信,原理如图3.1所示:图3.1实验原理图将高频阅读器的串口连接到WiFi模块的串口。WiFi模块工作模式设为串口转WiFi,并配置成无线AP模式。实验中WiFi模块为TCP(也可以设成UDP)服务器,PC连接到AP点后再通过使用TCP&UDP测试工具软件建立一个TCP的客户端,去主动连接WiFi模块的本地IP地址。这样PC与WiFi模块之间的通信数据会通过WiFi模块的串口传给阅读器,阅读器与WiFi模块之间通信数据也会通过WiFi模块传给PC,从而实现PC与阅读器的无线网络通信。高频RFID协议、指令请参考之前的HF高频RFID实验,这里不再做阐述。4.实验步骤4.1高频RFID阅读器固件烧录第一步:打开配套光盘\源代码\RFID基础实验\实验7基于WiFi的HF高频RFID实验-V20170317下的RC632开发.uvproj工程,打开main.c文件,查看系统初始化波特率设置,实验默认为9600,如不是,请更改,如图4.1所示:图4.1更改波特率第二步:使用串口线连接PC和高频阅读器的DB9接头。S1开关拨打到左边:STC串口与DB9连接。第三步:根据配套光盘\第三方应用软件\STC_ISP\STC-ISP软件使用说明书,使用STC-ISP软件将配套光盘\源代码\RFID基础实验\实验7基于WiFi的HF高频RFID实验-V20170317\out下面的SL601F.hex下载3号高频节点上。4.2WiFi模块配置第一步:使用串口线连接PC和高频阅读器的DB9接头。S1开关拨打到右边:WiFi模块与DB9连接,给3号节点上电,如图4.2所示:图4.2连接方式第二步:约30s后,按下3号高频节点板上的“WiFi-RESET”按键,打开HLK-RM04_串口配置工具软件,选择正确的PC串口号(示例是COM8),点击“搜索模块”,命令执行与回复窗口显示“FoundDeviceatCOM8”表示模块已连接到PC,如图4.3所示:图4.3搜索模块第三步:修改以下配置内容,再点击“提交配置”完成配置,如图4.4所示:串口转wifi:无线AP模式网络协议选择:TCP服务器无线参数:网络名称:FRO_RFID_HF_xxxx(xxxx为wifi模块下面一排MAC地址的后4位)示例为FRO_RFID_HF_F20D加密方式:WPA/WPA2_AES密钥:12345678端口:4001串口参数:波特率:9600数据位:8校验位:NONE停止位:1网络参数:本地IP:192.168.0.161子网掩码:255.255.255.0图4.4参数配置注:多台设备,同一设备内的多个WiFi不要设置同样的网络名称,避免干扰。第四步:拔掉串口线,将3号高频节点的S1开关拨打到中间:STC串口与WiFi模块串口连接。4.3PC连接WiFiAP第一步:打开PC的无线网络连接,搜查到WiFi模块的AP:FRO_RFID_HF_F20D,再点击“连接”,输入密钥进行连接。不同PC操作系统此步操作可能不同,这里用的是Windows7,如图4.5所示:图4.5连接到AP注:完成连接后,无线连接图标上会出现“!”(),这是由于我们没有连接到外网,并不影响后面的实验操作。4.4建立客户端Socket第一步:打开TCP&UDP测试工具软件,点击左上角的“创建连接”按钮,如图4.6所示:图4.6工具界面第二步:配置连接信息,目标IP为WiFi模块的本地IP。输入类型、目标IP和端口号后点击“创建”按钮,如图4.7所示:图4.7创建连接第三步:勾选界面右侧的“按16进制”选项,完成后,点击“连接”按钮,如果连接正常,原“连接”按钮上显示“断开连接”字样,如果没有“断开连接”字样,证明没有成功建立连接如图4.8所示:图4.8连接成功注:至此已完成所有的连接,接下可以使用TCP&UDP测试工具软件通过WiFi操作阅读器。4.5操作高频阅读器第一步:将高频标签放置在阅读器天线上方。第二步:设置波特率9600,在TCP&UDP测试工具软件发送区输入指令:发送:AABB0600000001010101返回:aabb0600000001010000在接收区返回设置成功,如图4.9所示:图4.9设置波特率第三步:关闭天线,在TCP&UDP测试工具软件发送区输入指令:发送:AABB060000000C01000D返回:aabb060000000c01000d在接收区返回设置成功,如图4..10所示:图4.10关闭天线第四步:通讯协议设为14443A,在TCP&UDP测试工具软件发送区输入指令:发送:AABB0600000008014148返回:aabb0600000008010009在接收区返回设置成功,如图4.11所示:图4.11设置通讯协议第五步:打开天线,在TCP&UDP测试工具软件发送区输入指令:发送:AABB060000000C01010C返回:aabb060000000c01000d在接收区返回设置成功,如图4.12所示:图4.12打开天线第六步:寻卡,在TCP&UDP测试工具软件发送区输入指令:发送:AABB0600000001025251返回:aabb08000000010200040007在接收区返回寻卡成功,如图4.13所示:图4.13寻卡第七步:防碰撞,读UID,在TCP&UDP测试工具软件发送区输入指令:发送:AABB0600000002020404返回:aabb0a0000000202005a01790321在接收区返回标签ID号,如图4.14所示:图4.14读ID号第八步:选卡,选中上一步读到的卡,在TCP&UDP测试工具软件发送区输入指令:发送:AABB0900000003025a01790320返回:aabb070000000302000809在接收区返回选卡成功,如图4.15所示:发送的指令中“5a017903”是上步读到的卡的ID号,实验过中应根据读到的ID号修改该条指令。“20”是数据校验位,计算方法在实验6已经介绍,这里再回顾一下:数据格式如图所示:指令中,AABB是命令头,0900是数据长度,0000是设备号,校验位是命令码和数据包的字节异或运算得到。即DCS=COMHxorCOMLxorPD0xorPD1xor…xorPDn本例子中,DCS=03XOR02XOR5aXOR01XOR79XOR03=20图4.15选卡第九步:验证密钥,准备下一步读写扇区,在TCP&UDP测试工具发送区输入指令:发送:AABB0D00000007026000FFFFFFFFFFFF65返回:aabb0600000007020005在接收区返回验证成功,如图4.16所示:图4.16验证密钥第十步:读取块0数据,在TCP&UDP测试工具软件发送区输入指令:发送:AABB060000000802000A返回:aabb160000000802005a01790321080400626364656667686906在接收区返回块0数据,如图4.17所示:图4.17读扇区数据第十一步:写数据,往块地址02写入数据,在TCP&UDP测试工具发送区输入指令:发送:AABB16000000090202200000000000002000000000000000020B返回:aabb060000000902000b在接收区返回写入成功,如图4.18所示:图4.18写扇区数据注:如阅读器操作不成功,在确认配置和连接无误的情况下,请重启电源并重新建立连接,因为部分硬件模块和软件配置后需重启才能生效。