支持IC卡讀(dú)卡器在andriod中應(yīng)用,andriod4.0及以上
目錄
超高頻UHF讀寫器安卓開發
簡介
NFC讀寫器Android開發指南
類usbreader
類readerhardware
類G2
高頻HF讀寫器NFC讀寫器安卓開發
簡介
NFC讀寫器Android開發指南
類usbreader
類readerhardware
類iso14443A
類PSam
類id2card
随著(zhe)Android系統的設備越來越多,在Andriod設備上使用UHF讀寫器變得越來越廣泛。爲瞭(le)将UHF讀寫器應用android設備上,友我科技獨立研發瞭(le)UHF讀寫器的android開發包,使用此開發包,工程師隻需在工程中導入jar包,使用java語言就可以輕松的開發出Android下的UHF讀寫器應用APP。
| 項目 | 信息 |
|---|---|
| 支持的Android系統 | 4.0及以上版本 |
| 讀卡器接口 | USB HID(需OTG數據線) |
| jar包及下載 | yoworfidreaderuhf.jar |
| 支持的NFC讀寫器 | YW-602H |
| 獲取NFC讀寫器樣品 | 購買YW-602H |
| 演示程序 |
掃描下載:
|
在所有API接口中有3種返回值,說明如下:
第一種:void, 無任何返回值
第二種:int,返回整形,>=0爲成功,<0爲失敗
第三種:byte[], byte數組, 如果爲null則爲失敗,隻要不爲null,就是執行成功
首先在工程中導(dǎo)入yoworfidreaderuhf.jar接口包,同時在在order and Export中選中yoworfidreaderuhf.jar 包,這樣可以随著(zhe)你的應用程序一起發布。


然後(hòu)再自己的工程中創(chuàng)建usbreaderuhf的object,如下所示:
public usbreadeuhfr rfidreader;
rfidreader = new usbreaderuhf();
隻(zhǐ)要rfidreader!=null,就可以使用瞭(le)。
類(lèi)usbreaderuhf的屬(shǔ)性:
| 屬性名 | 類型(類名) | 名稱 | 備注 |
|---|---|---|---|
| ReaderHardware | readerhardware | NFC讀卡器硬件操作類 | 可以操作讀卡器的蜂鳴器,LED燈等 |
| G2 | G2 | ISO18000-6C,G2類型的标簽操作類 | 操作ISO18000-6C,G2标簽 |
1. void TryUSB(Context context)
TryUSB方法的作用是嘗(cháng)試連接USB設備(bèi),在android系統下,連接USB設備(bèi)會出現權限的提示窗口,需要此時點擊是按鈕。
rfidreader.TryUSB(this);
2. boolean Initial(Context context)
Initial方法的作用是初始化 UHF讀(dú)寫器YW-602H,隻有經過初始化後才能對讀(dú)卡器進行其他操作。初始化成功返回true,失敗(bài)返回false。
rfidreader.Initial(this);
usbreaderuhf類(lèi)有多個(gè)public的屬性,這些屬性分别操作各類(lèi)IC卡片
1、ReaderHardware,類名:readerhardware,功能:管理讀(dú)卡器硬件和切換(huàn)卡片類型
1.1 int YW_GetLibVersion()
YW_GetLIBVersion方法獲(huò)取jar庫(kù)的版本号。如下代碼所示:
int Ver = rfidreader.ReaderHardware.YW_GetLibVersion();
1.2 int YW_GetReaderVersion()
YW_GetReaderVersion方法獲(huò)取UHF讀(dú)寫器YW-602H的版本号。如下代碼所示:
int Ver = rfidreader.ReaderHardware.YW_GetReaderVersion();
1.3 byte[] YW_GetReaderSerial()
YW_GetReaderSerial方法獲(huò)取UHF讀(dú)寫器YW-602H的序列号。如下代碼所示:
byte[] SerialNo = rfidreader.ReaderHardware.YW_GetReaderSerial();
1.4 byte[] YW_GetReaderNo()
YW_GetReaderSerial方法獲(huò)取UHF讀(dú)寫器YW-602H型号。如下代碼所示:
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_SetPower(int Power)
YW_SetPower方法設置讀卡器的功率,功率範圍從1200到2000可以設置,理論上功率越大,讀卡距離越遠.讀卡器默認功率爲1450.。參數如下:
Power:功率值1200到2000
rfidreader.ReaderHardware.YW_SetPower (1450);
1.8 int YW_GetPower()
YW_GetPower獲取讀卡器當前工作的功率.
int Power=rfidreader.ReaderHardware.YW_GetPower();
1.9 int YW_SetInventoryThreshold(int Threshold)
YW_ SetInventoryThreshold方法設置讀卡器的尋卡阈值,值得範圍在190到210之間,值越大讀卡距離越小,對於功率一定, 卡相同的情況下,可以設置此值來控制讀卡距離。參數如下:
Threshold:尋卡阈值190到210
rfidreader.ReaderHardware.YW_SetInventoryThreshold (200);
1.10 int YW_GetInventoryThreshold()
YW_ GetInventoryThreshold獲取讀卡器當前工作的尋卡阈值.
int Threshold=rfidreader.ReaderHardware.YW_GetInventoryThreshold();
2、G2,類名:G2,功能:操作ISO18000-6C,G2等UHF标簽
類G2的屬性:
| 屬性名 | 類型(類名) | 名稱 | 備注 |
|---|---|---|---|
| MEMBANK_RESERVED | byte | 保留區 | 常量 |
| MEMBANK_EPC | byte | EPC區 | 常量 |
| MEMBANK_TID | byte | TID區 | 常量 |
| MEMBANK_USER | byte | 用戶區 | 常量 |
類G2的方法:
2.1 byte[] YW_G2_Inventory()
UHF電(diàn)子标簽盤庫尋卡,讀到卡返回EPC,沒有讀到卡返回null.每次返回一張卡的EPC, 對於(yú)多張卡, 可以多次調用.
byte[] EPC = rfidreader.G2.YW_G2_Inventory();
if(EPC==null)return;
2.2 byte[] YW_G2_Read(byte[] EPC, byte MemType, byte StartPos, byte ReadLen,int Password)
讀UHF電子标簽的内存區,參數如下:
byte[] EPC: 輸入,要讀的UHF标簽的EPC.
byte MemType: 内存類型,用戶區,EPC區,TID區,保留區中的一個.
byte StartPos:起始地址,字節爲單位,但必須是2的倍數.
byte ReadLen:要讀的字節數,必須是2的倍數.
int Password: 讀寫的密碼,默認爲0.
byte[] Data= rfidreader.G2.YW_G2_Read (EPC, rfidreader.G2. MEMBANK_USER,0,10,0);
if(Data==null)return
2.3 int YW_G2_Write(byte[] EPC,byte MemType, byte StartPos,int Password,byte[] G2Data)
寫UHF電子标簽的内存區,參數如下:
byte[] EPC: 輸入,要寫的UHF标簽的EPC.
byte MemType: 内存類型,用戶區,EPC區,TID區,保留區中的一個.
byte StartPos:起始地址,字節爲單位,但必須是2的倍數.
int Password: 讀寫的密碼,默認爲0.
byte[] G2Data: 要寫得數據數組,數組長度必須是2的倍數.
byte[] Data =new byte[10];
…
int rt= rfidreader.G2. YW_G2_Write(EPC, rfidreader.G2. MEMBANK_USER,0,0, Data);
if(rt<=0)return
2.4 int YW_G2_WriteEPC(byte[] EPC, int Password)
寫UHF電子标簽的EPC代碼,相當於修改卡号,每次隻能寫一張标簽,參數如下:
byte[] EPC:新的EPC代碼,數組長度必須是2的倍數.
int Password: 讀寫的密碼,默認爲0.
byte[] NewEPC=new byte[12];
…
int rt= rfidreader.G2.YW_G2_WriteEPC(NewEPC, 0);
if(rt<=0)return
2.5 int YW_G2_KillTag(byte[] EPC,int Password)
滅活一張電子标簽,滅活後,标簽将不可用,如果KillPassword=0,則不能滅活,即kill失敗. 參數如下:
byte[] EPC:要操作的電子标簽的EPC.
int Password: KillPassword的密碼,當爲0,則不能滅活.
int KillPassword=5230;
int rt= rfidreader.G2. YW_G2_KillTag (EPC, KillPassword);
if(rt<=0)return
2.6 int YW_G2_SetProtected(byte[] EPC,byte Protect, byte ProtectMode,int Password)
标簽設置保護, 參數如下:
byte[] EPC:要操作的電子标簽的EPC.
byte Protect:
0x00時,控制銷毀密碼讀寫保護設定。
0x01時,控制訪問密碼讀寫保護設定。
0x02時,控制EPC存儲區讀寫保護設定。
0x03時,控制TID存儲區讀寫保護設定。
0x04時,控制用戶存儲區讀寫保護設定。
byte ProtectMode:
當Protect爲0x00或0x01,即當設置Kill密碼區或訪問密碼區的時候,ProtectMode的值代表的意義如下:
0x00:設置爲無保護下的可讀可寫
0x01:設置爲永遠可讀可寫
0x02:設置爲帶密碼可讀可寫
0x03:設置爲永遠不可讀不可寫
當Protect爲0x02、0x03、0x04的時候,即當設置EPC區、TID區及用戶區的時候,ProtectMode的值代表的意義如下:
0x00:設置爲無保護下的可寫
0x01:設置爲永遠可寫
0x02:設置爲帶密碼可寫
0x03:設置爲永遠不可寫
int Password: 訪問password的密碼
int rt= rfidreader.G2. YW_G2_ SetProtected (EPC, 2,3,0);
if(rt<=0)return
2.7 int YW_G2_Earse(byte[] EPC,byte MemType, byte StartPos,byte Nums,int Password)
标簽擦除某個内存數據,将所選擇的内存數據全部設置爲0.
byte[] EPC:要操作的電子标簽的EPC.
byte MemType: 内存類型,用戶區,EPC區,TID區,保留區中的一個.
byte StartPos:起始地址,字節爲單位,但必須是2的倍數.
byte Nums:要擦除的字節數,必須是2的倍數.
int Password: 讀寫的密碼,默認爲0.
int rt= rfidreader.G2. YW_G2_ Earse (EPC, rfidreader.G2. MEMBANK_USER,0,10,0);
if(rt<=0)return
2.8 int YW_G2_SetReadProtectedWithEPC(byte[] EPC,int Password)
設置标簽讀保護.
byte[] EPC:要操作的電子标簽的EPC.
int Password: 讀寫的密碼,默認爲0.
int rt= rfidreader.G2.SetReadProtectedWithEPC (EPC, 0);
if(rt<=0)return
2.9 int YW_G2_SetEASAlert(byte[] EPC,int Password, byte EAS)
設置标簽EAS報警
byte[] EPC:要操作的電子标簽的EPC.
int Password: 讀寫的密碼,默認爲0.
byte EAS: EAS值.
int rt= rfidreader.G2.SetEASAlert(EPC, 0,0x50);
if(rt<=0)return
2.10 byte[] YW_G2_TestEASAlert()
獲取标簽EAS報警
byte[] EAS= rfidreader.G2.GetEASAlert();
if(EAS==0)return
2.11 int YW_G2_LockUser(byte[] EPC,int Password, byte UserAddr)
鎖定用戶區内存
byte[] EPC:要操作的電子标簽的EPC.
int Password: 讀寫的密碼,默認爲0.
byte UserAddr: 用戶區地址.
int rt= rfidreader.G2.LockUser (EPC, 0,10);
if(rt<=0)return
|
RFID讀寫器,SDK,IC卡讀卡器,開發包,二次開發,智能卡讀卡器,RFID讀卡器,CPU卡讀寫器,讀卡模塊 微信掃一掃聯系我們 |
1 |
RFID讀寫器産品手冊下載 |
2 |
讀寫器開發SDK下載 |
3 |
WEB讀卡器開發指南 |
4 |
Windows讀卡器開發指南 |
5 |
Android讀卡器開發指南 |
6 |
Wince讀卡器開發指南 |
7 |
PLC讀卡器開發指南 |
8 |
Linux讀卡器開發指南 |
9 |
單片機讀卡器開發指南 |
10 |
PCSC讀卡器開發指南 |