ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

BS结构RFID读写器web插件开发之三----读取高频卡卡号

2021-05-14 09:51:39  阅读:244  来源: 互联网

标签:function web 插件 读取 resultdata rfidreader 读写器 卡号


@TOC
目前的高频智能卡分为3种,分别为ISO14443A, ISO14443B和ISO15693协议的,这3种协议的卡片在友我科技IC卡读卡器web插件系统中都得到支持.
如何获取这3种卡的卡号呢? 在友我科技IC卡读卡器web插件系统中这是最简单的应用,我们将逐一介绍.

读取ISO14443A卡号

典型的ISO14443A卡有M1卡,包括其兼容的卡如国产的F08卡都属于此类.
读取这类卡使用的API接口如下:

RequestTypeACardNo(FormatID, OrderID)

参数:FormatID,返回的卡号格式,0:16进制(8HEX),1:10进制(10DEC).
OrderID, 卡号的现实顺序,0:正常顺序,1:倒序.

返回值在第二章中介绍的回调函数中.
我们给一个完整的调用方法:
调用api:

function ReadCardNo()
{
    var FormatID;
    var OrderID;

    FormatID = 1; //10进制(10DEC).
    OrderID = 0;   //0:正常顺序
    rfidreader.Repeat=1; //repeat=1为重复执行,
    rfidreader.HaltAfterSuccess=1;//卡未离开至读取一次
    rfidreader.RequestTypeACardNo(FormatID, OrderID);
}

如果在repeat=1的情况下,一旦读到IC卡,则会触发回调函数:

rfidreader.onResult(function(resultdata)
{
    switch(resultdata.FunctionID)
    {
        case 0:
        if(resultdata.Result>0)
        {
                CardNo=resultdata.strData;      
        }
        break;
    }
}
);

在回调函数中resultdata.strData就是所读取的卡号(10DEC格式),
至此,一个简单的循环读卡号的web程序就可以运行了,如果只要刷卡,对应的卡号就会传给web页面供处理.

读取ISO14443B卡号

ISO14443B最为代表的就是身份证,我们此处以读取身份证卡号为例:
api接口如下:

RequestChinaIDCardNo()

结果还是会显示在回调函数中., 完整的代码如下:

function ReadIDCard()
{

    rfidreader.Repeat=0;
    rfidreader.HaltAfterSuccess=0;
    rfidreader.RequestChinaIDCardNo();
}

回调函数代码:

rfidreader.onResult(function(resultdata)
{
    switch(resultdata.FunctionID)
    {

        case 3:
        if(resultdata.Result>0)
        {
           CardNo= resultdata.strData;          
        }
        break;
    }
}
);

ISO15693标签的寻卡操作

ISO15693标签有Icode系列和Tagit等,所有的ISO15693协议的标签寻卡api如下

Request15693CardUID()

没有任何参数, 调用即可获取ISO15693的卡号.
完整的代码如下:
api调用:

function ReadCard()
{
    rfidreader.Repeat=1;
    rfidreader.HaltAfterSuccess=1;
    rfidreader.Request15693CardUID();
}

回调函数处理:

rfidreader.onResult(function(resultdata)
{
    switch(resultdata.FunctionID)
    {

        case 14:
        document.getElementById("CloudReaderVer").value = resultdata.strData;
        break;
        case 2:
        if(resultdata.Result>0)
        {
            CardNo =resultdata.strData;     
        }
        break;
    }
}
);

至此可以看出,对于高频卡的3种卡类型,处理方式都是一样的,在web中调用起来也非常简单,下一章我们将介绍如下读写卡内的数据.

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

标签:function,web,插件,读取,resultdata,rfidreader,读写器,卡号
来源: https://blog.51cto.com/u_11334391/2774766

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有