ICode9

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

google浏览器下开发UHF超高频读写器

2019-08-28 12:00:42  阅读:328  来源: 互联网

标签:UHF google G2 KeyString 标签 读写器 字符串 EPC


在google浏览器下采用js脚本开发UHF超高频读写器, API接口有如下所示:

.1、UHF读卡器寻卡,符合18000-6C,G2的卡和标签

G2_Inventory(isEPC)

G2_Inventory方法通过超高频读卡器YW-602U来寻卡,目前只支持单张卡片。
参数:isEPC:是否读取EPC,isEPC=0,返回卡片的EPC。isEPC=1返回卡片的TID

回调函数返回结果:

FunctionID=23,
Result:数字,函数执行后的返回值,
UID:自定义的序号,
CardNo:根据参数返回的EPC或者TID
strData:与CardNo相同
ValData:无

3.2、读取UHF标签的内存区域

G2_Read(memType,StartPos, ReadLength,FormatID)

G2_Read方法读取UHF标签的内存。
需要的属性:
KeyStringMode:表明KeyString的格式,0为16进制字符串, 1为数字字符串.
KeyString:密钥字符串. 
参数:memType:内存区域,0保留区,1EPC区,2TID区,3用户区
StartPos: 内存起始地址.(必须为偶数)
ReadLength:要读取的字节长度.(必须为偶数)
FormatID: 数据返回的格式,0为16进制字符串,1为普通字符串.

回调函数返回结果:

FunctionID=24,
Result:数字,函数执行后的返回值,
UID:自定义的序号,
CardNo:标签的EPC
strData:根据参数FormatID返回的16进制字符串或者普通字符串.
ValData:无

3.3、写UHF标签的内存区域

G2_Write(memType,StartPos,FormatID, Data)

G2_Write方法写入UHF标签的内存。
需要的属性:
KeyStringMode:表明KeyString的格式,0为16进制字符串, 1为数字字符串.
KeyString:密钥字符串. 
参数:memType:内存区域,0保留区,1EPC区,2TID区,3用户区
StartPos: 内存起始地址.(必须为偶数)
FormatID: 数据Data的格式,0为16进制字符串,1为普通字符串.
Data: 与formatID格式对应的字符串, 如果不够偶数字节,将后面自动补0x00.

回调函数返回结果:

FunctionID=25,
Result:数字,函数执行后的返回值,
UID:自定义的序号,
CardNo:标签的EPC
strData:实际写入的16进制字符串
ValData:无

3.4、改写UHF标签EPC

G2_WriteEPC(EPCData)

G2_WriteEPC方法改写UHF标签的EPC,EPC的字节长度必须是偶数,并且为16进制。
需要的属性:
KeyStringMode:表明KeyString的格式,0为16进制字符串, 1为数字字符串.
KeyString:密钥字符串. 
参数:EPCData: 新的EPC,16进制,偶数个字节,否则后面补0x00.

回调函数返回结果:

FunctionID=26,
Result:数字,函数执行后的返回值,
UID:自定义的序号,
CardNo:标签的EPC
strData:新的EPC字符串
ValData:无

3.5、销毁UHF标签

G2_KillTag()

G2_KillTag方法销毁当前的UHF标签.密码0不允许销毁.
需要的属性:
KeyStringMode:表明KeyString的格式,0为16进制字符串, 1为数字字符串.
KeyString:密钥字符串. 
无参数

回调函数返回结果:

FunctionID=27,
Result:数字,函数执行后的返回值,
UID:自定义的序号,
CardNo:标签的EPC
strData:无 
ValData:无

3.6、设置UHF标签内存保护

G2_SetProtected(ProtectByte, ProtectMode)

G2_SetProtected方法设置UHF标签的保护模式.
需要的属性:
KeyStringMode:表明KeyString的格式,0为16进制字符串, 1为数字字符串.
KeyString:密钥字符串. 
参数:ProtectByte:要设置保护的内容:
0x00 时,控制销毁密码读写保护设定。
0x01 时,控制访问密码读写保护设定。
0x02 时,控制EPC 存储区读写保护设定。
0x03 时,控制TID 存储区读写保护设定。
0x04 时,控制用户存储区读写保护设定。
ProtectMode可能值如下:
当ProtectByte 为0x00 或0x01,即当设置Kill 密码区或访问密码区的时候,ProtectMode 的值代表的意义如下:
0x00:设置为无保护下的可读可写
0x01:设置为永远可读可写
0x02:设置为带密码可读可写
0x03:设置为永远不可读不可写
当ProtectByte为0x02、0x03、0x04的时候,即当设置EPC 区、TID 区及用户区的时候,ProtectMode 的值代表的意 义如下:
0x00:设置为无保护下的可写
0x01:设置为永远可写
0x02:设置为带密码可写
0x03:设置为永远不可写

回调函数返回结果:

FunctionID=28,
Result:数字,函数执行后的返回值,
UID:自定义的序号,
CardNo:标签的EPC
strData:无
ValData:无

3.7、擦除UHF标签的内存区域

G2_Earse(memType,StartPos, EarseLength)

G2_Earse方法擦除UHF标签的内存。
需要的属性:
KeyStringMode:表明KeyString的格式,0为16进制字符串, 1为数字字符串.
KeyString:密钥字符串. 
参数:memType:内存区域,0保留区,1EPC区,2TID区,3用户区
StartPos: 内存起始地址.(必须为偶数)
EarseLength:要擦除的字节长度.(必须为偶数)

回调函数返回结果:

FunctionID=29,
Result:数字,函数执行后的返回值,
UID:自定义的序号,
CardNo:标签的EPC
strData:无.
ValData:无

3.8、设置UHF标签读保护

G2_SetReadProtected()

G2_SetReadProtected方法设置标签读保护。
需要的属性:
KeyStringMode:表明KeyString的格式,0为16进制字符串, 1为数字字符串.
KeyString:密钥字符串. 
无参数.

回调函数返回结果:

FunctionID=30,
Result:数字,函数执行后的返回值,
UID:自定义的序号,
CardNo:标签的EPC
strData:无.
ValData:无

3.9、解锁UHF标签读保护

G2_SetUnlockReadProtected()

G2_SetUnlockReadProtected方法解锁标签读保护。
需要的属性:
KeyStringMode:表明KeyString的格式,0为16进制字符串, 1为数字字符串.
KeyString:密钥字符串. 
无参数.

回调函数返回结果:

FunctionID=31,
Result:数字,函数执行后的返回值,
UID:自定义的序号,
CardNo:标签的EPC
strData:无.
ValData:无

3.10、设置UHF标签EAS报警

G2_SetEASAlert(EAS)

G2_SetEASAlert方法设置标签的EAS。
需要的属性:
KeyStringMode:表明KeyString的格式,0为16进制字符串, 1为数字字符串.
KeyString:密钥字符串. 
参数, EAS: EAS值,一个字节

回调函数返回结果:

FunctionID=32,
Result:数字,函数执行后的返回值,
UID:自定义的序号,
CardNo:标签的EPC
strData:无.
ValData:无

3.11、锁定UHF标签用户区

G2_LockUser(UserAddr)

G2_LockUser方法锁定用户内存。
需要的属性:
KeyStringMode:表明KeyString的格式,0为16进制字符串, 1为数字字符串.
KeyString:密钥字符串. 
参数, UserAddr: 用户内存地址值,一个字节

回调函数返回结果:

FunctionID=33,
Result:数字,函数执行后的返回值,
UID:自定义的序号,
CardNo:标签的EPC
strData:无.
ValData:无

 

上面的接口基本包含了UHF标签的所有功能,UHF读写器YW-602H读写距离70cm以内,能满足大部分需求.

js代码寻卡:

function G2Inventory()
{
	var isEPC;
	isEPC = GetValueFromName("isEPC");
	rfidreader.Repeat=0;
	rfidreader.G2_Inventory(isEPC);
}

返回来的数据即可得到EPC卡号:

rfidreader.onResult(function(resultdata)
{
	switch(resultdata.FunctionID)
    {
    	
		case 14:
        document.getElementById("CloudReaderVer").value = resultdata.strData;
        break;
		case 23:
		
		if(resultdata.Result>0)
		{
            document.getElementById("CardNo").value = resultdata.CardNo;	
		}
		else
		{
			document.getElementById("CardNo").value= GetErrStr(resultdata.Result);
		}
		break;
    }
}
);

开发起来比较简单

标签:UHF,google,G2,KeyString,标签,读写器,字符串,EPC
来源: https://blog.csdn.net/codercodercode/article/details/100115945

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

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

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

ICode9版权所有