52梯控论坛

标题: NFC模块使用方法分享 [打印本页]

作者: bardshow    时间: 2020-9-6 13:56
标题: NFC模块使用方法分享
题主使用的是PN532模块和S50卡。
(╯‵□′)╯︵┴─┴
好了,言归正传。首先,完成一个S50卡读写操作的步骤:
唤醒----识别卡----密码验证------读写


By the way:波特率115200,数据位8,停止位1,奇偶校验none


首先说唤醒:
应该是PN532带了一个休眠功能,要使用PN532对NFC卡片进行读写的时候要先唤醒一下。过程很简单,写程序的时候加在setup里就可以了,一般就只运行一遍就好。
看看发送的命令(十六进制):
55 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF 03 FD D4 14 01 17 00
成功的话PN532就会返回  
00 00 FF 00 FF 00 00 00 FF 02 FE D5 15 16 00
基本唤醒没什么好说的,这个步骤还不管卡片上面事情,所以你要是没得到相应的回复,不要怀疑你的nfc卡出了问题。检查下接线吧。。


接下来就是识别卡片:
相比较唤醒,识别卡片的步骤就重要的多了,现实中那种对不起砍错人了的事是不会在nfc的世界出现的。nfc对卡的操作都是要先认识卡的。因为读写的操作中不会对卡进行身份确认。
识别命令:
00 00 ff 04 fc d4 4a 02 00 e0 00
上面数据中,4a---命令代码,02----卡数量,一般选1就好,最大是2,
返回(举个栗子):
00 00 FF 00 FF 00 00 00 FF C F4 D5 4B 01 01 00 04 08 04 D1 AA 40 EA 29 00
//0 0 FF 0 FF 0 ----ACK
//0 0 FF C F4
//D5---数据方向是PN532 to Arduino
//4B----响应命令
//1 1----目标卡1,目标卡数量
//0 4----atq
//8----capacity of the card  is 8K
//4 ---- 4 numbers of the UID
//D1 AA 40 EA----UID
//29 0------DCS  POST---  DCS=0xff-0xff&(SUM(0 0 FF C F4 D5 4B 1 1 0 4 8 4 D1 AA 40 EA))


粉红色的就是我们找到的卡的UID,也就是卡的身份证号码,这个号码可以用来识别是哪张卡。DCS的计算就是前面数加起来得到一个和SUM,然后取SUM的后两位(二进制的低八位)
0xFF-SUM=DCS, 是用来校验数据传输的。


作者: mengjie0718    时间: 2020-9-6 14:00
看看,顶你,呵呵
作者: mengjie0718    时间: 2020-9-6 14:20
小手一抖,积分到手
作者: mengjie0718    时间: 2020-9-6 14:40
看看,顶你,呵呵
作者: mengjie0718    时间: 2020-9-6 15:42
多谢分享,顶一下
作者: mengjie0718    时间: 2020-9-6 16:00
说的不错,支持一下
作者: mengjie0718    时间: 2020-9-6 16:20
提着水桶到处转,哪里缺水哪里灌!
作者: mengjie0718    时间: 2020-9-6 17:02
提着水桶到处转,哪里缺水哪里灌!
作者: mengjie0718    时间: 2020-9-6 17:20
勤劳的小蜜蜂刷点积分!




欢迎光临 52梯控论坛 (https://52tikong.com/) Powered by Discuz! X3.4