演示读取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类卡是一个样的一个工作流程怎样初始化、怎么样去寻卡,怎么样防冲撞。

相关文章
方法:如何一次性把大量号码一键导入手机通讯录?
第一步:一堆大量号码一键导入手机通讯录,需要借助软件,金芝号码提取导入助手。第二步:在电脑上打开你的表格,里面的大量号码你先复制好,如果有对应的铭字你也复制好,然后分别粘贴进前面说的软件,接着你点软件上的“通讯录转换”,就可以得到一个通讯录文件。第三步:你从电脑上把这个文件发给你的手机,在手机上打开,就可以一键批量把大量号码导入通讯录。电脑文件怎么发送给手机,这个很容易呀,你的电脑上不是有电脑Q或者电脑微吗?发给你的手机微或者手机q就ok了,多方便!
方法:如何一次性把大量号码一键导入手机通讯录?
|
7月前
|
Android开发
【通讯录教程】苹果安卓鸿蒙系统通用,如何大批量导入手机号码到手机的通讯录,下面教你方法,只需1分钟搞定几万个号码的导入手机电话本
该文介绍了一种快速批量导入手机通讯录的方法,适用于处理大量手机号的需求,如微商管理、客户资料整理等。在QQ同步助手开始收费后,提供了免费的替代方案。步骤包括:下载批量导入软件(链接提供腾讯云盘和百度网盘地址),清空通讯录(非必需),制作符合格式的通讯录文件,并按操作系统(苹果、安卓或鸿蒙)进行导入。整个过程只需1分钟,简便快捷。
519 2
|
小程序 JavaScript
小程序一个页面调用多个号码的手机拨号功能
小程序一个页面调用多个号码的手机拨号功能
157 0
|
移动开发
微信h5扫码接口范例:使用localStorage防止扫码后表单其他内容丢失
微信h5扫码接口范例:使用localStorage防止扫码后表单其他内容丢失
156 0
|
存储 Android开发
方法:如何批量把excel表格联系人号码导入华为手机通讯录
看着电脑上的excel表格里上千个员工,很是头大,我是华为手机,如何批量把excel表格联系人号码导入华为手机通讯录?开始的时候信心满满的想着一个个自己手打铭字和输入一个个数字,一天存几百个,几天就搞定了,但是开始存了几十个就手指都累了而且容易出错,想想这大量重复枯燥的工作量都怀疑人生。于是上网找了很多的办法,折腾了大半天,终于发现有人介绍了一个网络上常见简单便捷操作的软件工具,金芝号码提取导入助手。在电脑上安好了软件,简单操作了三步,不到三分钟,就把excel表格里面的几千个联系人快速批量存入了手机通讯录。我下面做个教程指导。
2282 0
方法:如何批量把excel表格联系人号码导入华为手机通讯录
|
存储 Android开发
方法:表格里面的通讯录怎么导入手机?
忙里偷闲,就在上午,人力资源的一个同事找到我,希望我能帮忙解决一个她遇到的技术难题。说来是这么回事,她是我们公司的HR,手上有一份excel表格(人铭和号码),她说她的需求是能将excel中的号码一键导入手机通讯录,而不用手动一个个来输入。同事(关键她是个漂亮MM呀)请帮忙那还不得赶紧答应吗。在网上查阅了相关资料后,对于问题:怎么快速把电脑excel表格里面的通讯录怎么导入手机,我找到了一个很容易的办法,下面做个图文教程展示一下这个过程。
201 0
方法:表格里面的通讯录怎么导入手机?
|
iOS开发
iOS蓝牙打印商品价格标签的模板及打印交易小票的模版
iOS蓝牙打印商品价格标签的模板及打印交易小票的模版
270 0
iOS蓝牙打印商品价格标签的模板及打印交易小票的模版
|
存储 物联网 数据安全/隐私保护
STM32+MFRC522完成IC卡号读取、密码修改、数据读写
STM32+MFRC522完成IC卡号读取、密码修改、数据读写
812 0
STM32+MFRC522完成IC卡号读取、密码修改、数据读写