<sub id="62jh5"><p id="62jh5"><li id="62jh5"></li></p></sub>
  1. <center id="62jh5"></center>

    <legend id="62jh5"></legend>
    <sub id="62jh5"></sub>

    友我科技NFC讀寫器andriod開發(fā)指南(HF和UHF)

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

    目錄
    高頻HF讀寫器NFC讀寫器安卓開發(fā)
    簡介
    NFC讀寫器Android開發(fā)指南
    類usbreader
    類readerhardware
    類iso14443A
    類PSam
    類id2card

    超高頻UHF讀寫器安卓開發(fā)
    簡介
    NFC讀寫器Android開發(fā)指南
    類usbreader
    類readerhardware
    類G2

    隨著Android系統(tǒng)的設備越來越多,在Andriod設備上使用NFC讀寫器變得越來越廣泛。為了將NFC讀寫器應用android設備上,友我科技獨立研發(fā)了NFC讀寫器的android開發(fā)包,使用此開發(fā)包,工程師只需在工程中導入jar包,使用java語言就可以輕松的開發(fā)出Android下的NFC讀寫器應用APP。

    友我科技NFC讀寫器Android開發(fā)包相關(guān)信息:

    項目 信息
    支持的Android系統(tǒng) 4.0及以上版本
    讀卡器接口 USB HID(需OTG數(shù)據(jù)線)
    jar包及下載 yoworfidreader.jar
    支持的NFC讀寫器 YW-605HA,YW-607
    獲取NFC讀寫器樣品 YW-605HAYW-607
    演示程序

    點擊下載:NFC讀寫器Android演示程序

    掃描下載:

    二維碼

     

     

    NFC讀寫器Android開發(fā)指南                                

    在所有API接口中有3種返回值,說明如下:
    第一種:void, 無任何返回值
    第二種:int,返回整形,>=0為成功,<0為失敗
    第三種:byte[], byte數(shù)組, 如果為null則為失敗,只要不為null,就是執(zhí)行成功

    首先在工程中導入yoworfidreader.jar接口包,同時在在order and Export中選中yoworfidreader.jar 包,這樣可以隨著你的應用程序一起發(fā)布。

    導入yoworfidreader.jar

    選中yoworfidreader.jar

    然后再自己的工程中創(chuàng)建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系統(tǒng)下,連接USB設備會出現(xiàn)權(quán)限的提示窗口,需要此時點擊是按鈕。

    rfidreader.TryUSB(this);

     

    2. boolean Initial(Context context)

    Initial方法的作用是初始化 NFC讀寫器,只有經(jīng)過初始化后才能對讀卡器進行其他操作。初始化成功返回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讀寫器的蜂鳴器。參數(shù)如下:
    Time_ON: 蜂鳴器鳴叫的時間(100ms單位)
    Time_OFF: 蜂鳴器不響的時間(100ms單位)
    Cycle:上述循環(huán)的次數(shù)

    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燈。參數(shù)如下:
    LEDIndex:LED燈的序號
    Time_ON: 蜂鳴器鳴叫的時間(100ms單位)
    Time_OFF: 蜂鳴器不響的時間(100ms單位)
    Cycle:上述循環(huán)的次數(shù)
    LedIndexOn:最后燈亮的LED序號

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

     

    1.7 int YW_AntennaStatus(boolean ATStatus)

    YW_AntennaStatus方法控制NFC讀寫器天線狀態(tài)。參數(shù)如下:
    ATStatus:true為開天線,false為關(guān)天線,默認狀態(tài)下天線時開啟的

    rfidreader.ReaderHardware.YW_AntennaStatus(true);

     

    1.8 int YW_SearchCardMode(byte Mode)

    YW_SearchCardMode方法控制NFC讀寫器天操作的卡類型。PSAM卡不用切換,參數(shù)如下:
    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

    卡類型

     

    卡類型,執(zhí)行某些函數(shù)后,會改變此值
    CardMemery byte

    卡內(nèi)存代碼

     

    卡內(nèi)存,執(zhí)行某些函數(shù)后,會改變此值
    ValueBalance int

    錢包余額

     

    錢包余額,讀取錢包余額成功后,改變此值
    ATQA short

    ATQA

     

    ATQA,執(zhí)行某些函數(shù)后,會改變此值
    SAK byte

    SAK

     

    SAK,執(zhí)行某些函數(shù)后,會改變此值

    類iso14443A的方法:

     

    2.1 int YW_RequestCard(byte requestMode)

    YW_RequestCard尋卡。參數(shù)如下:
    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)

    根據(jù)卡號選擇一張卡來操作。參數(shù)如下:
    CardNo:要操作的卡號

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

     

    2.4 byte[] YW_AntiCollideAndSelect(byte MultiMode)

    防沖撞并且選擇一張卡。該函數(shù)集成了YW_AntiCollide和YW_CardSelect兩個函數(shù) 參數(shù)如下:
    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)

    下載密鑰到讀寫器中, 參數(shù)如下:
    KeyIndex:密鑰序號,最多可以下載32組密鑰,序號從0到31
    Key:密鑰,6字節(jié)

    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)

    使用下載的密鑰進行認證, 參數(shù)如下:
    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)

    使用密鑰進行認證, 參數(shù)如下:
    KeyMode:使用A密鑰還是B密鑰認證,Key_A為A密鑰,Key_B為B密鑰
    BlockAddr:塊序號
    Key:密鑰,6字節(jié)

    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)

    讀數(shù)據(jù)塊, 參數(shù)如下:
    BlockAddr:塊序號

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

     

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

    寫數(shù)據(jù)塊, 參數(shù)如下:
    BlockAddr:塊序號
    BlockData:要寫入的數(shù)據(jù),16字節(jié)

    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)

    初始化錢包, 參數(shù)如下:
    BlockAddr:塊序號
    Value:要初始化的值,16字節(jié)

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

     

    2.12 int YW_Purse_Read(int BlockAddr)

    錢包讀余額,返回值不是余額,如果返回成功,余額等于ValueBalance 參數(shù)如下:
    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)

    錢包充值,參數(shù)如下:
    BlockAddr:塊序號
    Value:充值的金額

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

     

    2.14 int YW_Purse_Decrease(int BlockAddr, int Value)

    錢包消費,參數(shù)如下:
    BlockAddr:塊序號
    Value:消費的金額

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

     

    2.15 int YW_Transfer(int BlockAddr)

    錢包Transfer,參數(shù)如下:
    BlockAddr:塊序號

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

     

    2.16 int YW_Restore(int BlockAddr)

    錢包Restore,參數(shù)如下:
    BlockAddr:塊序號

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

     

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

    尋卡,防沖突和選卡,如果正確,則返回卡號,此函數(shù)相當于執(zhí)行了三個函數(shù),YW_RequestCard, YW_AntiCollide, YW_CardSelect,參數(shù)如下:
    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)

    寫多個數(shù)據(jù)塊,注意必須在同一個扇區(qū),不能跨扇區(qū), 參數(shù)如下:
    StartBlock:開始塊序號
    BlockNums:要寫的塊數(shù)量
    AllData:要寫入的數(shù)據(jù),BlockNums*16字節(jié)

    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)

    讀多個數(shù)據(jù)塊,,注意必須在同一個扇區(qū),不能跨扇區(qū) 參數(shù)如下:
    StartBlock:開始塊序號
    BlockNums:要讀的塊數(shù)量

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

     

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

    CPU卡復位,復位成功,返回復位信息,參數(shù)如下:
    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卡執(zhí)行COS指令,返回執(zhí)行COS的結(jié)果,參數(shù)如下:
    COS:COS指令byte數(shù)組

    byte[] cos=new byte[5];//獲取8字節(jié)隨機數(shù)
    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卡讀數(shù)據(jù)塊, 參數(shù)如下:
    BlockID:塊序號

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

     

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

    UltraLight寫數(shù)據(jù)塊, 參數(shù)如下:
    BlockID:塊序號
    BlockData:要寫入的數(shù)據(jù),4字節(jié)

    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卡波特率, 參數(shù)如下:
    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卡復位,成功返回復位信息,, 參數(shù)如下:
    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卡執(zhí)行COS,成功返回結(jié)果信息,, 參數(shù)如下:
    COS:SAM卡COS指令

    byte[] cos=new byte[5];//獲取8字節(jié)隨機數(shù)
    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波特率, 參數(shù)如下:
    BaudIndex:波特率序號,從0到9

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

     

    3.6 int YW_SAM_PPSBaud_Ex(byte BaudIndex, byte Protocol))

    帶參數(shù)指定PSAM卡PPS波特率, 參數(shù)如下:
    BaudIndex:波特率序號,從0到9
    Protocol:指定T=0,T=1協(xié)議

    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卡讀卡器,開發(fā)包,二次開發(fā),智能卡讀卡器,RFID讀卡器,CPU卡讀寫器,讀卡模塊
    北京友我科技有限公司 版權(quán)所有 (C)2015-2015
    客戶服務中心信箱:coodor#126.com(將#改為@).客戶服務MSN: coodor#126.com(將#改為@)
    熱線直撥: 010-57049038 18910685939 QQ: 896163157,1403463073
    京ICP備14016005號
    微信掃一掃聯(lián)系我們

    微信掃一掃聯(lián)系我們

    友我科技


    1
    RFID讀寫器產(chǎn)品手冊下載
    2
    讀寫器開發(fā)SDK下載
    3
    WEB讀卡器開發(fā)指南
    4
    Windows讀卡器開發(fā)指南
    5
    Android讀卡器開發(fā)指南
    6
    Wince讀卡器開發(fā)指南
    7
    PLC讀卡器開發(fā)指南
    8
    Linux讀卡器開發(fā)指南
    9
    單片機讀卡器開發(fā)指南
    10
    PCSC讀卡器開發(fā)指南
      <sub id="62jh5"><p id="62jh5"><li id="62jh5"></li></p></sub>
    1. <center id="62jh5"></center>

      <legend id="62jh5"></legend>
      <sub id="62jh5"></sub>
      国产精品pans嫩模写真 | 91黑人玩弄极品人妻 | 国产 —一级a毛一级a看免费 | 太粗大了潘金莲受不了桃 | 爱爱爱爱网| 无码精品少妇一区二区三区久久 | 男生和女生搞鸡的视频 | 操屄黄色成人网站 | 艳妇臀荡h乳欲伦交换漫画 | 大鸡巴操小穴视频 |