高頻卡介紹
- 目前的高頻智能卡分為3種,分別為ISO14443A, ISO14443B和ISO15693協議的,這3種協議的卡片在友我科技IC卡讀卡器web插件系統中都得到支持.
如何獲取這3種卡的卡號呢? 在友我科技IC卡讀卡器web插件系統中這是最簡單的應用,我們將逐一介紹.
典型的ISO14443A卡有M1卡,包括其兼容的卡如國產的F08卡都屬于此類.
讀取這類卡使用的API接口如下:
RequestTypeACardNo(FormatID, OrderID)
參數:FormatID,返回的卡號格式,0:16進制(8HEX),1:10進制(10DEC).
OrderID, 卡號的現實順序,0:正常順序,1:倒序.
返回值在第二章中介紹的回調函數中.
我們給一個完整的調用方法:
調用api:
function ReadCardNo()
{
var FormatID;
var OrderID;
FormatID = 1;
OrderID = 0;
rfidreader.Repeat=1;
rfidreader.HaltAfterSuccess=1;
rfidreader.RequestTypeACardNo(FormatID, OrderID);
}
如果在repeat=1的情況下,一旦讀到IC卡,則會觸發回調函數:
rfidreader.onResult(function(resultdata)
{
switch(resultdata.FunctionID)
{
case 0:
if(resultdata.Result>0)
{
CardNo=resultdata.strData;
}
break;
}
}
);
在回調函數中resultdata.strData就是所讀取的卡號(10DEC格式),
至此,一個簡單的循環讀卡號的web程序就可以運行了,如果只要刷卡,對應的卡號就會傳給web頁面供處理.

ISO14443B最為代表的就是身份證,我們此處以讀取身份證卡號為例:
api接口如下:
function ReadIDCard()
{
rfidreader.Repeat=0;
rfidreader.HaltAfterSuccess=0;
rfidreader.RequestChinaIDCardNo();
}
rfidreader.onResult(function(resultdata)
{
switch(resultdata.FunctionID)
{
case 3:
if(resultdata.Result>0)
{
CardNo= resultdata.strData;
}
break;
}
}
);
ISO15693標簽有Icode系列和Tagit等,所有的ISO15693協議的標簽尋卡api如下
沒有任何參數, 調用即可獲取ISO15693的卡號.
完整的代碼如下:
api調用:
function ReadCard()
{
rfidreader.Repeat=1;
rfidreader.HaltAfterSuccess=1;
rfidreader.Request15693CardUID();
}
rfidreader.onResult(function(resultdata)
{
switch(resultdata.FunctionID)
{
case 14:
document.getElementById("CloudReaderVer").value = resultdata.strData;
break;
case 2:
if(resultdata.Result>0)
{
CardNo =resultdata.strData;
}
break;
}
}
);
至此可以看出,對于高頻卡的3種卡類型,處理方式都是一樣的,在web中調用起來也非常簡單,下一章我們將介紹如下讀寫卡內的數據.