深圳大学-智能网络与计算-实验一:RFID原理与读写操作
实验目的与要求
- 掌握超高频RFID标签的寻卡操作。
- 掌握超高频RFID标签的读写操作。
- 掌握超高频RFID标签多张卡读取时的防冲突机制。
方法,步骤
- 软硬件的连接与设置
- 超高频RFID寻卡操作
- 超高频RFID防冲突机制
- 超高频RFID读写卡操作
实验过程及内容
一.软硬件的连接与设置
(1) 从实验箱中取出超高频 RFID 读写器模块
(2) 跳线帽如下
(3) 用跳线帽将读写器模块的跳线跳至 USB 端
(4) 900MHz 超高频RFID读写器与 PC 端连线
使用 USB 线将超高频读写器模块与电脑连接后,模块上的 Power 指示灯会常亮,如图所示。说明超高频读写器模块功能正常;随后,将超高频 RFID 标签置于读写器上方一定距离,即可开始实验。
二.超高频RFID寻卡操作
(1) 打开 PC 端的 RFIDDemo 软件
(2) 在左侧边栏选择“超高频900M”模块,软件将自动设置串口号、波特率。打开串口,界面如下:
(3) 寻卡。将 900M 的超高频 RFID 标签放在射频识别模块上方。单击底部的“单次寻卡”,卡号信息就被读取出来,在“寻卡操作”区和 “数据读写”区的卡号框内显示。
三.超高频RFID防冲突机制
(1) 原理:如果在读写器附近同时出现几张卡,可以看到不同的卡号相继被读出。当需要获取其中某一张卡片的信息时,在右侧的卡号下拉框中选中要操作的卡号即可对卡片进行读写操作
(2) 将多张卡一起放在检测区域旁边,观察RFIDDemo软件读出来的结果,结果如下:
(3) 通过上述操作,我们可以发现:
- 超高频RFID读写器是可以同时读取多张900M电子标签的,具有防冲突机制。
- 寻卡操作读出的卡号是 EPC 存储器存储的电子产品代码(EPC 编码),共 12 字节,即 96bit-EPC。
例如:上面读出的 900M 标签 EPC 编码为 E2 00 00 1D 71 13 01 34 24 00 66 13。
E2(H)为标头;固定为 8bit,用于识别 EPC 的长度、类型、结构、版本号 ;
00001D7(H)为厂商识别代码;固定为 28bit,识别公司或企业实体 ;
113013(H)为对象分类代码,固定为 24bit;
424006613(H)为序列号,固定为 36bit。
四.超高频RFID读写卡操作
1.各内存区数据读取操作
“卡号”下方是“内存区域”,有四个下拉选项,分别是 RFU、EPC、TID、USER。
其中,EPC、TID 区 是不可写入的。选择 EPC、TID 区时,最下方的写入按钮是无效的。如图所示
“内存区域”下方是“起始读取地址”,默认从 0 开始;读取以1个字(16bit)为单位长度,例如读取长度为4,则代表读4个字(64bit)的数据
(1) 选择内存区域为 RFU,单击“读取”按钮进行 RFU 数据读取,且 RFU 保留区数据读取要求“起 始读取地址”+“读取长度”不得大于4,否则会出现“重新输入起始读取地址和读取长度”的提示。因此,RFU区一次性能读取的最大存储空间为4个字。如图所示:
(2) 选择内存区域为 EPC。这里可以查看卡片的 EPC 号码。首先选择起始读取地址为0,读取长度为4,单击读取按钮,查看读取信息。
对上述数据进行分析:根据超高频 RFID 标签存储结构,我们可知,EPC存储区的第 1~2 字节为 CRC-16 校验,第3~4个字节是 PC 数据,第5~16字节为 EPC 编码号。因此,本张超高频 RFID 标签的 CRC-16校验是 AB 17,PC 为 34 00。可是EPC编码是12字节(96bit)的数据,这里只显示了E2 00 00 1D,共 4 个字节的数据,这是怎么回事呢?这是因为读取长度和读取地址造成的。
保持最大读取长度4不变,更改“起始读取地址”为4,继续读取EPC编码。
将上述两段数据进行拼接,即可得到完整的 EPC 存储区数据。是否可以继续读取呢?进行尝试,当起始读取地址填入5,读取长度为4时,就会出现如下错误提示(如下图所示)。这是因为起始读取地址+读取长度的值不得大于8造成的,现起始读取地址为5,读取长度为4,5+4>8,故出现错误提示。因此,EPC区一次性能读取的最大存储空间为8个字。
(3) 读TID区。TID码是不同标签之间的识别码,具有唯一性。
由上测试,我们可以发现,当起始读取地址填入8,读取长度为2时,出现了错误提示。这是因为 读取TID区数据时,要求“起始读取地址”+“读取长度”之和不得大于9,否则会出现“重新输入起始读取地址和读取长度”的提示。因此,TID区一次性能读取的最大存储空间为 9个字。
(4) 选择 UESR 内存区,单击读取。
当起始读取地址填入16,读取长度为5时,出现了错误提示。这是因为读取TID区数据时,要求“起始读取地址”+“读取长度”之和不得大于20,否则会出现“重新输入起始读取地址和读取长度”的提示。如下图所示,由此可知USER区一次性能读取的最大存储空间为20个字节。
2. 各内存区数据写入操作
根据实验手册指示,在USER区进行写入数据操作
(1) 在内存区域,选择“USER”
(2) 在最下方的写入栏,指定“起始写入地址”,“写入长度”为系统计算,单击“写入”按钮,写入信息。
出现写入成功提示
再单击读取,读取信息栏会显示写入后的数据
第二次写入信息。
出现写入成功提示
第二次读取到的内容
3. 其他设置
在RFIDDemo软件的左侧,还可以获取射频模块的一些数据并对其进行设置,如地区的设置、功率的设置以及 RF 频道的设置。
实验结论
1.工作原理:
RFID系统由读写器和标签组成。读写器通过发送射频信号与标签通信,标签接收射频信号并回复包含其识别信息的数据。RFID标签通常包括一个芯片和一个天线。当标签处于读写器的射频场内时,射频能量激活标签芯片,使其能够回复数据。
2.寻卡操作:
寻卡操作是读写器向周围环境发送射频信号,使得附近的RFID标签被激活并回复。读写器接收并解码标签回复的数据,识别特定标签的存在和位置。
3. 读写操作:
读写操作是指读写器向标签发送指令,要求标签回复其存储的数据。标签收到指令后,将存储的数据回复给读写器,读写器解码并显示或存储这些数据。
4. 防冲突机制:
在多张卡同时读取时,可能出现多个标签同时响应的问题,即冲突。RFID系统采用不同的防冲突机制来处理这种情况,如时间分割多址或碰撞检测算法,以确保每个标签都能被正确读取而不受干扰。
心得体会
在本次实验中,我接触并了解了RFID技术,我对其在物联网和智能化领域中的广泛应用有了更深刻的认识。RFID技术不仅可以用于物品追踪和管理,还可以在各行各业中提高工作效率、简化流程,并为数据采集和分析提供更多可能性。
例如在交通领域,RFID技术可用于电子收费、智能停车场管理、车辆识别等,提升交通运输效率,改善交通拥堵问题。
总的来说,RFID技术不仅在物联网领域有着广泛应用,还在各行各业中发挥着重要作用,为实现智能化、自动化和数字化提供了强有力的支持和基础。
相关文章:

深圳大学-智能网络与计算-实验一:RFID原理与读写操作
实验目的与要求 掌握超高频RFID标签的寻卡操作。掌握超高频RFID标签的读写操作。掌握超高频RFID标签多张卡读取时的防冲突机制。 方法,步骤 软硬件的连接与设置超高频RFID寻卡操作超高频RFID防冲突机制超高频RFID读写卡操作 实验过程及内容 一.软硬…...

⚡C++ 中 std::transform 函数深度解析:解锁容器元素转换的奥秘⚡【AI 润色】
在 C 编程的世界里,我们常常需要对容器中的元素进行各种转换操作。无论是将数据进行格式调整,还是对元素进行数学运算,高效的转换方法都是提升代码质量和效率的关键。std::transform函数作为 C 标准库<algorithm &g…...

【miniconda】:langraph的windows构建
langraph需要python3.11 langraph强烈建议使用py3.11 默认是3.12 官方 下载仓库 下载老版本的python (后续发现新版miniconda也能安装老版本的python) 在这里...

(k8s)k8s部署mysql与redis(无坑版)
0.准备工作 在开始之前,要确保我们的节点已经加入网络并且已经准备好,如果没有可以去看我前面发表的踩坑与解决的文章,希望能够帮到你。 1.k8s部署redis 1.1目标 由于我们的服务器资源较小,所以决定只部署一个redis副本&#x…...

Git常用操作指令
初始化配置 # 配置全局用户名和邮箱 git config --global user.name "账号" git config --global user.email "邮箱"# 查看配置信息 git config --list仓库初始化创建新的 Git 仓库: # 初始化新仓库 git init# 克隆远程仓库 git clone URL状态…...

新手理解:Android 中 Handler 和 Thread.sleep 的区别及应用场景
新手理解:Android 中 Handler 和 Thread.sleep 的区别及应用场景 Handler 是啥?Handler 的几个核心功能: Thread.sleep 是啥?Thread.sleep 的核心特点: 两者的区别它们的应用场景1. Handler 的应用场景2. Thread.sleep…...

智能安全策略-DPL
一、华三防火墙-接口的概念。 1、接口。 1. 什么是接口? 接口就像是防火墙的“门”,用来连接不同的网络设备,比如电脑、路由器、服务器等。通过这些“门”,数据(比如网页、视频、文件)才能进出防火墙。 …...

差分进化算法 (Differential Evolution) 算法详解及案例分析
差分进化算法 (Differential Evolution) 算法详解及案例分析 目录 差分进化算法 (Differential Evolution) 算法详解及案例分析1. 引言2. 差分进化算法 (DE) 算法原理2.1 基本概念2.2 算法步骤3. 差分进化算法的优势与局限性3.1 优势3.2 局限性4. 案例分析4.1 案例1: 单目标优化…...

Alibaba Spring Cloud 十七 Sentinel熔断降级
概述 在微服务架构中,熔断与降级是保证系统稳定性的重要机制,能有效防止故障蔓延或雪崩效应。当某个服务出现异常、延迟过高或错误率过高时,触发熔断保护,将该服务“隔离”一段时间,避免影响整体系统的吞吐和可用性。 …...

LetsWave脑电数据简单ERP分析matlab(一)
LetsWave是基于matlab的一款工具包,类似eeglab,也可以对数据进行预处理。习惯使用eeglab做数据预处理的,可以先在eeglab中做预处理,然后可以保存为*.set格式,最后在letswave中画图。 letswave下载地址:htt…...

设计模式Python版 工厂方法模式
文章目录 前言一、工厂方法模式二、工厂方法模式示例三、工厂方法模式客户端改进四、工厂方法模式隐藏工厂方法(可选) 前言 GOF设计模式分三大类: 创建型模式:关注对象的创建过程,包括单例模式、简单工厂模式、工厂方…...

贝叶斯优化相关
贝叶斯优化相关 python中有很多模块支持贝叶斯优化,如bayesian-optimization、hyperopt,比较好用的是hyperopt,下面是对hyperopt文章的翻译,原文地址如下 https://districtdatalabs.silvrback.com/parameter-tuning-with-hyperop…...

【Matlab高端绘图SCI绘图全家桶更新版】在原60种绘图类型基础上更新
俗话说,一图胜千言。数据可视化便是将数据通过图形化的方式展现出来,它更加便于我们观察数据蕴含的的规律,洞察了数据蕴含的规律后,从而使我们能够做更好的进行科研表达和学术写作。 科研过程中,绘图是一项非常重要的…...

如何构建一个 GraphRAG 系统
构建一个 GraphRAG 系统以提升传统 RAG(检索增强生成)模型的性能,需要结合知识图谱和生成式语言模型的能力,以下是实现的关键步骤和方法: 1. 数据准备 (1) 收集数据 确保有足够的高质量文本数据源,如&…...

代码随想录算法训练营day34
代码随想录算法训练营 —day34 文章目录 代码随想录算法训练营前言一、62.不同路径动态规划动态规划空间优化 二、63. 不同路径 II动态规划动态规划优化空间版 三、343. 整数拆分动态规划贪心算法 96.不同的二叉搜索树总结 前言 今天是算法营的第34天,希望自己能够…...

单片机基础模块学习——按键
一、按键原理图 当把跳线帽J5放在右侧,属于独立按键模式(BTN模式),放在左侧为矩阵键盘模式(KBD模式) 整体结构是一端接地,一端接控制引脚 之前提到的都是使用了GPIO-准双向口的输出功能&#x…...

polars as pl
import polars as pl#和pandas类似,但是处理大型数据集有更好的性能. #necessary import pandas as pd#导入csv文件的库 import numpy as np#进行矩阵运算的库 #metric from sklearn.metrics import roc_auc_score#导入roc_auc曲线 #KFold是直接分成k折,StratifiedKFold还要考虑…...

重构(4)
(一)添加解释性变量,使得代码更容易理解,更容易调试,也可以方便功能复用 解释性的变量 总价格为商品总价(单价*数量)-折扣(超过100个以上的打9折)邮费(原价的…...
神经网络|(三)线性回归基础知识
【1】引言 前序学习进程中,已经对简单神经元的工作模式有所了解,这种二元分类的工作机制,进一步使用sigmoid()函数进行了平滑表达。相关学习链接为: 神经网络|(一)加权平均法,感知机和神经元-CSDN博客 神经网络|(二…...

deepseek R1 高效使用学习
直接提问 1、可以看到思考过程,可以当个学习工具 2、高效简介代码prompt <context> You are an expert programming AI assistant who prioritizes minimalist, efficient code. You plan before coding, write idiomatic solutions, seek clarification …...

STM32_SD卡的SDIO通信_基础读写
本篇将使用CubeMXKeil, 创建一个SD卡读写的工程。 目录 一、SD卡要点速读 二、SDIO要点速读 三、SD卡座接线原理图 四、CubeMX新建工程 五、CubeMX 生成 SD卡的SDIO通信部分 六、Keil 编辑工程代码 七、实验效果 实现效果,如下图: 一、SD卡 速读…...

【Docker】私有Docker仓库的搭建
一、准备工作 确保您的系统已安装Docker。如果没有安装,请参考Docker官方文档进行安装。 准备一个用于存储仓库数据的目录,例如/registry_data/。 二、拉取官方registry镜像 首先,我们需要从Docker Hub拉取官方的registry镜像。执行以下命…...

linux 管道符、重定向与环境变量
1. 输入输出重定向 在linux工作必须掌握的命令一文中,我们已经掌握了几乎所有基础常用的Linux命令,那么接下来的任务就是把多个命令适当的组合到一起,使其协同工作,会更高效的处理数据,做到这一点就必须搞清楚命令的输…...

Ansible fetch模块详解:轻松从远程主机抓取文件
在自动化运维的过程中,我们经常需要从远程主机下载文件到本地,以便进行分析或备份。Ansible的fetch模块正是为了满足这一需求而设计的,它可以帮助我们轻松地从远程主机获取文件,并将其保存到本地指定的位置。在这篇文章中…...

wireshark工具简介
目录 1 wireshark介绍 2 wireshark抓包流程 2.1 选择网卡 2.2 停止抓包 2.3 保存数据 3 wireshark过滤器设置 3.1 显示过滤器的设置 3.2 抓包过滤器 4 wireshark的封包列表与封包详情 4.1 封包列表 4.2 封包详情 参考文献 1 wireshark介绍 wireshark是非常流行的网络…...

51单片机——按键控制LED流水灯
引言 在电子制作和嵌入式系统学习中,51 单片机是一个经典且入门级的选择。按键控制 LED 流水灯是 51 单片机的一个基础应用,通过这个实例,我们可以深入了解单片机的输入输出控制原理。 51 单片机简介 51 单片机是对所有兼容 Intel 8051 指…...

【opencv】第9章 直方图与匹配
第9章 直方图与匹配 9.1 图像直方图概述 直方图广泛运用于很多计算机视觉运用当中,通过标记帧与帧之间显著的边 缘和颜色的统计变化,来检测视频中场景的变化。在每个兴趣点设置一个有相近 特征的直方图所构成“标签”,用以确定图像中的兴趣点。边缘、色…...

HTML5 Web Worker 的使用与实践
引言 在现代 Web 开发中,用户体验是至关重要的。如果页面在执行复杂计算或处理大量数据时变得卡顿或无响应,用户很可能会流失。HTML5 引入了 Web Worker,它允许我们在后台运行 JavaScript 代码,从而避免阻塞主线程,保…...

MVCC底层原理实现
MVCC的实现原理 了解实现原理之前,先理解下面几个组件的内容 1、 当前读和快照读 先普及一下什么是当前读和快照读。 当前读:读取数据的最新版本,并对数据进行加锁。 例如:insert、update、delete、select for update、 sele…...

基于ESP32-IDF驱动GPIO输出控制LED
基于ESP32-IDF驱动GPIO输出控制LED 文章目录 基于ESP32-IDF驱动GPIO输出控制LED一、点亮LED3.1 LED电路3.2 配置GPIO函数gpio_config()原型和头文件3.3 设置GPIO引脚电平状态函数gpio_set_level()原型和头文件3.4 代码实现并编译烧录 一、点亮LED 3.1 LED电路 可以看到&#x…...