• BS结构RFID读写器web插件开发之九----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开发指南.

  • 相关阅读:
    [Swift]LeetCode1099. 小于 K 的两数之和 | Two Sum Less Than K
    转 用好HugePage,告别Linux性能故障
    子shell
    转 【推荐】 RAC 性能优化全攻略与经典案例剖析
    转 shell模拟数据库的读写
    c 语言写的高级Oracle®数据库调优及监控工具
    crontab 在unix 没有执行。
    Oracle 云计算
    aix 推荐使用重启
    linux 打开FTP 功能
  • 原文地址:https://www.cnblogs.com/yoworfid/p/14807346.html
Copyright © 2020-2023  润新知