支持RFID讀寫模塊在Wince5.0和Wince6.0系統應用
目錄
簡介
RFID模塊選型
RFID模塊Wince API-基礎函數
RFID模塊Wince API-ISO14443A函數
RFID模塊Wince API-CPU卡函數
RFID模塊Wince API-ISO14443B函數
RFID模塊Wince API-ISO15693函數
友我科技高頻RFID讀寫模塊集成了原裝進口的高性能射頻芯片,配以多重硬件和軟件保護,運行穩定可靠。公司在多年的射頻開發和現場經驗上,不斷地完善和開發出新的RFID產品,以適應各個行業和平臺的使用需求。這些RFID模塊支持ISO14443-A Mifare One S50,S70,UltraLight,MifarePro,ISO14443-B SR176, ISO15693 ,I CODE SL2 和其他相關兼容卡片。針對WINCE系統,我們發布了yw20x.dll,方便工程師將友我科技的模塊潛入到wince系統中。
目前,友我科技的模塊和wince動態庫yw20x.dll可以使用在wince5.0和wince6.0,net frame 2.0及以上的系統環境。同時,友我科技為客戶提供網絡tcpip的wince解決方案和動態庫dll,相關需求請聯系客服。
型號 |
支持卡協議 |
供電電壓 |
接口 |
尺寸 |
支持卡片 |
YW-201 |
ISO14443A |
+5V |
IIC,UART(TTL) |
20*40 |
Mifare S50,S70,CPU |
YW-201C |
ISO14443A |
+5V |
IIC,UART(TTL) |
60*60 |
Mifare S50,S70,CPU |
YW-201C3 |
ISO14443A |
+3.3V |
IIC,UART(TTL) |
60*60 |
Mifare S50,S70,CPU |
YW-202 |
ISO14443A |
+5V |
IIC,UART(TTL) |
20*40 |
Mifare S50,S70,CPU,SR512 |
YW-202C |
ISO14443A |
+5V |
IIC,UART(TTL) |
60*60 |
Mifare S50,S70,CPU,SR512 |
YW-203 |
ISO15693 |
+5V |
IIC,UART(TTL) |
20*40 |
ICode,TagIT,, MB89R118B |
YW-203C |
ISO15693 |
+5V |
IIC,UART(TTL) |
60*60 |
ICode,TagIT,, MB89R118B |
YW-204 |
ISO14443A |
+5V |
IIC,UART(TTL) |
20*40 |
Mifare S50,S70,CPU,SR512, ICode,TagIT,, MB89R118B |
YW-204C |
ISO14443A |
+5V |
IIC,UART(TTL) |
60*60 |
Mifare S50,S70,CPU,SR512, ICode,TagIT,, MB89R118B |
YW-401 |
ISO14443A |
+3.3V |
IIC,UART(TTL) |
38*38 |
Mifare S50,S70,CPU |
YW-411 |
ISO14443A |
+3.3V |
UART(TTL) |
45*45 |
Mifare S50,S70 |
1.1 DES加解密函數
方法:public static extern int DES(byte cModel, byte[] pkey, byte[] pInData, byte[] pOutData);
參數列表:
參數 |
類型 |
方向 |
說明 |
cModel |
byte |
IN |
DES方式: |
pkey |
byte[] |
IN |
DES 密鑰(8 bytes) |
pInData |
byte[] |
IN |
原始數據(8 bytes) |
pOutData |
byte[] |
OUT |
加密后的數據(8 bytes) |
返回值:0x01->成功,<=0 失敗
1.2 3DES加解密函數
方法:public static extern int DES3(byte cModel, byte[] pKey, byte[] pInData, byte[] pOutData);
參數列表:
參數 |
類型 |
方向 |
說明 |
cModel |
byte |
IN |
DES方式: |
pkey |
byte[] |
IN |
DES密鑰(16 bytes) |
pInData |
byte[] |
IN |
原始數據(8 bytes) |
pOutData |
byte[] |
OUT |
加密后的數據(8 bytes) |
返回值:0x01->成功,<=0 失敗
1.3 帶向量的3DES加解密函數
方法:public static extern int DES3_CBC(byte cModel, byte[] pKey,byte[] pInData, byte[] pOutData, byte[] pIV);
參數列表:
參數 |
類型 |
方向 |
說明 |
cModel |
byte |
IN |
DES方式: |
pkey |
byte[] |
IN |
DES 密鑰(16 bytes) |
pInData |
byte[] |
IN |
原始數據(8 bytes) |
pOutData |
byte[] |
OUT |
加密后的數據(8 bytes) |
pIV |
byte[] |
IN |
Vector(8 bytes) |
返回值:0x01->成功,<=0 失敗
1.4 打開串口
方法:public static extern int YW_ComInitial(int PortIndex, int Baud);
參數列表:
參數 |
類型 |
方向 |
說明 |
PortIndex |
int |
IN |
串口號 |
Baud |
int |
IN |
波特率 |
返回值:0x01->成功,<=0 失敗
1.5 關串口
方法:public static extern int YW_ComFree()
參數列表:None
返回值:0x01->成功,<=0 失敗
1.6 修改模塊波特率
方法:public static extern int YW_ComNewBaud(int NewBaudIndex);
參數列表:
參數 |
類型 |
方向 |
說明 |
NewBaudIndex |
int |
IN |
0x00->9600 |
返回值:0x01->成功,<=0 失敗
1.7 開關模塊射頻天線
方法:public static extern int YW_AntennaStatus(bool AntOpen,bool AutoRequest)
參數列表:
參數 |
類型 |
方向 |
說明 |
AntOpen |
bool |
IN |
True: 開天線 |
AutoRequest |
bool |
IN |
是否自動尋卡,wince系統請設置成false |
返回值:0x01->成功,<=0 失敗
1.8 尋卡類型設置
方法:public static extern int YW_SearchCardMode(byte Mode);
參數列表:
參數 |
類型 |
方向 |
說明 |
Mode |
byte |
IN |
0x41‐類型 A(0x41) |
返回值:0x01->成功,<=0 失敗
1.9 寫模塊內存
方法:public static extern int YW_WriteReaderMemory(int AddrBegin, int DataLen, byte[] Data)
參數列表:
參數 |
類型 |
方向 |
說明 |
AddrBegin |
int |
IN |
起始地址 |
DataLen |
int |
IN |
數據長度 |
Data |
byte[] |
IN |
數據 |
返回值:0x01->成功,<=0 失敗
1.10 讀模塊內存
方法:public static extern int YW_ReadReaderMemory(int AddrBegin, int DataLen, byte[] DataRead);
參數列表:
參數 |
類型 |
方向 |
說明 |
AddrBegin |
int |
IN |
起始地址 |
DataLen |
int |
IN |
數據長度 |
Data |
byte[] |
OUT |
數據 |
返回值:0x01->成功,<=0 失敗
1.11 模塊休眠,任何指令可以激活
方法:public static extern int YW_ModuleSleep()
參數列表:None
返回值:0x01->成功,<=0 失敗
1.12 獲取IIC地址
方法:public static extern int YW_ GetIICAddr ();
參數列表:None
<=0 失敗, >0 IIC 地址
1.13 設置IIC地址
方法:public static extern int YW_SetIICAddr(byte IICAddr);
參數列表:
參數 |
類型 |
方向 |
說明 |
IICAddr |
byte |
IN |
新的IIC地址 |
返回值:0x01->成功,<=0 失敗
2.1 ISO14443A 尋卡
方法:public static extern int YW_RequestCard(byte CardMode, byte[] CardNo,byte[] OtherInfo);
參數列表:
參數 |
類型 |
方向 |
說明 |
CardMode |
byte |
IN |
0x00: 所有卡 |
CardNo |
byte[] |
OUT |
卡號. |
OtherInfo |
byte[] |
OUT |
其他信息 |
<=0 失敗, else 返回值 value(>0) is the length of CardNo.
2.2 讀M1卡塊數據
方法:public static extern int YW_ReadaBlock(byte KeyAB,byte KeyMode,byte KeyIndx, byte[] Key, int BlockAddr, byte[] pData)
參數列表:
參數 |
類型 |
方向 |
說明 |
KeyAB |
byte |
IN |
0x00: Key A |
KeyMode |
byte |
IN |
0x00: 命令密鑰 |
KeyIndx |
byte |
IN |
如果采用系統密鑰 KeyIndx =0 to 31 |
Key |
byte[] |
IN |
命令密鑰6 bytes. |
BlockAddr |
int |
IN |
塊 |
pData |
byte[] |
OUT |
16 bytes 數據 |
返回值:0x01->成功,<=0 失敗
2.3 寫M1卡塊數據
方法:public static extern int YW_ WriteaBlock (byte KeyAB,byte KeyMode,byte KeyIndx, byte[] Key, int BlockAddr, byte[] pData);
參數列表:
參數 |
類型 |
方向 |
說明 |
KeyAB |
byte |
IN |
0x00: Key A |
KeyMode |
byte |
IN |
0x00: 命令密鑰 |
KeyIndx |
byte |
IN |
如果采用系統密鑰 KeyIndx =0 to 31 |
Key |
byte[] |
IN |
命令密鑰6 bytes. |
BlockAddr |
int |
IN |
塊 |
pData |
byte[] |
IN |
16 bytes 數據 |
返回值:0x01->成功,<=0 失敗
2.4 讀M1卡扇區數據
方法:public static extern int YW_ ReadSector (byte KeyAB,byte KeyMode,byte KeyIndx, byte[] Key, int SectorAddr, byte[] pData);
參數列表:
參數 |
類型 |
方向 |
說明 |
KeyAB |
byte |
IN |
0x00: Key A |
KeyMode |
byte |
IN |
0x00: 命令密鑰 |
KeyIndx |
byte |
IN |
如果采用系統密鑰 KeyIndx =0 to 31 |
Key |
byte[] |
IN |
命令密鑰6 bytes. |
SectorAddr |
int |
IN |
扇區號 |
pData |
byte[] |
OUT |
64 bytes 數據 |
返回值:0x01->成功,<=0 失敗
2.5 M1卡初始化為錢包(值)
方法:public static extern int YW_InitiaPurse(byte KeyAB,byte KeyMode,byte KeyIndx, byte[] Key,int BlockAddr, int IniMoney);
參數列表:
參數 |
類型 |
方向 |
說明 |
KeyAB |
byte |
IN |
0x00: Key A |
KeyMode |
byte |
IN |
0x00: 命令密鑰 |
KeyIndx |
byte |
IN |
如果采用系統密鑰 KeyIndx =0 to 31 |
Key |
byte[] |
IN |
命令密鑰6 bytes. |
BlockAddr |
int |
IN |
塊號 |
IniMoney |
int |
IN |
初始值 |
返回值:0x01->成功,<=0 失敗
2.6 M1卡讀錢包(值)
方法:public static extern int YW_ ReadPurse (byte KeyAB,byte KeyMode,byte KeyIndx, byte[] Key,int BlockAddr, ref int Money);
參數列表:
參數 |
類型 |
方向 |
說明 |
KeyAB |
byte |
IN |
0x00: Key A |
KeyMode |
byte |
IN |
0x00: 命令密鑰 |
KeyIndx |
byte |
IN |
如果采用系統密鑰 KeyIndx =0 to 31 |
Key |
byte[] |
IN |
命令密鑰6 bytes. |
BlockAddr |
int |
IN |
塊號 |
Money |
Ref int |
OUT |
值 |
返回值:0x01->成功,<=0 失敗
2.7 M1卡充值錢包(加值)
方法:public static extern int YW_IncPurse( (byte KeyAB,byte KeyMode,byte KeyIndx, byte[] Key,int BlockAddr, int Money);
參數列表:
參數 |
類型 |
方向 |
說明 |
KeyAB |
byte |
IN |
0x00: Key A |
KeyMode |
byte |
IN |
0x00: 命令密鑰 |
KeyIndx |
byte |
IN |
如果采用系統密鑰 KeyIndx =0 to 31 |
Key |
byte[] |
IN |
命令密鑰6 bytes. |
BlockAddr |
int |
IN |
塊號 |
Money |
int |
IN |
值 |
返回值:0x01->成功,<=0 失敗
2.8 M1卡消費錢包(減值)
方法:public static extern int YW_DecPurse( (byte KeyAB,byte KeyMode,byte KeyIndx, byte[] Key,int BlockAddr, int Money);
參數列表:
參數 |
類型 |
方向 |
說明 |
KeyAB |
byte |
IN |
0x00: Key A |
KeyMode |
byte |
IN |
0x00: 命令密鑰 |
KeyIndx |
byte |
IN |
如果采用系統密鑰 KeyIndx =0 to 31 |
Key |
byte[] |
IN |
命令密鑰6 bytes. |
BlockAddr |
int |
IN |
塊號 |
Money |
int |
IN |
值 |
返回值:0x01->成功,<=0 失敗
2.9 備份錢包(值)
方法:public static extern int YW_BakPurse(byte KeyAB,byte KeyMode,byte KeyIndx, byte[] Key,int SrcBlockAddr, int DesBlockAddr);
參數列表:
參數 |
類型 |
方向 |
說明 |
KeyAB |
byte |
IN |
0x00: Key A |
KeyMode |
byte |
IN |
0x00: 命令密鑰 |
KeyIndx |
byte |
IN |
如果采用系統密鑰 KeyIndx =0 to 31 |
Key |
byte[] |
IN |
命令密鑰6 bytes. |
SrcBlockAddr |
int |
IN |
原塊號 |
DesBlockAddr |
int |
IN |
目的塊號 |
返回值:0x01->成功,<=0 失敗
2.10 卡Halt
方法:public static extern int YW_Halt_();
參數列表:None
返回值:0x01->成功,<=0 失敗
2.11 下載密鑰
方法:public static extern int YW_DownKey(int KeyIndex, byte[] Key);
參數列表:
參數 |
類型 |
方向 |
說明 |
KeyIndex |
byte |
IN |
0 to 31,密鑰序號 |
Key |
byte[] |
IN |
6 Bytes, 系統密鑰 |
返回值:0x01->成功,<=0 失敗
2.12 UltraLight讀數據
方法:public static extern int YW_M401UL_Read(byte Block, byte[] pData)
參數列表:
參數 |
類型 |
方向 |
說明 |
Block |
?byte |
IN |
塊號 |
pData |
byte[] |
OUT |
塊數據 |
返回值:0x01->成功,<=0 失敗
2.13 UltraLight寫數據
方法:public static extern int YW_M401UL_ Write (byte Block, byte[] pData);
參數列表:
參數 |
類型 |
方向 |
說明 |
Block |
?byte |
IN |
塊號 |
pData |
byte[] |
IN |
塊數據 |
返回值:0x01->成功,<=0 失敗
RFID讀寫器,SDK,IC卡讀卡器,開發包,二次開發,智能卡讀卡器,RFID讀卡器,CPU卡讀寫器,讀卡模塊 |
1 |
RFID讀寫器產品手冊下載 |
2 |
讀寫器開發SDK下載 |
3 |
WEB讀卡器開發指南 |
4 |
Windows讀卡器開發指南 |
5 |
Android讀卡器開發指南 |
6 |
Wince讀卡器開發指南 |
7 |
PLC讀卡器開發指南 |
8 |
Linux讀卡器開發指南 |
9 |
單片機讀卡器開發指南 |
10 |
PCSC讀卡器開發指南 |