ISO15693協(xié)議和ISO14443A/B協(xié)議是常見的三種通信協(xié)議,其中ISO15693協(xié)議的理論讀寫距離≤1m,ISO14443A/B協(xié)議的理論讀寫距≤10cm.遵循ISO15693協(xié)議的標簽常見的有ICODE1和ICODE2,TagIT等等.
友我科技IC卡讀卡器web插件系統(tǒng)對ISO15693標簽開放了全部接口,可以通過javascript來操作ISO15693標簽。

ISO15693ReadBlock(StartBlock, BlockNums, DataFormat)
參數(shù):
StartBlock: 開始塊號
BlockNums:要讀的塊數(shù)量
DataFormat:返回數(shù)據(jù)的格式,0:16進制字符串,1:普通ascii字符串。
ISO15693WriteBlock(Block, Data, DataFormat)
參數(shù):
Block: 塊號
Data:要寫入的數(shù)據(jù)字符串,由于一個數(shù)據(jù)塊可能有4字節(jié)或者8字節(jié),系統(tǒng)會根據(jù)實際情況進行4字節(jié)或者8字節(jié)進行裁減,不夠的補充16進制0。
DataFormat:要寫入的數(shù)據(jù)的格式,0:16進制字符串,1:普通ascii
參數(shù): Block:要鎖定的數(shù)據(jù)塊塊號
參數(shù):AFI:要寫入的AFI值,1個字節(jié)16進制字符串。
參數(shù):無
15693標簽或卡片,寫DSFID
ISO15693WriteDSFID(DSFID)
參數(shù):DSFID:要寫入的DSFID值,1個字節(jié)16進制字符串。
15693標簽或卡片,鎖定DSFID
在安裝了友我科技IC卡讀卡器web插件后就可以通過js腳本對ISO15693標簽進行操作了。首先ISO15693盤庫的代碼如下:
function Start()
{
rfidreader.Repeat=1;
rfidreader.HaltAfterSuccess=1;
rfidreader.Request15693CardUID();
}
友我科技IC卡讀卡器web插件通過回調(diào)函數(shù)返回盤庫的標簽:
rfidreader.onResult(function(resultdata)
{
switch(resultdata.FunctionID)
{
case 2:
if(resultdata.Result>0)
{
ISO15693UID= resultdata.strData;
}
break;
}
}
);
ISO15693標簽的讀和寫,由于ISO15693標簽的每塊字節(jié)數(shù)有4字節(jié)和8字節(jié), 寫數(shù)據(jù)前需要對所操作的卡片有了解。
function BlockRead()
{
var blockid;
blockid = 4;
rfidreader.HaltAfterSuccess=0;
rfidreader.ISO15693ReadBlock(blockid,1,0);
}
讀到的數(shù)據(jù)通過回調(diào)函數(shù)返回:
rfidreader.onResult(function(resultdata)
{
switch(resultdata.FunctionID)
{
case 37:
if(resultdata.Result>0)
{
ISO15693UID = resultdata.CardNo;
ISO15693BlockData = resultdata.strData;
}
else
{
alert("Error");
}
break;
}
}
);
function BlockWrite()
{
var blockid;
var data;
blockid = 4;
data = "11223344";
rfidreader.HaltAfterSuccess=0;
rfidreader.ISO15693WriteBlock(blockid,data,0);
}
回調(diào)函數(shù)返回結(jié)果:
rfidreader.onResult(function(resultdata)
{
switch(resultdata.FunctionID)
{
case 38:
if(resultdata.Result>0)
{
ISO15693UID = resultdata.CardNo;
alert("寫入成功" );
}
else
{
alert("Error");
}
break;
}
}
);