修改记录:
一、程序文件下载地址:
RFID固件更新程序安装文件:http://pan.baidu.com/s/1kTHSj2n
RFID固件:http://pan.baidu.com/s/1sj32GyT
安卓串口调试助手安装文件:http://pan.baidu.com/s/1mguoUl6
安卓串口调试助手源码:http://pan.baidu.com/s/1kTzaEl5
125K读卡号源码:http://pan.baidu.com/s/1ntzB0hz
125K读卡号安装文件:http://pan.baidu.com/s/1pJpyaFp
15693读卡号源码:http://pan.baidu.com/s/1Glnqe
15693读卡号安装文件:http://pan.baidu.com/s/1i3gfg37
RFID读卡号程序的源码:http://pan.baidu.com/s/1mg2qVlI
RFID读卡号程序的安装文件:http://pan.baidu.com/s/1gdxb3qV
RFID工厂测试程序源码:http://pan.baidu.com/s/1gdrHgwr
RFID工厂测试程序安装文件:http://pan.baidu.com/s/1jG1Kzm2
RFID API测试程序源码:http://pan.baidu.com/s/1ntz7cTz
RFID API测试程序安装文件:http://pan.baidu.com/s/1nt3AOXF
RFID测多块程序源码:http://pan.baidu.com/s/1jG4wWZW
RFID测多块程序安装文件:http://pan.baidu.com/s/1jGqPNlO
UHF_R2000 安装包(读ID功能,适用于PD805) http://pan.baidu.com/s/1o6Aveiu
UHF_R2000 源码 (读ID功能,适用于PD805) http://pan.baidu.com/s/1dDiniSD
UHF_DLS超高频(读ID功能,用于PD805) 安装包 http://pan.baidu.com/s/1c0xipKO
UHF_DLS超高频(读ID功能,用于PD805) 源码 http://pan.baidu.com/s/1sjoAqJz
UHF_R2000_V2安装包(读ID,读TAG ,写TAG功能,适用于PD805) http://pan.baidu.com/s/1o618p9g
UHF_R2000_V2 源码(读ID,读TAG ,写TAG功能,适用于PD805) http://pan.baidu.com/s/1qWCZ57Y
UHF_R2000说明文档:http://pan.baidu.com/s/1ntLnp6D
DLS超高频说明文档:http://pan.baidu.com/s/1nt0o3Nj
卡接口说明文档:http://pan.baidu.com/s/1gdf3mtt
Desfire卡说明文档:http://pan.baidu.com/s/16bPvC
网站右击“打开超链接”或者直接按住“Ctrl键”点击相应的网址即可进入。
二、SD卡系统升级操作步骤
1.把update.zip 文件通过USB复制到机器内。
在关机状态下,按住右侧下面的那个按键不放,然后开机,会进入 RECOVERY MODE模式,屏幕会有一个机器人倒下的界面。
2.按最左下角的按键(蓝色的,F1左边),进入菜单,
使用方向键选择update from sdcard,ENT键进入,选择卡刷包, ENT键确认,
然后选择YES选项,ENT键确认。
完成后,选择REBOOT。
3.启动机器检查软件版本号,确认更新成功。
三、RFID固件更新程序
下载地址:
操作步骤:
1.进入“RFID固件更新程序下载地址”下载成功后点击安装



2.将PDA通过数据线连接电脑前,请打开PDA上进入“设置”再进入“开发人员选项”选择“USB调试”一栏取消打勾。

3.将PDA通过数据线连接电脑,把事先下载好的BIN文件(LPC1114-PSAM.Bin)放在Download下
下载地址:
5.在PDA菜单栏里选择”固件更新程序”进入后出现连接成功:

点击下载约数十秒后出现:

则说明固件更新成功。
五、RFID工厂测试指引:
RFID工厂测试程序安装文件下载地址:
RFID工厂测试程序源码下载地址
1.安装步骤:RFID工厂测试程序安装文件下载成功后导入PDA安装

点击安装
2.在PDA上点击“RFID工厂测试进入:

到

说明已经连接成功(注,一定显示“FAL631-1303”),
2.此时可以点击“开始测试”进行读卡功能。读卡总次数默认为160次,写卡次数为120次。
3.写卡120次后会自动进入PSAM卡测试状态。用9600和38400两种波特率扫描PSAM卡槽1和卡槽2。

4.如卡槽内有PSAM卡,将提示:

5、如卡槽内无PSAM卡,则显示测试完成,未找到PSAM卡!

六、RFID读卡号程序:
RFID读卡号程序的安装文件:下载地址
RFID读卡号程序的源码:下载地址
安装步骤:
1.RFID读卡号程序的安装文件下载成功后导入PDA安装:

点击安装


2.在PDA主界面上点击“RFID读卡号程序”出现从

到

一定要出现“FAL631-1303”说明此时连接成功。

读取卡号成功!
七:Java API说明
RFID接口
boolean powerOn();;
boolean powerOff();
boolean iso14443aQueryUid(byte mode, byte[] UID);
boolean iso14443aReadCard(byte querymode,byte authmode,byte block,in byte[] authkey,out byte[] Data);
boolean iso14443aWriteCard(byte querymode,byte authmode,byte block,in byte[] authkey,in byte[] Data);
boolean iso14443aInitValue(byte querymode,byte authmode,byte block,byte[] authkey,byte[] value);
boolean iso14443aReadValue(byte querymode,byte authmode,byte block,byte[] authkey,byte[] value);
boolean iso14443aDecrement(byte querymode,byte authmode,byte block,byte[] authkey,byte[] value);
boolean iso14443aIncrement(byte querymode,byte authmode,byte block,byte[] authkey,byte[] value);
boolean PcdRequest(byte req_code, byte[] pTagType)
boolean PcdAnticoll(out byte[] pSnr);
boolean PcdSelect(byte[] pSnr,byte[] pSize);
boolean ChangeCodeKey(byte[] pUncoded, byte[] pCoded);
boolean PcdAuthKey(byte[] pCoded);
boolean PcdAuthState(byte auth_mode, byte block, byte[] pSnr);
boolean PcdRead(byte addr, out byte[] pReaddata);
boolean PcdWrite(byte addr, byte[] pWritedata);
boolean SingleInitvalue(byte block,byte[] value)
boolean SingleReadvalue(byte block,byte[] value);
boolean PcdValue(byte dd_mode, byte addr, byte[] pValue);
boolean PcdRestore(byte addr);
boolean PcdTransfer(byte addr);
boolean samReset(byte samNum,byte samBaud);
boolean samCos(byte samNum,byte[] cosCmd,int cosCmdLength,byte[] cosResponse,byte[] cosResponseLength);
int getHwVersion(out byte[] hwVersion);
boolean PcdConfigISOType(byte isoType);
boolean iso14443aConfigAntenna(byte state);
boolean iso14443aReset(byte bMode,byte[] pCosResponse,byte[] pBufLength);
boolean iso14443aCos(byte[] pCosCmd, int cosCmdLength,byte[] pCosResponse,byte[] pBufLength);
ISOTYPE_14443A | 进入ISO14443A模式 |
ISOTYPE_14443B | 进入ISO14443B模式 |
ISOTYPE_ICODE | 进入ISO15693模式 |
ANTENNA_ON | 打开天线 |
ANTENNA_OFF | 关闭天线 |
CARD_ALL | 搜索所有的卡 |
CARD_NOSLEEP | 搜索未睡眠的卡 |
AUTH_KEY_A | 验证密钥A |
AUTH_KEY_B | 验证密钥B |
PSAM_NUM_1 | 选择PSAM1 |
PSAM_NUM_2 | 选择PSAM2 |
PSAM_NUM_3 | 选择PSAM3 |
PSAM_NUM_4 | 选择PSAM4 |
PSAM_MODE_38400 | 选择PSAM 38400 |
PSAM_MODE_9600 | 选择PSAM 9600 |
1) boolean powerOn()
描述:打开RFID电源。
参数:无
返回值:如果成功,返回true;如果失败,返回false
2)boolean powerOff()
描述:关闭RFID电源。
参数:无
返回值:如果成功,返回true;如果失败,返回false
3)int getHwVersion(out byte[] hwVersion);
描述:获取硬件版本号
参数:数组,用于存储得到的硬件版本号
返回值:如果成功,返回硬件版本号长度;如果失败,则返回-1;
4)boolean PcdConfigISOType(byte isoType);
描述:设置RFID工作模式。
参数:int iISOType:RFID工作模式,ISOTYPE_14443A、ISOTYPE_14443B、ISOTYPE_ICODE
返回值:如果成功,返回true;如果失败,返回false;
5)、 boolean iso14443aConfigAntenna (byte state)
描述:打开或者关闭RFID天线,关闭天线可使RFID进入省电模式
参数:state:RFID天线状态,ANTENNA_ON或ANTENNA_OFF
返回值:如果成功,返回true;如果失败,返回false;
6)、 boolean samReset(byte samNum,byte samBaud);
描述:复位指定的PSAM卡。
参数:samNum: SAM卡号 PSAM_NUM_1对应编号为1的PSAM卡座
samBaud: 指定SAM卡波特率;
返回值:如果成功,返回true;如果失败,返回false;
7)、 boolean samCos(byte samNum,byte[] cosCmd,int cosCmdLength,byte[] cosResponse,byte[] cosResponseLength);
描述:发送命令到PSAM卡,并得到响应
参数:samNum: SAM卡号 PSAM_NUM_1对应编号为1的PSAM卡座
cosCmd: 用于存储要发送的COS命令
cosCmdLength:存储发送COS命令的长度
cosResponse:用于存储返回的数据
cosResponseLength:用于存储返回数据的长度
返回值:如果成功,返回true;失败,返回false;
8)、boolean iso1443aQueryUid(byte mode,out byte[] UID);
描述:读取卡的唯一ID号
参数:byte mode:CARD_ALL或CARD_NOSLEEP
UID:用于存储卡的唯一ID号
返回值:如果成功,返回true;如果失败,返回false;
9)、boolean iso14443aReadCard(byte querymode,byte authmode,byte block,in byte[] authkey,out byte[] Data);
描述:读取卡中某一块的数据。
参数:byte querymode:CARD_ALL或CARD_NOSLEEP
byte authmode:AUTH_KEY_A或AUTH_KEY_B
byte block:块号
byte[]authkey:密钥
Data:用于存储返回的卡数据
返回值:如果成功,返回true;如果失败,返回false;
10)、boolean iso14443aWriteCard(byte querymode,byte authmode,byte block,in byte[] authkey,in byte[] Data);
描述:向卡中某一块的写入数据。
参数:byte querymode:CARD_ALL或CARD_NOSLEEP
byte authmode:AUTH_KEY_A或AUTH_KEY_B
byte block:块号
byte[]authkey:密钥
byte[] Data:写入卡中的数据;
返回值:如果成功,返回true;如果失败,返回false;
11)、boolean iso14443aInitValue(byte querymode,byte authmode,byte block,byte[] authkey,byte[] value)
描述:将卡中特定区域初始化为钱包功能
参数:byte querymode:CARD_ALL或CARD_NOSLEEP
byte authmode:AUTH_KEY_A或AUTH_KEY_B
byte block:块号
byte[]authkey:密钥
byte[] value:金额;
返回值:如果成功,返回true;如果失败,返回false;
12)、boolean iso14443aReadValue(byte querymode,byte authmode,byte block,byte[] authkey,byte[] value);
描述:读取卡钱包的余额
参数:byte querymode:CARD_ALL或CARD_NOSLEEP
byte authmode:AUTH_KEY_A或AUTH_KEY_B
byte block:块号
byte[] authkey:密钥
byte[] value:用于存储读取到的值
返回值:如果成功,返回true;如果失败,返回false;
13)、boolean iso14443aDecrement(byte querymode,byte authmode,byte block,byte[] authkey,byte[] value);
描述:扣款
参数:byte querymode:CARD_ALL或CARD_NOSLEEP
byte authmode:AUTH_KEY_A或AUTH_KEY_B
byte block:块号
byte[]authkey:密钥
byte[] value:金额;
返回值:如果成功,返回true;如果失败,返回false;
14)、boolean iso14443aIncrement(byte querymode,byte authmode,byte block,byte[] authkey,byte[] value)
描述:充值
参数:byte querymode:CARD_ALL或CARD_NOSLEEP
byte authmode:AUTH_KEY_A或AUTH_KEY_B
byte block:块号
byte[]authkey:密钥
byte[] value:金额;
返回值:如果成功,返回true;如果失败,返回false;
15)、boolean PcdRequest(byte req_code, byte[] pTagType)
描述:寻TYPE_A卡。
参数:byte req_code:寻卡模式;
pTagType: 用于存储返回的Tag类型
返回值:如果成功,返回true;如果失败,返回false;
16)、boolean PcdAnticoll(out byte[] pSnr)
描述:TYPE_A卡防冲撞。
参数:pSnr:用于存储返回的卡的唯一ID号
返回值:如果成功,返回true;如果失败,返回false;
17)boolean PcdSelect(byte[] pSnr,out byte[] pSize)
描述:选中传入卡号对应的卡,使卡处于激活状态。
参数:byte[] pSnr:卡的唯一序列号
byte[] pSize: 返回卡容量大小
返回值:如果成功,返回true;如果失败,返回false;
18)、boolean ChangeCodeKey(in byte[] pUncoded,out byte[] pCoded)
描述:密码转换。
参数:byte[] pUncoded:6字节验证密码;
byte[] pCoded:转换后12字节的密码
返回值:如果成功,返回true;如果失败,返回false;
19)、boolean PcdAuthKey(in byte[] pCoded);
描述:认证密钥。
参数:byte[] pCoded:转换后12字节的密码
返回值:如果成功,返回true;如果失败,返回false;
20)、boolean PcdAuthState(byte auth_mode, byte block, byte[] pSnr);
描述:认证密码的状态。
参数:auth_mode:认证模式
Block:认证的块号
pSnr:认证的卡号
返回值:如果成功,返回true;如果失败,返回false;
21)、boolean PcdRead(byte addr, out byte[] pReaddata)
描述:读卡某块数据。
参数:byte addr:块号
byte[] pReaddata:用于存储返回的卡数据
返回值:如果成功,返回true;如果失败,返回false;
22)、boolean PcdWrite(byte addr, byte[] pWritedata);
描述:将传入数据写入卡中指定块中。
参数:byte addr:块号;
byte[] pWritedata:写入的数据,16个字节;
返回值:如果成功,返回true;如果失败,返回false;
23)、boolean SingleInitvalue(byte block,byte[] value)
描述:将卡的某一块初始化为钱包并初始化金额。
参数:byte block:M1卡绝对块号;
Byte[] value:初始金额。
返回值:如果成功,返回true;如果失败,返回false;
24)、boolean SingleReadvalue(byte block,byte[] value)
描述:读取钱包的值。
参数:byte block:M1卡绝对块号;
byte[] value: 四字节长的数组表示一个整数;小端模式;
返回值:如果成功,返回true;如果失败,返回false;
25)、boolean PcdValue(byte dd_mode, byte addr, byte[] pValue);
描述:扣款或者充值。
参数:dd_mode:PICC_INCREMENT,值为0xC1,表示充值
PICC_DECREMENT,值为0xC0,表示扣款
byte addr:M1卡绝对块号;
byte[] pValue:要扣款或充值的值;
返回值:如果成功,返回true;如果失败,返回false;
26)、boolean PcdRestore(byte addr);
描述:数据存入缓冲区。
参数:byte addr:M1卡绝对块号;
返回值:如果成功,返回true;如果失败,返回false;
27)、boolean PcdTransfer(byte addr);
描述:缓冲区数据转移到块区。
参数:byte addr:M1卡绝对块号;
返回值:如果成功,返回true;如果失败,返回false;
28)、boolean iso14443aReset(byte bMode,byte[] pCosResponse,byte[] pBufLength);
描述:复位ISO14443A CPU卡
参数:byte bMode: 寻卡模式
byte[] pCosResponse: 复位返回的数据;
byte[] pBufLength:返回数据的长度
返回值:如果成功,返回true;如果失败,返回false;
29)、boolean iso14443aCos(byte[] pCosCmd, int cosCmdLength,byte[] pCosResponse,byte[] pBufLength)
描述:发送COS命令
参数:pCosCmd:发送的COS命令;
cosCmdLength:COS命令的长度;
pCosResponse: 返回的COS数据;
pBufLength: COS数据的长度;
返回值:如果成功,返回true;如果失败,返回false;
八.条码测试演示:
条码演示程序安装文件:下载地址
条码演示程序源码文件:下载地址
1.安装步骤:将条码演示程序安装文件下载后导入PDA进行安装
点击


安装成功:
2.打开条码测试程序点击 “scan”条码头发出红光即为工作
九:条码接口:IBarcodeService
void trigOn();
触发扫描;
void trigOff();
停止扫描;
void powerOn();
条码头上电;
void powerOff();
条码头断电;
String ACTION_BARCODE_SERVICE_BROADCAST = “action_barcode_broadcast”;
String KEY_BARCODE = “key_barcode”;
当读取到条码后,条码服务将广播的形式发送。监听广播的Action名称为ACTION_BARCODE_SERVICE_BROADCAST,条码信息以字节数组的形式提供,key name为KEY_BARCODE。