M1射频读卡器笔记
操作指令:
1、卡机复位
主机发送:
0x02 0x00 0x02 0x30 0x30 /0x31 0x03 BCC
读器器返回:
0x02 0x00 012 0x30 0x30/0x31 读卡器版本信息 0x03 BCC
读卡器版本信息 “XXX XXX VX.X”
2、卡机查状态
主机发送:
0x02 0x00 0x02 0x31 0x30 0x03 BCC
读卡器返回:
0x02 0x00 0x03 0x31 0x30 卡机状态字S 0x03 BCC
S = ‘N’ (0x4E) 卡机无卡
S = ‘Y’ (0x59) 卡机有卡,已到位
Mefare 1卡操作指令
1、寻卡
主机发送:
0x02 0x00 0x02 0x35 0x30 0x03 BCC
读卡器返回:
0x02 0x00 0x03 0x35 0x30 状态字P 0x03 BCC
P = ‘Y’ (0x59) 寻卡成功
P = ‘N’ (0x4E) 寻卡失败
P = ‘E’ (0x45) 卡机内无卡
2、读取Mefare1卡序列号:
主机发送:
0x02 0x00 0x02 0x35 0x31 0x03 BCC
读卡器返回:
0x02 0x00 0x03 0x35 0x31 状态字P 4Byte的SN 0x03 BCC
P = ‘Y’ (0x59) 读取成功, 并返回卡的序列号
P = ‘N’ (0x4E) 读取失败, 并返回空 0x00 0x00 0x00 0x00
P = ‘E’ (0x45) 卡机内无卡,卡机内无卡
3、验证Mefare1卡密码:
主机发送:
0x02 0x00 0x02 0x35 0x32/39 扇区号 4Byte密码 0x03 BCC
密码类型:0x32 为密码A
0x39 为密码B
扇区号:s50 卡为0~63
读卡器返回:
0x02 0x00 0x03 0x35 0x31 状态字P 0x03 BCC
P = ‘Y’ (0x59) 验证成功
P = ‘N’ (0x4E) 验证失败
P = ‘E’ (0x45) 卡机内无卡,卡机内无卡
4、验证Mefare1卡密码:
主机发送:
0x02 0x00 0x02 0x35 0x32/39 扇区号 4Byte密码 0x03 BCC
密码类型:0x32 为密码A
0x39 为密码B
扇区号:s50 卡为0~63
读卡器返回:
0x02 0x00 0x03 0x35 0x31 状态字P 0x03 BCC
P = ‘Y’ (0x59) 验证成功
P = ‘N’ (0x4E) 验证失败
P = ‘E’ (0x45) 卡机内无卡,卡机内无卡
5、读Mefare1卡指定扇区的块数据
主机发送:
0x02 0x00 0x04 0x35 0x33 扇区号 块号 0x03 BCC
扇区号:s50 卡为0~63
块 号:0~3
读卡器返回:
0x02 0x00 0x03 0x35 0x33 扇区号 块号 ‘Y’ 16Byte数据 0x03 BCC
P = ‘Y’ (0x59) 读取成功,随后跟着16字节的块数据
0x02 0x00 0x03 0x35 0x33 状态字P 0x03 BCC
P = ‘N’ (0x4E) 读取失败
P = ‘E’ (0x45) 卡机内无卡,卡机内无卡
6、写Mefare1卡指定扇区的块数据
主机发送:
0x02 0x00 0x04 0x35 0x34 扇区号 块号 0x03 BCC
扇区号:s50 卡为0~63
块 号:0~3
读卡器返回:
0x02 0x00 0x03 0x35 0x34 扇区号 块号 ‘Y’ 16Byte数据 0x03 BCC
P = ‘Y’ (0x59) 写入成功 ,随后跟着读回的16字节数据
0x02 0x00 0x03 0x35 0x34 状态字P 0x03 BCC
P = ‘N’ (0x4E) 写入失败
P = ‘E’ (0x45) 卡机内无卡,卡机内无卡
7、更改Mefare1卡指定扇区密码A(密码B和控制字不变)
密码B写成:0xff 0xff 0xff 0xff 0xff 0xff,控制字写成:0xff 0x07 0x08 0x069
主机发送:
0x02 0x00 0x09 0x35 0x35 扇区号 6Byte密码 0x03 BCC
扇区号:s50 卡为0~63
读卡器返回:
0x02 0x00 0x04 0x35 0x35 状态字P 0x03 BCC
P = ‘Y’ (0x59) 更改成功
P = ‘N’ (0x4E) 更改失败
P = ‘E’ (0x45) 卡机内无卡,卡机内无卡
写第三块进行写操作需要谨慎,乱填写控制字将会锁死M1卡。相关操作请参考M1卡手册;
8、Mefare1卡增值操作
注意:在该块进行此操作之前应当对其进行钱包初始化操作,每扇区的3第三块不能可行此基操作
主机发送:
0x02 0x00 0x08 0x35 0x37 扇区号 块号 4Byte数据 0x03 BCC
扇区号:s50 卡为0~63
块 号:s50 卡为0~3
读卡器返回:
0x02 0x00 0x03 0x35 0x37 状态字P 0x03 BCC
P = ‘Y’ (0x59) 写入成功
P = ‘N’ (0x4E) 写入失败
P = ‘E’ (0x45) 卡机内无卡
8、Mefare1卡减值操作
注意:在该块进行此操作之前应当对其进行钱包初始化操作,每扇区的3第三块不能可行此基操作
主机发送:
0x02 0x00 0x08 0x35 0x38 扇区号 块号 4Byte数据 0x03 BCC
扇区号:s50 卡为0~63
块 号:s50 卡为0~3
读卡器返回:
0x02 0x00 0x03 0x35 0x38 状态字P 0x03 BCC
P = ‘Y’ (0x59) 写入成功
P = ‘N’ (0x4E) 写入失败
P = ‘E’ (0x45) 卡机内无卡