<code id="919zf"><nobr id="919zf"></nobr></code>
<tr id="919zf"><option id="919zf"></option></tr>
    1. <big id="919zf"></big>
      <center id="919zf"></center>

      <big id="919zf"><em id="919zf"></em></big>

    2. <th id="919zf"></th>
    3. <u id="919zf"><em id="919zf"></em></u>

        <center id="919zf"></center>
      1. <strike id="919zf"><sup id="919zf"></sup></strike>

        <pre id="919zf"></pre>
      2. <center id="919zf"><small id="919zf"><track id="919zf"></track></small></center>
      3. 友我科技NFC读写器andriod开发指南(HF和UHF)

        支持IC卡读卡器在andriod中应用,andriod4.0及以上

        目录
        高频HF读写器NFC读写器安卓开发
        简介
        NFC读写器Android开发指南
        类usbreader
        类readerhardware
        类iso14443A
        类PSam
        类id2card

        超高频UHF读写器安卓开发
        简介
        NFC读写器Android开发指南
        类usbreader
        类readerhardware
        类G2

        随着Android系统的设备越来越多,在Andriod设备上使用NFC读写器变得越来越广泛。为了将NFC读写器应用android设备上,友我科技独立研发了NFC读写器的android开发包,使用此开发包,工程师只需在工程中导入jar包,使用java语言就可以轻松的开发出Android下的NFC读写器应用APP。

        友我科技NFC读写器Android开发包相关信息:

        项目 信息
        支持的Android系统 4.0及以上版本
        读卡器接口 USB HID(需OTG数据线)
        jar包及下载 yoworfidreader.jar
        支持的NFC读写器 YW-605HAYW-607
        获取NFC读写器样品 YW-605HAYW-607
        演示程序

        点击下载:NFC读写器Android演示程序

        扫描下载:

        二维码

         

         

        NFC读写器Android开发指南                                

        在所有API接口中有3种返回值,说明如下:
        第一种:void, 无任何返回值
        第二种:int,返回整形,>=0为成功,<0为失败
        第三种:byte[], byte数组, 如果为null则为失败,只要不为null,就是执行成功

        首先在工程中导入yoworfidreader.jar接口包,同时在在order and Export中选中yoworfidreader.jar 包,这样可以随着你的应用程序一起发布。

        导入yoworfidreader.jar

        选中yoworfidreader.jar

        然后再自己的工程中创建usbreader的object,如下所示:

        public usbreader rfidreader;
        rfidreader = new usbreader();

        只要rfidreader!=null,就可以使用了。

        类usbreader的属性:

        属性名 类型(类名) 名称 备注
        ReaderHardware readerhardware NFC读卡器硬件操作类 可以操作读卡器的蜂鸣器,LED灯等
        ISO14443A iso14443A ISO14443A类型卡片操作类 读写M1卡,CPU卡等卡片
        ISO15693 iso15693 ISO15693类型卡片操作类 读写15693卡,包含Tagit,ICode2,MB89R118C等
        ID2Card id2card 身份证卡片操作类 读取身份证卡的卡号
        PSAM PSam

        PSAM卡操作类

         

        操作PSAM卡

        类usbreader的方法:

        1. void TryUSB(Context context)

        TryUSB方法的作用是尝试连接USB设备,在android系统下,连接USB设备会出现权限的提示窗口,需要此时点击是按钮。

        rfidreader.TryUSB(this);

         

        2. boolean Initial(Context context)

        Initial方法的作用是初始化 NFC读写器,只有经过初始化后才能对读卡器进行其他操作。初始化成功返回true,失败返回false。

        rfidreader.Initial(this);

         

        usbreader类有多个public的属性,这些属性分别操作各类IC卡片

        1、ReaderHardware,类名:readerhardware,功能:管理读卡器硬件和切换卡片类型

        类readerhardware的属性:

        属性名 类型 名称 备注
        SEARCHCARDMODE_14443A byte A类卡 常量,读写M1卡,CPU卡等卡片,需要切换此种类型
        SEARCHCARDMODE_14443B byte B类卡 常量,身份证卡切换的类型
        SEARCHCARDMODE_15693 byte 15693卡 常量,15693卡切换的类型

        类readerhardware的方法:

        1.1 int YW_GetLibVersion()

        YW_GetLIBVersion方法获取jar库的版本号。如下代码所示:

        int Ver = rfidreader.ReaderHardware.YW_GetLibVersion();

         

        1.2 int YW_GetReaderVersion()

        YW_GetReaderVersion方法获取NFC读写器的版本号。如下代码所示:

        int Ver = rfidreader.ReaderHardware.YW_GetReaderVersion();

         

        1.3 byte[] YW_GetReaderSerial()

        YW_GetReaderSerial方法获取NFC读写器的序列号。如下代码所示:

        byte[] SerialNo = rfidreader.ReaderHardware.YW_GetReaderSerial();

         

        1.4 byte[] YW_GetReaderNo()

        YW_GetReaderSerial方法获取NFC读写器型号。如下代码所示:

        byte[] ModelNo = rfidreader.ReaderHardware.YW_GetReaderNo();

         

        1.5 int YW_Buzzer(int Time_ON, int Time_OFF, int Cycle)

        YW_Buzzer方法控制NFC读写器的蜂鸣器。参数如下:
        Time_ON: 蜂鸣器鸣叫的时间(100ms单位)
        Time_OFF: 蜂鸣器不响的时间(100ms单位)
        Cycle:上述循环的次数

        rfidreader.ReaderHardware.YW_Buzzer(5,5,1);

         

        1.6 int YW_Led(int LEDIndex, int Time_ON, int Time_OFF, int Cycle, int LedIndexOn)

        YW_Led方法控制NFC读写器的LED灯。参数如下:
        LEDIndex:LED灯的序号
        Time_ON: 蜂鸣器鸣叫的时间(100ms单位)
        Time_OFF: 蜂鸣器不响的时间(100ms单位)
        Cycle:上述循环的次数
        LedIndexOn:最后灯亮的LED序号

        rfidreader.ReaderHardware.YW_Led(1,5,5,1,1);

         

        1.7 int YW_AntennaStatus(boolean ATStatus)

        YW_AntennaStatus方法控制NFC读写器天线状态。参数如下:
        ATStatus:true为开天线,false为关天线,默认状态下天线时开启的

        rfidreader.ReaderHardware.YW_AntennaStatus(true);

         

        1.8 int YW_SearchCardMode(byte Mode)

        YW_SearchCardMode方法控制NFC读写器天操作的卡类型。PSAM卡不用切换,参数如下:
        Mode:卡的类型,值分别如下:
        SEARCHCARDMODE_14443A,A类卡
        SEARCHCARDMODE_14443B,B类卡
        SEARCHCARDMODE_15693,15693类卡

        rfidreader.ReaderHardware.YW_SearchCardMode(rfidreader.ReaderHardware.SEARCHCARDMODE_14443A);

        2、ISO14443A,类名:iso14443A,功能:操作TypeA卡,包括M1卡,CPU卡等

        类iso14443A的属性:

        属性名 类型(类名) 名称 备注
        REQUESTMODE_ALL byte 寻所有卡 常量
        REQUESTMODE_ACTIVE byte 寻active的卡 常量
        Key_A byte A密钥 常量
        Key_B byte B密钥 常量
        MULTIMODE_ONE byte

        返回一张卡

         

        常量
        MULTIMODE_ERR byte

        返回错误

         

        常量
        CardType short

        卡类型

         

        卡类型,执行某些函数后,会改变此值
        CardMemery byte

        卡内存代码

         

        卡内存,执行某些函数后,会改变此值
        ValueBalance int

        钱包余额

         

        钱包余额,读取钱包余额成功后,改变此值
        ATQA short

        ATQA

         

        ATQA,执行某些函数后,会改变此值
        SAK byte

        SAK

         

        SAK,执行某些函数后,会改变此值

        类iso14443A的方法:

         

        2.1 int YW_RequestCard(byte requestMode)

        YW_RequestCard寻卡。参数如下:
        requestMode:寻卡模式,有如下两种值可用:
        REQUESTMODE_ALL:寻所有的卡
        REQUESTMODE_ACTIVE:寻激活的卡

        int rt = rfidreader.ISO14443A.YW_RequestCard(rfidreader.ISO14443A.REQUESTMODE_ACTIVE);

         

        2.2 byte[] YW_AntiCollide()

        防冲撞读卡号。

        byte[] CardNo = rfidreader.ISO14443A.YW_AntiCollide();

         

        2.3 int YW_CardSelect(byte[] CardNo)

        根据卡号选择一张卡来操作。参数如下:
        CardNo:要操作的卡号

        int rt = rfidreader.ISO14443A.YW_CardSelect(CardNo);

         

        2.4 byte[] YW_AntiCollideAndSelect(byte MultiMode)

        防冲撞并且选择一张卡。该函数集成了YW_AntiCollide和YW_CardSelect两个函数 参数如下:
        MultiMode:遇到多张卡的处理方式,有两种值可用
        MULTIMODE_ONE:返回一张卡
        MULTIMODE_ERR:返回错误
        受影响的属性值:
        CardMemery

        byte[] CardNo = rfidreader.ISO14443A.YW_AntiCollideAndSelect(rfidreader.ISO14443A.MULTIMODE_ONE);

         

        2.5 int YW_CardHalt()

        对当前卡片休眠,休眠后无法使用REQUESTMODE_ACTIVE来寻卡。

        int rt = rfidreader.ISO14443A.YW_CardHalt();

         

        2.6 int YW_DownLoadKey(int KeyIndex, byte[] Key)

        下载密钥到读写器中, 参数如下:
        KeyIndex:密钥序号,最多可以下载32组密钥,序号从0到31
        Key:密钥,6字节

        byte[] Key = new byte[6];
        for(int i=0;i<6;i++)Key[i]=0xFF;
        rfidreader.ISO14443A.YW_DownLoadKey(0,Key);

         

        2.7 int YW_KeyDown_Authorization(byte KeyMode, int BlockAddr, byte KeyIndex)

        使用下载的密钥进行认证, 参数如下:
        KeyMode:使用A密钥还是B密钥认证,Key_A为A密钥,Key_B为B密钥
        BlockAddr:块序号
        KeyIndex:密钥序号,0到31

        int rtAuth= rfidreader.ISO14443A.YW_KeyDown_Authorization(rfidreader.ISO14443A.Key_A,1,0);

         

        2.8 int YW_KeyAuthorization(byte KeyMode, int BlockAddr, byte[] Key)

        使用密钥进行认证, 参数如下:
        KeyMode:使用A密钥还是B密钥认证,Key_A为A密钥,Key_B为B密钥
        BlockAddr:块序号
        Key:密钥,6字节

        byte[] Key = new byte[6];
        for(int i=0;i<6;i++)Key[i]=0xFF;
        int rtAuth= rfidreader.ISO14443A.YW_KeyAuthorization(rfidreader.ISO14443A.Key_A,1,Key);

         

        2.9 byte[] YW_ReadaBlock(int BlockAddr)

        读数据块, 参数如下:
        BlockAddr:块序号

        byte[] Data=rfidreader.ISO14443A.YW_ReadaBlock(1);

         

        2.10 int YW_WriteaBlock(int BlockAddr, byte[] BlockData)

        写数据块, 参数如下:
        BlockAddr:块序号
        BlockData:要写入的数据,16字节

        byte[] Data = new byte[16];
        for(int i=0;i<16;i++)Data[i]=0xAA;
        int rt= rfidreader.ISO14443A.YW_WriteaBlock(1,Data);

         

        2.11 int YW_Purse_Initial(int BlockAddr, int Value)

        初始化钱包, 参数如下:
        BlockAddr:块序号
        Value:要初始化的值,16字节

        int rtAuth= rfidreader.ISO14443A.YW_Purse_Initial(1,200);

         

        2.12 int YW_Purse_Read(int BlockAddr)

        钱包读余额,返回值不是余额,如果返回成功,余额等于ValueBalance 参数如下:
        BlockAddr:块序号

        int Balance=0;
        int rt= rfidreader.ISO14443A.YW_Purse_Read(1);
        if(rt>0)Balance=rfidreader.ISO14443A.ValueBalance;

         

        2.13 int YW_Purse_Charge(int BlockAddr, int Value)

        钱包充值,参数如下:
        BlockAddr:块序号
        Value:充值的金额

        int rt= rfidreader.ISO14443A.YW_Purse_Charge(1,100)

         

        2.14 int YW_Purse_Decrease(int BlockAddr, int Value)

        钱包消费,参数如下:
        BlockAddr:块序号
        Value:消费的金额

        int rt= rfidreader.ISO14443A.YW_Purse_Decrease(1,100)

         

        2.15 int YW_Transfer(int BlockAddr)

        钱包Transfer,参数如下:
        BlockAddr:块序号

        int rt= rfidreader.ISO14443A.YW_Transfer(1);

         

        2.16 int YW_Restore(int BlockAddr)

        钱包Restore,参数如下:
        BlockAddr:块序号

        int rt= rfidreader.ISO14443A.Restore(1);

         

        2.17 byte[] YW_RequestAntiandSelect(byte requestMode,byte MultiMode)

        寻卡,防冲突和选卡,如果正确,则返回卡号,此函数相当于执行了三个函数,YW_RequestCard, YW_AntiCollide, YW_CardSelect,参数如下:
        requestMode:寻卡模式,有如下两种值可用:
        REQUESTMODE_ALL:寻所有的卡
        REQUESTMODE_ACTIVE:寻激活的卡
        MultiMode:遇到多张卡的处理方式,有两种值可用
        MULTIMODE_ONE:返回一张卡
        MULTIMODE_ERR:返回错误
        受影响的属性值:
        ATQA,SAK

        int rt= rfidreader.ISO14443A.YW_RequestAntiandSelect(rfidreader.ISO14443A.REQUESTMODE_ACTIVE, rfidreader.ISO14443A.MULTIMODE_ONE);

         

        2.18 int YW_WriteM1MultiBlock( int StartBlock, int BlockNums, byte[] AllData)

        写多个数据块,注意必须在同一个扇区,不能跨扇区, 参数如下:
        StartBlock:开始块序号
        BlockNums:要写的块数量
        AllData:要写入的数据,BlockNums*16字节

        byte[] Data = new byte[32];
        for(int i=0;i<32;i++)Data[i]=0xAA;
        int rt= rfidreader.ISO14443A.YW_WriteM1MultiBlock(1,Data);

         

        2.19 byte[] YW_ReadM1MultiBlock( int StartBlock, int BlockNums)

        读多个数据块,,注意必须在同一个扇区,不能跨扇区 参数如下:
        StartBlock:开始块序号
        BlockNums:要读的块数量

        byte[] Data=rfidreader.ISO14443A.YW_ReadaBlock(1,2);

         

        2.20 byte[] YW_TypeA_Reset( byte requestMode, byte MultiMode)

        CPU卡复位,复位成功,返回复位信息,参数如下:
        requestMode:寻卡模式,有如下两种值可用:
        REQUESTMODE_ALL:寻所有的卡
        REQUESTMODE_ACTIVE:寻激活的卡
        MultiMode:遇到多张卡的处理方式,有两种值可用
        MULTIMODE_ONE:返回一张卡
        MULTIMODE_ERR:返回错误

        byte[] CPUResetData= rfidreader.ISO14443A.YW_TypeA_Reset(rfidreader.ISO14443A.REQUESTMODE_ACTIVE, rfidreader.ISO14443A.MULTIMODE_ONE);

         

        2.21 byte[] YW_TypeA_COS( byte[] COS)

        CPU卡执行COS指令,返回执行COS的结果,参数如下:
        COS:COS指令byte数组

        byte[] cos=new byte[5];//获取8字节随机数
        cos[0]=0;
        cos[1]=0x84;
        cos[2]=0;
        cos[3]=0;
        cos[4]=8;
        byte[] CPUData= rfidreader.ISO14443A.YW_TypeA_COS(cos);

         

        2.22 byte[] YW_UltraLightRead( int BlockID)

        UltraLight卡读数据块, 参数如下:
        BlockID:块序号

        byte[] Data=rfidreader.ISO14443A.YW_UltraLightRead(1);

         

        2.10 int YW_UltraLightWrite( int BlockID, byte[] BlockData)

        UltraLight写数据块, 参数如下:
        BlockID:块序号
        BlockData:要写入的数据,4字节

        byte[] Data = new byte[4];
        for(int i=0;i<4;i++)Data[i]=0xAA;
        int rt= rfidreader.ISO14443A.YW_UltraLightWrite(1,Data);

         

        3、PSAM,类名:PSam,功能:操作PSAM卡

        类:PSam的属性:

        属性名 类型(类名) 名称 备注
        PSamIndex byte PSAM卡序号 每个读卡器最多带3个PSAM卡,依次为1,2,3,指定一个操作

         

        类PSam的方法:

         

        3.1 int YW_SAM_Baud(byte BaudIndex)

        指定PSAM卡波特率, 参数如下:
        BaudIndex:波特率序号,从0到9

        int rt=rfidreader.PSAM.YW_SAM_Baud(0);

         

        3.2 byte[] YW_SAM_Reset()

        PSAM卡复位,成功返回复位信息:

        byte[] PsamReset=rfidreader.PSAM.YW_SAM_Reset();

         

        3.3 byte[] YW_SAM_Reset_Ex(byte SAMVoltage)

        含电压选择的PSAM卡复位,成功返回复位信息,, 参数如下:
        SAMVoltage:SAM卡电压,0为3.3V, 1为5V

        byte[] PsamReset=rfidreader.PSAM.YW_SAM_Reset_Ex(0);

         

        3.4 byte[] YW_SAM_COS(byte[] COS)

        PSAM卡执行COS,成功返回结果信息,, 参数如下:
        COS:SAM卡COS指令

        byte[] cos=new byte[5];//获取8字节随机数
        cos[0]=0;
        cos[1]=0x84;
        cos[2]=0;
        cos[3]=0;
        cos[4]=8;
        byte[] SAMData= rfidreader.PSAM.YW_SAM_COS(cos);

         

        3.5 int YW_SAM_PPSBaud(byte BaudIndex)

        指定PSAM卡PPS波特率, 参数如下:
        BaudIndex:波特率序号,从0到9

        int rt=rfidreader.PSAM.YW_SAM_PPSBaud(0);

         

        3.6 int YW_SAM_PPSBaud_Ex(byte BaudIndex, byte Protocol))

        带参数指定PSAM卡PPS波特率, 参数如下:
        BaudIndex:波特率序号,从0到9
        Protocol:指定T=0,T=1协议

        int rt=rfidreader.PSAM.YW_SAM_PPSBaud_Ex(0,0);

         

        4、ID2Card,类名:id2card,功能:操作身份证卡

        类:id2card的方法:

        4.1 byte[] YW_ChinaIDV2_RequestCardNo()

        获取身份证卡的卡号,不是身份证号码

        rfidreader.ReaderHardware.YW_SearchCardMode(rfidreader.ReaderHardware.SEARCHCARDMODE_14443B);
        byte [] idcardNo=rfidreader.ID2Card.YW_ChinaIDV2_RequestCardNo();

         

        RFID读写器,SDK,IC卡读卡器,开发包,二次开发,智能卡读卡器,RFID读卡器,CPU卡读写器,读卡模块
        北京友我科技有限公司 版权所有 (C)2015-2015
        客户服务中心信箱:coodor#126.com(将#改为@).客户服务MSN: coodor#126.com(将#改为@)
        热线直拨: 010-57049038 18910685939 QQ: 896163157,1403463073
        京ICP备14016005号
        微信扫一扫联系我们

        微信扫一扫联系我们

        友我科技


        1
        RFID读写器产品手册下载
        2
        读写器开发SDK下载
        3
        WEB读卡器开发指南
        4
        Windows读卡器开发指南
        5
        Android读卡器开发指南
        6
        Wince读卡器开发指南
        7
        PLC读卡器开发指南
        8
        Linux读卡器开发指南
        9
        单片机读卡器开发指南
        10
        PCSC读卡器开发指南
        欧美成年性H版影视中文字幕