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

集群狂
• 阅读 1262

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开发指南.

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
SVG跟随父级DIV自适应
后台返回过来的是这样的SVG标签<svgwidth"100%"height"100%"version"1.1"xmlns"http://www.w3.org/2000/svg"<gtransform"translate(00)"
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Stella981 Stella981
3年前
Prometheus监控学习笔记之PromQL简单示例
0x00简单的时间序列选择返回度量指标http_requests_total的所有时间序列样本数据:http_requests_total返回度量指标名称为http_requests_total,标签分别是job"apiserver",handler"/api/comments"
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
SVG跟随父级DIV自适应
后台返回过来的是这样的SVG标签<svgwidth"100%"height"100%"version"1.1"xmlns"http://www.w3.org/2000/svg"<gtransform"translate(00)"
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
34.TCP取样器
阅读文本大概需要3分钟。1、TCP取样器的作用   TCP取样器作用就是通过TCP/IP协议来连接服务器,然后发送数据和接收数据。2、TCP取样器详解!(https://oscimg.oschina.net/oscnet/32a9b19ba1db00f321d22a0f33bcfb68a0d.png)TCPClien