演示读取TypeA TypeB nfc卡号|学习笔记

简介: 快速学习演示读取TypeA TypeB nfc卡号

开发者学堂课程【嵌入式之RFID开发与应用2020版演示读取TypeA TypeB nfc卡号】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/665/detail/11119


演示读取TypeA TypeB nfc卡号

 

演示过程

完成了串口和RFID的卡片的一个电源的上电复位之后,那再接下来就是卡片的卡号的读取,包括对的卡的类型的判断首先代码主要是一个通用的代码就能够识别两种卡,并且,在读取卡号之前,分别的对a类卡进行了一个初始化rfid_carda_init();,然后读取a类卡的卡号再对B类卡读取B类卡卡号,但前提是里面确实是存在a类卡或者的B类卡,具体的代码怎么去初始化以及怎么去读取去寻卡以及读取卡号,接下来进行演示一下

首先先编译一下程序编译完成之后通过挂载的方式自动挂载

 image.png

到mount目录,输入[ root@qfedu /mnt] #cd debug /iot/rfid/01_rfid_id/

image.png

左边是开发板,右边虚拟机,进去之后首先来看一下阅读器,它本身可以支持a类卡B类卡NFC前面介绍卡片的时候提到过有两种卡,分别a类和B类

ISO/IEC 14443:国际标准ISO 14443定义了两种信号接口,分别是TypeA和TypeB且互不兼容。

TypeA类卡:

>MIFARE Std 1k(MF1 IC S50):国内常称MF1 S50

>MIFARE Std 4k (MF1 IC S70):国内常称为MF1 S70

>广泛应用

TypeB类卡:

>我国第二代居民身份证:上海华虹、北京同方THR9904、天津大塘和北京华大生产。

>AT88RFO20:美国爱特梅尔(ATMIL)生产,典型应用如广州地铁卡。

接下来看一下能不能够读出的最常见的食堂的饭卡,version=88代表的就是在初始化的时候能够去读到阅读器1750的版本是88再接下来的话,就应该去读取卡号

image.png

上图分别为卡片和阅读器,只需要刷一下卡,可以看到能读到的a类卡的卡号,代码为

A类卡卡号:34 a9 a5 4d

A类卡卡号:34 a9 a5 4d

A类卡卡号:34 a9 a5 4d

A类卡卡号:34 a9 a5 4d

A类卡卡号:34 a9 a5 4d

A类卡卡号:34 a9 a5 4d

image.png

a类卡包括公交卡,再来看一下公交卡,然后再刷一下公交卡,代码显示为

A类卡卡号:43 e2 2f 4f

A类卡卡号:43 e2 2f 4f

A类卡卡号:43 e2 2f 4f

A类卡卡号:43 e2 2f 4f

A类卡卡号:43 e2 2f 4f

A类上卡号:43 e2 2f 4f

看到也可以读出来这是公交卡的卡号

然后再接下来 B类卡B类卡包括二代身份证,通过二代身份证刷一下代码如下

B类卡卡号:12 0d 70 02 2a 88 8f 37

B类卡卡号:12 0d 70 02 2a 88 8f 37

B类卡卡号:12 0d 70 02 2a 88 8f 37

B类卡卡号:12 0d 70 02 2a 88 8f 37

身份证刷出来是属于B类卡,而且卡号明显比其它的长了一倍

下来可以简单演示一下手机的NFC,打开nfC代码如下:

A类卡卡号:08 a4 b2 dd

A类卡卡号:08 68 e7 2f

A类卡卡号:08 57 13 a5

A类卡卡号:08 70 59 59

A类卡卡号:08 d6 ac 48

A类卡卡号:08 55 1e b8

A类卡卡号:08 97 12 62

A类卡卡号:08 4a 2f  a8

nf C可以看到明显看到卡号一个是一个变化的,其实是应该是一个一个固定的一个卡号,,同时NFC,它其实也是属于a类,以上就对于的通用的代码能够去读取 A类卡B类卡NFC的卡号的信息

uart_ .rfid_ init(UART_ _DEV);

while(1)

{

if(1en = get_ rfid_ card_ _id(id, &type)){

printf( "%c类卡卡号:",type);

for(i=0;i<len;i++|)

printf( "%02x " ,id[i]);

puts("");

}

}

return 0;

int

get_ rfid_ card_ id(unsigned char *id, char *type)

unsigned char TagType[2];

unsigned char buf[18] = {0};

rfid_ carda_ init();/** 初始化A类卡*/

if( (rfid_ carda_ request(PICC_ REQALL, TagType) == OK )&&(rfid_ anticoll(buf) == OK

*type = 'A';

memcpy(id, buf,4);

return 4;

}

rfid_ cardb_ init();/* 初始化B类卡*/

if( (rfid_ request() == 0K)&&(rfid_ _attrib() == 0K)&&(rfid_ get_ _uid(buf) == 0K) )

{

*type = 'B';

memcpy(id,buf,8);

return 8;

在后面可能就不会去针对B类卡去做介绍了,接下来就重点去学习关于a类卡是一个样的一个工作流程怎样初始化、怎么样去寻卡,怎么样防冲撞。

相关文章
|
缓存 iOS开发 Perl
iOS蓝牙打印小票(打印发票二维码的指令)
iOS蓝牙打印小票(打印发票二维码的指令)
577 0
iOS蓝牙打印小票(打印发票二维码的指令)
|
6月前
|
Android开发
【通讯录教程】苹果安卓鸿蒙系统通用,如何大批量导入手机号码到手机的通讯录,下面教你方法,只需1分钟搞定几万个号码的导入手机电话本
该文介绍了一种快速批量导入手机通讯录的方法,适用于处理大量手机号的需求,如微商管理、客户资料整理等。在QQ同步助手开始收费后,提供了免费的替代方案。步骤包括:下载批量导入软件(链接提供腾讯云盘和百度网盘地址),清空通讯录(非必需),制作符合格式的通讯录文件,并按操作系统(苹果、安卓或鸿蒙)进行导入。整个过程只需1分钟,简便快捷。
431 2
|
移动开发
微信h5扫码接口范例:使用localStorage防止扫码后表单其他内容丢失
微信h5扫码接口范例:使用localStorage防止扫码后表单其他内容丢失
146 0
手机通话记录生成器在线,批量通话记录生成器,通话记录生成器app
铁牛通话记录生成器是可以批量自动生成通话记录的app软件。如何得到“铁牛通话记录生成器”?在手机上进去佰渡baidu浏览器输入,铁牛通话记录生成器,这几个字嗖嗦下就可以,其他的不用输入。也可以看下面的图片中间的绿色模块图标和字母,自己思考一下是什么,伽一下它。
|
存储 安全 物联网
RFID 验证密码并进行数据读写 | 学习笔记
快速学习 RFID 验证密码并进行数据读写
RFID 验证密码并进行数据读写 | 学习笔记
|
JSON 小程序 前端开发
微信小程序接入NFC,使用HCE模拟主机卡完成NFC刷卡发送消息
微信小程序接入NFC,使用HCE模拟主机卡完成NFC刷卡发送消息
752 0
微信小程序接入NFC,使用HCE模拟主机卡完成NFC刷卡发送消息
方法:华为手机批量导入表格通讯录
第1步:首先你得有华为手机和电脑,打开你得excel表格或者WPS表格,表格里面自己本身有通讯录(也就是姓铭和号码),这些是你自己准备好的材料。第2步:然后打开软件:“金芝号码提取导入助手”。你把你前面准备好的材料复制到软件上,点“转换通讯录”,就会得到一个文件,你在电脑上把这个文件发给你的华为手机,打开就可以批量导入表格通讯录。第3步:怎么把电脑上的文件发送给手机,很简单的,借助电脑徽xin或电脑Q发给你的手机徽xin或手机q即可。
方法:华为手机批量导入表格通讯录
方法:号码如何批量导入苹果手机通讯录?
操作一:在电脑上打开软件,金芝号码提取导入助手。然后你把你的号码复制过来,放进软件的“导入通讯录”功能。操作二:选择“生成通讯录”,会得到一个文件,你把文件存放到电脑桌面。操作三:最后你再把电脑桌面上的文件,通过电脑上的薇xin或电脑Q,发送给你的手机徽信或者手机扣扣,在苹果手机上打开它,即可把号码批量导入苹果手机通讯录。
方法:号码如何批量导入苹果手机通讯录?
|
存储 Android开发
方法:如何批量把excel表格联系人号码导入华为手机通讯录
看着电脑上的excel表格里上千个员工,很是头大,我是华为手机,如何批量把excel表格联系人号码导入华为手机通讯录?开始的时候信心满满的想着一个个自己手打铭字和输入一个个数字,一天存几百个,几天就搞定了,但是开始存了几十个就手指都累了而且容易出错,想想这大量重复枯燥的工作量都怀疑人生。于是上网找了很多的办法,折腾了大半天,终于发现有人介绍了一个网络上常见简单便捷操作的软件工具,金芝号码提取导入助手。在电脑上安好了软件,简单操作了三步,不到三分钟,就把excel表格里面的几千个联系人快速批量存入了手机通讯录。我下面做个教程指导。
2228 0
方法:如何批量把excel表格联系人号码导入华为手机通讯录