web调用IC卡读卡器开发第九章--ISO15693标签操作

Posted js蚂蚁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web调用IC卡读卡器开发第九章--ISO15693标签操作相关的知识,希望对你有一定的参考价值。

ISO15693标签web读写

ISO15693标签介绍

ISO15693协议和ISO14443A/B协议是常见的三种通信协议,其中ISO15693协议的理论读写距离≤1m,ISO14443A/B协议的理论读写距≤10cm.遵循ISO15693协议的标签常见的有ICODE1和ICODE2,TagIT等等.
友我科技IC卡读卡器web插件系统对ISO15693标签开放了全部接口,可以通过javascript来操作ISO15693标签。

ISO15693标签web插件api接口

15693标签或者卡片寻卡,获取卡片UID

Request15693CardUID()

参数:无

15693标签或卡片,读块数据

ISO15693ReadBlock(StartBlock, BlockNums, DataFormat)

参数:
StartBlock: 开始块号
BlockNums:要读的块数量
DataFormat:返回数据的格式,0:16进制字符串,1:普通ascii字符串。

15693标签或卡片,写块数据

ISO15693WriteBlock(Block, Data, DataFormat)

参数:
Block: 块号
Data:要写入的数据字符串,由于一个数据块可能有4字节或者8字节,系统会根据实际情况进行4字节或者8字节进行裁减,不够的补充16进制0。
DataFormat:要写入的数据的格式,0:16进制字符串,1:普通ascii

15693标签或卡片,锁数据块

ISO15693LockBlock(Block)

参数: Block:要锁定的数据块块号

15693标签或卡片,写AFI

ISO15693WriteAFI(AFI)

参数:AFI:要写入的AFI值,1个字节16进制字符串。

15693标签或卡片,锁定AFI

ISO15693LockAFI()

参数:无
15693标签或卡片,写DSFID

ISO15693WriteDSFID(DSFID)

参数:DSFID:要写入的DSFID值,1个字节16进制字符串。
15693标签或卡片,锁定DSFID

ISO15693LockDSFID()

参数:无

ISO15693标签web盘库例程

在安装了友我科技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标签web读写例程

ISO15693标签的读和写,由于ISO15693标签的每块字节数有4字节和8字节, 写数据前需要对所操作的卡片有了解。

读第4块数据:

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;

    }
}
);

ISO15693标签写数据:

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;
    }
}
);

参考资料: IC卡读卡器web开发指南.

以上是关于web调用IC卡读卡器开发第九章--ISO15693标签操作的主要内容,如果未能解决你的问题,请参考以下文章

web调用IC卡读卡器开发第四章--读写IC卡数据

WEB开发管理系统如何调用IC卡读卡器

ic卡读卡器web开发静态调用ocx和动态调用ocx的区别

web调用IC卡读卡器开发第五章--电子钱包操作

web调用IC卡读卡器开发第六章--CPU卡APDU操作

web调用IC卡读卡器开发第七章--NFC标签NDEF数据