<td id="n3ws3"></td>
          <th id="n3ws3"></th>
            <b id="n3ws3"><menuitem id="n3ws3"></menuitem></b>
            <del id="n3ws3"><form id="n3ws3"></form></del>
            <b id="n3ws3"><menuitem id="n3ws3"></menuitem></b>
          1. <dd id="n3ws3"><dl id="n3ws3"></dl></dd>

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

            支持IC卡讀卡器在andriod中應(yīng)用,andriod4.0及以上

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

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

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

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

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

            點(diǎn)擊下載:NFC讀寫器Android演示程序

            掃描下載:

            二維碼

             

             

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

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

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

            導(dǎo)入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設(shè)備,在android系統(tǒng)下,連接USB設(shè)備會出現(xiàn)權(quán)限的提示窗口,需要此時(shí)點(diǎn)擊是按鈕。

            rfidreader.TryUSB(this);

             

            2. boolean Initial(Context context)

            Initial方法的作用是初始化 NFC讀寫器,只有經(jīng)過初始化后才能對讀卡器進(jìn)行其他操作。初始化成功返回true,失敗返回false。

            rfidreader.Initial(this);

             

            usbreader類有多個(gè)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: 蜂鳴器鳴叫的時(shí)間(100ms單位)
            Time_OFF: 蜂鳴器不響的時(shí)間(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: 蜂鳴器鳴叫的時(shí)間(100ms單位)
            Time_OFF: 蜂鳴器不響的時(shí)間(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)天線,默認(rèn)狀態(tài)下天線時(shí)開啟的

            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

            返回錯(cuò)誤

             

            常量
            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兩個(gè)函數(shù) 參數(shù)如下:
            MultiMode:遇到多張卡的處理方式,有兩種值可用
            MULTIMODE_ONE:返回一張卡
            MULTIMODE_ERR:返回錯(cuò)誤
            受影響的屬性值:
            CardMemery

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

             

            2.5 int YW_CardHalt()

            對當(dāng)前卡片休眠,休眠后無法使用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)

            使用下載的密鑰進(jìn)行認(rèn)證, 參數(shù)如下:
            KeyMode:使用A密鑰還是B密鑰認(rèn)證,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)

            使用密鑰進(jìn)行認(rèn)證, 參數(shù)如下:
            KeyMode:使用A密鑰還是B密鑰認(rèn)證,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)

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

            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ù)相當(dāng)于執(zhí)行了三個(gè)函數(shù),YW_RequestCard, YW_AntiCollide, YW_CardSelect,參數(shù)如下:
            requestMode:尋卡模式,有如下兩種值可用:
            REQUESTMODE_ALL:尋所有的卡
            REQUESTMODE_ACTIVE:尋激活的卡
            MultiMode:遇到多張卡的處理方式,有兩種值可用
            MULTIMODE_ONE:返回一張卡
            MULTIMODE_ERR:返回錯(cuò)誤
            受影響的屬性值:
            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)

            寫多個(gè)數(shù)據(jù)塊,注意必須在同一個(gè)扇區(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)

            讀多個(gè)數(shù)據(jù)塊,,注意必須在同一個(gè)扇區(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卡復(fù)位,復(fù)位成功,返回復(fù)位信息,參數(shù)如下:
            requestMode:尋卡模式,有如下兩種值可用:
            REQUESTMODE_ALL:尋所有的卡
            REQUESTMODE_ACTIVE:尋激活的卡
            MultiMode:遇到多張卡的處理方式,有兩種值可用
            MULTIMODE_ONE:返回一張卡
            MULTIMODE_ERR:返回錯(cuò)誤

            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é)隨機(jī)數(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卡序號 每個(gè)讀卡器最多帶3個(gè)PSAM卡,依次為1,2,3,指定一個(gè)操作

             

            類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卡復(fù)位,成功返回復(fù)位信息:

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

             

            3.3 byte[] YW_SAM_Reset_Ex(byte SAMVoltage)

            含電壓選擇的PSAM卡復(fù)位,成功返回復(fù)位信息,, 參數(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é)隨機(jī)數(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
            客戶服務(wù)中心信箱:coodor#126.com(將#改為@).客戶服務(wù)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
            單片機(jī)讀卡器開發(fā)指南
            10
            PCSC讀卡器開發(fā)指南
              <td id="n3ws3"></td>
                    <th id="n3ws3"></th>
                      <b id="n3ws3"><menuitem id="n3ws3"></menuitem></b>
                      <del id="n3ws3"><form id="n3ws3"></form></del>
                      <b id="n3ws3"><menuitem id="n3ws3"></menuitem></b>
                    1. <dd id="n3ws3"><dl id="n3ws3"></dl></dd>
                      免费无码婬片A片AAA毛片96 | 麻豆成人久久久 | 成人免费性爱网站 | 免费日韩黄色电影 | 日韩三级网址 |