Web Hid Api 浏览器读取IC卡号 |
|||
发布者:广州荣士电子有限公司 发布时间: 2024-10-14 | |||
一、判断浏览器是否支持 web hid Api
二、Web浏览器选择连接已配对的HID设备
async function selectdev() { 三、向HID设备发送读卡指令 async function piccrequest() {if (!device?.opened) { alert("请先选择已连接的读卡器!"); return; } textarea.value = ""; carduid.value=""; card8h10dz.value=""; card8h10df.value=""; const outputData = new Uint8Array(32); outputData[0]=0x78; outputData[1]=0x68; outputData[2]=0x01; outputData[3]=0xf0; outputData[4]=0x00; outputData[5]=0x00; outputData[6]=0x00; outputData[7]=0x00; await device.sendReport(0, outputData); // 发送数据,第一个参数为reportId,填0表示不使用reportId } 四、解析接收到的返回数据 function ParsedReturnData(databuff){var datahex=""; if(databuff[0]==0x78 && databuff[1]==0x68 && databuff.length>4){ switch ( databuff[3]) { case 0x0f: textarea.value="读卡器已接受响声指令!"; break; case 0x1E: textarea.value="读取设备编号成功!"; for (i=5;i<9;i++){datahex=datahex+databuff[i].toString(16).padStart(2, '0').toUpperCase();} serialnumber.value=datahex; break; case 0xF0: switch(databuff[4]){ case 0x00: textarea.value="读取IC卡号成功!"; for (i=5;i<9;i++){datahex=datahex+databuff[i].toString(16).padStart(2, '0').toUpperCase();} carduid.value=datahex; card8h10dz.value = parseInt("0x" + datahex).toString().padStart(10, '0'); LHCode = datahex.substring(6, 8) + datahex.substring(4, 6) + datahex.substring(2, 4) + datahex.substring(0, 2); card8h10df.value = parseInt("0x" + LHCode).toString().padStart(10, '0'); break; case 0x08: textarea.value="寻卡失败,请重新将卡片放在读卡器感应区!"; break; case 0x09: textarea.value="寻卡失败,有多张卡在读卡器感应区!"; break; default: textarea.value="寻卡失败,错误代码:"+databuff[4].toString(); break; } break; default: } } }
|
|||
上一篇:Node.Js使用HTTP模块创建Web服务器接收RFID刷卡数据 | 下一篇:NTAG424 DNA安全加密动态NFC | ||