物联网AI MicroPython传感器学习 之 MFRC522 RFID射频IC卡感应模块
学物联网,来万物简单IoT物联网!!
一、产品简介
MFRC522是应用于13.56MHz非接触式通信中高集成度的读写卡芯片,其特点低电压、低成本、体积小的非接触式读写芯片。MFRC522支持MIFARE系列更高速的非接触式通信,双向数据传输速率高达424Kbit/s,与主机之间主要主要通过SPI通信模式。

引脚定义:
- VCC:接电源3V3
- RST:reset复位
- GND:接电源地
- IRQ:事件中断引脚
- MISO:SPI MISO信号
- MOSI:SPI MOSI信号
- SCK:SPI 时钟信号
- SS:SPI 片选信号
二、技术参数
- 通行方式:采用常规SPI通讯
- 储存容量:8Kbit,16个分区,每分区两组密码
- 工作频率:13.56Mhz
- 通讯频率:106KBoud
- 读写距离:2.5~10cm
- 读写时间:1~2ms
- 工作温度:-20度~35度
- 擦写寿命:大于100000次
- 数据保存时间:大于10年
- 尺寸:85.5mm *5 4mm
三、软件接口
MFRC522(spiObj, CS) - 创建 MFRC522 驱动对象
- 函数原型:
mfrc522Obj = MFRC522(spiObj, csObj, resetObj)
- 参数说明:
| 参数 | 类型 | 必选参数? | 说明 |
|---|---|---|---|
| spiObj | SPI | 是 | 传入SPI对象 |
| csObj | GPIO | 是 | 传入片选信号 CS 对象 |
| resetObj | GPIO | 是 | 传入复位信号 RESET 对象 |
- 返回值:
resetObj 对象成功,返回 MFRC522 对象;MFRC522 对象创建失败,抛出 Exception - 示例代码:
from machine import SPI, Pin
import mfrc522# 初始化 SPI
spiObj = SPI(2, baudrate=2000000, sck=Pin(18), mosi=Pin(23), miso=Pin(19))
# 初始化片选
csObj = Pin(21, Pin.OUT)
# 初始化复位信号
resetObj = Pin(22, Pin.OUT)
# 创建 MFRC522 驱动
mfrc522Obj = mfrc522.MFRC522(spiObj, csObj,resetObj)
print("MFRC522 inited!")
- 输出:
MFRC522 inited!
readCardID() - 将读取SD卡卡号
- 函数功能:
SD卡接触MFRC522读写器,可以读取SD卡的卡号 - 函数原型:
mfrc522Obj.readCardID()
- 参数说明:
无 - 返回值:
无 - 示例:
from machine import SPI, Pin
import mfrc522
import utime# 初始化 SPI
spiObj = SPI(2, baudrate=2000000, sck=Pin(18), mosi=Pin(23), miso=Pin(19))
# 初始化片选
csObj = Pin(21, Pin.OUT)
# 初始化复位信号
resetObj = Pin(22, Pin.OUT)
# 创建 MFRC522 驱动
mfrc522Obj = mfrc522.MFRC522(spiObj, csObj,resetObj)
print("MFRC522 inited!")
while True:rfid_card = mfrc522Obj.readCardID()print(rfid_card)utime.sleep_ms(200)
- 输出:
MFRC522 inited
979024648674
readText() - 将读取SD卡信息
- 函数功能:
SD卡接触MFRC522读写器,可以读取SD卡的信息 - 函数原型:
mfrc522Obj.readText()
- 参数说明:
无 - 返回值:
无
四、接口案例
- 代码:
from machine import SPI, Pin
import mfrc522
import utime# 初始化 SPI
spiObj = SPI(2, baudrate=2000000, sck=Pin(18), mosi=Pin(23), miso=Pin(19))
# 初始化片选
csObj = Pin(21, Pin.OUT)
# 初始化复位信号
resetObj = Pin(22, Pin.OUT)
# 创建 MFRC522 驱动
mfrc522Obj = mfrc522.MFRC522(spiObj, csObj,resetObj)
print("MFRC522 inited!")
while True:rfid_card = mfrc522Obj.readCardID()print(rfid_card)utime.sleep_ms(200)
- 输出:
MFRC522 inited
979024648674
参考文献及购买链接
[1] MFRC522购买链接
相关文章:
物联网AI MicroPython传感器学习 之 MFRC522 RFID射频IC卡感应模块
学物联网,来万物简单IoT物联网!! 一、产品简介 MFRC522是应用于13.56MHz非接触式通信中高集成度的读写卡芯片,其特点低电压、低成本、体积小的非接触式读写芯片。MFRC522支持MIFARE系列更高速的非接触式通信,双向数据…...
搭建ES集群
目录 前言 搭建ES集群 集群状态监控 分片备份 节点角色 脑裂问题 分布式存储 分布式查询 故障转移 前言 单机的ES做数据存储必然会面临两个问题:海量数据存储问题、单机故障问题 海量数据存储问题:将索引库从逻辑上拆分为N个分片(shard)&…...
Tomcat的日志接收文件catalina.out nohup.out说明
catalina.out用于接收如下情况的日志: catalina.out其实是tomcat的标准输出(stdout)和标准出错(stderr),这是在tomcat的启动脚本里指定的,如果没有修改的话stdout和stderr会重定向到这里。所以我们在应用里使用System.out打印的东西都会到这…...
手机ip地址切换后有什么影响
随着互联网的普及和人们对网络连接的需求不断增加,手机已经成为我们日常生活中不可或缺的一部分。而在使用手机的过程中,手机ip地址的切换也成为了许多用户需要注意的问题。虎观代理小二二将探讨手机ip地址切换后可能产生的影响。 手机ip地址的含义及作…...
C++ 赋值运算重载,const成员,取地址及const取地址操作符重载
C 赋值运算重载,const成员,取地址及const取地址操作符重载 1. 赋值运算符重载1.1 运算符重载1.2 赋值运算符重载1.3 前置/--和后置/--重载 2. const成员3. 取地址及const取地址操作符重载 所属专栏:C“嘎嘎" 系统学习❤️ 🚀…...
嵌入式Linux系统的闪存设备和文件系统学习纪要
嵌入式Linux系统的闪存设备和文件系统学习纪要 Linux下的文件系统结构如下: NAND Flash 是一种非易失性存储器(Non-Volatile Memory),常用于闪存设备和固态硬盘(SSD)中。以下是几种常见的 NAND Flash 种类&…...
android 8.1 disable unsupported sensor
如果device不支持某种sensor,可以在android/frameworks/base/core/java/android/hardware/SystemSensorManager.java里将其disabled掉。以disable proximity sensor为例。 public SystemSensorManager(Context context, Looper mainLooper) {synchronized(sLock) {if (!sNativ…...
二、类与对象(一)
1 面向过程和面向对象初步认识 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。以洗衣服为例,通常洗衣服会经历以下过程: 而C是基于面向对象的,关注的是对象,…...
写给所有的程序员,或者努力生活的你。
朋友们,好好休息,意味着好好锻炼,好好睡觉,好好学习,学习可以是功利的,需要有规划的,有执行能力,有反馈奖励机制的,也可以无用之用方为大用(比如take shit的时…...
pytorch 笔记:GRU
1 介绍 对于输入序列中的每个元素,每一层都计算以下函数: ht 是t时刻 的隐藏状态xt 是t时刻 的输入ht−1 是 t-1时刻 同层的隐藏状态或 0时刻 的初始隐藏状态rt,zt,nt 分别是重置门、更新门和新门。σ 是 sigmoid 函数∗ 是 Hadamard 乘积。…...
Kubernetes - Ingress HTTP 升级 HTTPS 配置解决方案(新版本v1.21+)
之前我们讲解过 Kubernetes - Ingress HTTP 搭建解决方案,并分别提供了旧版本和新版本。如果连 HTTP 都没搞明白的可以先去过一下这两篇 Kubernetes - Ingress HTTP 负载搭建部署解决方案_放羊的牧码的博客-CSDN博客Kubernetes - Ingress HTTP 负载搭建部署解决方案…...
Verilog:写流水灯时遇到的问题
module flow_led(input sys_clk, //系统时钟50Mhz 周期0.02nsinput sys_rst_n, //系统异步复位,低电平有效output reg [3:0] led ); reg [24:0] cnt;//计数器计时0.5s250000000*0.02ns always(posedge sys_clk or negedge sys_rst_n)beginif(!sys_rst_n)cnt <…...
操作系统第四章-存储器管理
4.1 内存的基本知识 4.1.1 逻辑地址和物理地址 逻辑地址又称为相对地址 物理地址又称为绝对地址 一. 逻辑地址 内存中有多个进程,相对地址是相对于进程的起始地址而言的地址. 二.物理地址 绝对地址是在整个内存下的地址 4.2 程序的装入和链接 引入:用户程序要在系统中运…...
org.springframework.cloud:spring-cloud-starter-openfeign:jar is missing详解
openfeign无法导入的问题 我感觉最近带的好几个新人在搭建springCloud基础框架的时候,会犯一个非常小的错误,导致进度卡住了。 这个错误就是Feign导入的错误: ‘dependencies.dependency.version’ for org.springframework.cloud:spring-c…...
Netty第一部
一、select和epoll原理分析 外设设备网卡、鼠标、键盘等通过总线写到内存中,中间就有DMA拷贝,操作系统怎么知道内存中有数据了,这就需要操作系统通过中断机制确定,如果有中断信号过来,cpu会首先打断用户程序执行&…...
【设计模式】第11节:结构型模式之“装饰器模式”
一、简介 装饰器模式主要解决继承关系过于复杂的问题,通过组合来替代继承。它主要的作用是给原始类添加增强功能。这也是判断是否该用装饰器模式的一个重要的依据。除此之外,装饰器模式还有一个特点,那就是可以对原始类嵌套使用多个装饰器。…...
Spire.doc读取模板文档,并在书签处插入内容
在书签位置插入文字 //加载模板文档 Document document new Document(Server.MapPath("~/File/评价结果.doc")); //创建书签导航器 BookmarksNavigator bn new BookmarksNavigator(document); //添加一个section到文档 Section newSec document.AddSection(); …...
性能测试实施流程,5个阶段给老板安排的明明白白!
性能测试分为5个阶段,分别是【需求调研阶段】→【测试准备阶段】→【测试执行阶段】→【测试报告阶段】→【测试总结阶段】。 1、需求调研阶段 需求调研分为两个步骤进行:需求调研、需求分析 需求调研 需求调研工作由性能测试实施人员牵头负责&#…...
【教程】R语言生物群落(生态)数据统计分析与绘图
查看原文>>>R语言生物群落(生态)数据统计分析与绘图实践 暨融合《R语言基础》、《tidyverse数据清洗》、《多元统计分析》、《随机森林模型》、《回归及混合效应模型》、《结构方程模型》、《统计结果作图》七合一版本方案 R 语言作的开源、自…...
数据库-用户权限管理
创建用户: create user testlocalhost identified by 123456; create user 创建用户的固定开头 testlocalhost test为用户名, localhost:新建用户可以在哪些主机上登录,即使可以使用IP地址,网段主机名都可以 identified by 1…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...
渗透实战PortSwigger靶场:lab13存储型DOM XSS详解
进来是需要留言的,先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码,输入的<>当成字符串处理回显到页面中,看来只是把用户输…...
人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型
在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重,适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解,并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...

