ISO15693协议和ISO14443A/B协议是常见的三种通信协议,其中ISO15693协议的理论读写距离≤1m,ISO14443A/B协议的理论读写距≤10cm.遵循ISO15693协议的标签常见的有ICODE1和ICODE2,TagIT等等.
友我科技IC卡读卡器web插件系统对ISO15693标签开放了全部接口,可以通过javascript来操作ISO15693标签。
ISO15693ReadBlock(StartBlock, BlockNums, DataFormat)
参数:
StartBlock: 开始块号
BlockNums:要读的块数量
DataFormat:返回数据的格式,0:16进制字符串,1:普通ascii字符串。
ISO15693WriteBlock(Block, Data, DataFormat)
参数:
Block: 块号
Data:要写入的数据字符串,由于一个数据块可能有4字节或者8字节,系统会根据实际情况进行4字节或者8字节进行裁减,不够的补充16进制0。
DataFormat:要写入的数据的格式,0:16进制字符串,1:普通ascii
参数:AFI:要写入的AFI值,1个字节16进制字符串。
ISO15693WriteDSFID(DSFID)
参数:DSFID:要写入的DSFID值,1个字节16进制字符串。
15693标签或卡片,锁定DSFID
在安装了友我科技IC卡读卡器web插件后就可以通过js脚本对ISO15693标签进行操作了。首先ISO15693盘库的代码如下:
function Start()
{
rfidreader.Repeat=1;
rfidreader.HaltAfterSuccess=1;
rfidreader.Request15693CardUID();
}
友我科技IC卡读卡器web插件通过回调函数返回盘库的标签:
rfidreader.onResult(function(resultdata)
{
switch(resultdata.FunctionID)
{
case 2:
if(resultdata.Result>0)
{
ISO15693UID= resultdata.strData;
}
break;
}
}
);
ISO15693标签的读和写,由于ISO15693标签的每块字节数有4字节和8字节, 写数据前需要对所操作的卡片有了解。
function BlockRead()
{
var blockid;
blockid = 4;
rfidreader.HaltAfterSuccess=0;
rfidreader.ISO15693ReadBlock(blockid,1,0);
}
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);
}
rfidreader.onResult(function(resultdata)
{
switch(resultdata.FunctionID)
{
case 38:
if(resultdata.Result>0)
{
ISO15693UID = resultdata.CardNo;
alert("写入成功" );
}
else
{
alert("Error");
}
break;
}
}
);