当前位置: 首页 > news >正文

深圳大学-智能网络与计算-实验一:RFID原理与读写操作

实验目的与要求

  1. 掌握超高频RFID标签的寻卡操作。
  2. 掌握超高频RFID标签的读写操作。
  3. 掌握超高频RFID标签多张卡读取时的防冲突机制。

方法,步骤

  1. 软硬件的连接与设置
  2. 超高频RFID寻卡操作
  3. 超高频RFID防冲突机制
  4. 超高频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) 通过上述操作,我们可以发现:

  1. 超高频RFID读写器是可以同时读取多张900M电子标签的,具有防冲突机制。
  2. 寻卡操作读出的卡号是 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 编程的世界里&#xff0c;我们常常需要对容器中的元素进行各种转换操作。无论是将数据进行格式调整&#xff0c;还是对元素进行数学运算&#xff0c;高效的转换方法都是提升代码质量和效率的关键。std&#xff1a;&#xff1a;transform函数作为 C 标准库<algorithm &g…...

【miniconda】:langraph的windows构建

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

(k8s)k8s部署mysql与redis(无坑版)

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

Git常用操作指令

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

新手理解:Android 中 Handler 和 Thread.sleep 的区别及应用场景

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

智能安全策略-DPL

一、华三防火墙-接口的概念。 1、接口。 1. 什么是接口&#xff1f; 接口就像是防火墙的“门”&#xff0c;用来连接不同的网络设备&#xff0c;比如电脑、路由器、服务器等。通过这些“门”&#xff0c;数据&#xff08;比如网页、视频、文件&#xff09;才能进出防火墙。 …...

差分进化算法 (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熔断降级

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

LetsWave脑电数据简单ERP分析matlab(一)

LetsWave是基于matlab的一款工具包&#xff0c;类似eeglab&#xff0c;也可以对数据进行预处理。习惯使用eeglab做数据预处理的&#xff0c;可以先在eeglab中做预处理&#xff0c;然后可以保存为*.set格式&#xff0c;最后在letswave中画图。 letswave下载地址&#xff1a;htt…...

设计模式Python版 工厂方法模式

文章目录 前言一、工厂方法模式二、工厂方法模式示例三、工厂方法模式客户端改进四、工厂方法模式隐藏工厂方法&#xff08;可选&#xff09; 前言 GOF设计模式分三大类&#xff1a; 创建型模式&#xff1a;关注对象的创建过程&#xff0c;包括单例模式、简单工厂模式、工厂方…...

贝叶斯优化相关

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

【Matlab高端绘图SCI绘图全家桶更新版】在原60种绘图类型基础上更新

俗话说&#xff0c;一图胜千言。数据可视化便是将数据通过图形化的方式展现出来&#xff0c;它更加便于我们观察数据蕴含的的规律&#xff0c;洞察了数据蕴含的规律后&#xff0c;从而使我们能够做更好的进行科研表达和学术写作。 科研过程中&#xff0c;绘图是一项非常重要的…...

如何构建一个 GraphRAG 系统

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

代码随想录算法训练营day34

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

单片机基础模块学习——按键

一、按键原理图 当把跳线帽J5放在右侧&#xff0c;属于独立按键模式&#xff08;BTN模式&#xff09;&#xff0c;放在左侧为矩阵键盘模式&#xff08;KBD模式&#xff09; 整体结构是一端接地&#xff0c;一端接控制引脚 之前提到的都是使用了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)

&#xff08;一&#xff09;添加解释性变量&#xff0c;使得代码更容易理解&#xff0c;更容易调试&#xff0c;也可以方便功能复用 解释性的变量 总价格为商品总价&#xff08;单价*数量&#xff09;-折扣&#xff08;超过100个以上的打9折&#xff09;邮费&#xff08;原价的…...

神经网络|(三)线性回归基础知识

【1】引言 前序学习进程中&#xff0c;已经对简单神经元的工作模式有所了解&#xff0c;这种二元分类的工作机制&#xff0c;进一步使用sigmoid()函数进行了平滑表达。相关学习链接为&#xff1a; 神经网络|(一)加权平均法&#xff0c;感知机和神经元-CSDN博客 神经网络|(二…...

deepseek R1 高效使用学习

直接提问 1、可以看到思考过程&#xff0c;可以当个学习工具 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 编辑工程代码 七、实验效果 实现效果&#xff0c;如下图&#xff1a; 一、SD卡 速读…...

【Docker】私有Docker仓库的搭建

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

linux 管道符、重定向与环境变量

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

Ansible fetch模块详解:轻松从远程主机抓取文件

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

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流水灯

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

【opencv】第9章 直方图与匹配

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

HTML5 Web Worker 的使用与实践

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

MVCC底层原理实现

MVCC的实现原理 了解实现原理之前&#xff0c;先理解下面几个组件的内容 1、 当前读和快照读 先普及一下什么是当前读和快照读。 当前读&#xff1a;读取数据的最新版本&#xff0c;并对数据进行加锁。 例如&#xff1a;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…...