C# 使用串口分析SAM协议,读取身份证信息

      最后更新:2022-01-25 09:04:01 手机定位技术交流文章

      目录

      一、身份证读卡器使用SAM协议使用以下报文进行通讯:

      1、寻找身份证信息

      2、选取身份证信息

      3、读取身份证信息(文字+照片信息)

      4 、读取身份证信息(文字+照片+指纹特征点信息)

      二、程序介绍

      1、数据发送

      2、数据转换

      3、数据接收

      最近做了个项目,使用Linux Arm主板终端机器,这个终端的一项功能是使用身份证读卡器读取人员的身份证号,Linux Arm并未提供Linux驱动,因此选择使用华视100D串口的身份证读卡器,此身份证读卡器可以通过SAM协议进行数据通讯,获取证件信息

      一、身份证读卡器使用SAM协议使用以下报文进行通讯:

      1、寻找身份证信息

      寻卡命令:AA AA AA 96 69 00 03 20 01 22

      返 回 值:AA AA AA 96 69 00 08 00 00 9F 00 00 00 00 97

      2、选取身份证信息

      选卡命令:AA AA AA 96 69 00 03 20 02 21

      返 回 值:AA AA AA 96 69 00 0C 00 00 90 00 00 00 00 00 00 00 00 9C

      3、读取身份证信息(文字+照片信息)

      读卡命令:AA AA AA 96 69 00 03 30 01 32

      返 回 值:1295 字节数据身份证信息

      4 、读取身份证信息(文字+照片+指纹特征点信息)

      读卡命令:AA AA AA 96 69 00 03 30 10 23

      返回 值:2321 或 1809 或 1297 字节数据身份证信息

      注:上述4条报文中,第一条和第二条再每次发送时需要每次都发送,第三条和第四条任选其一进行发送即可获得证件得信息数据。

      二、程序介绍

      1、数据发送

      2、数据转换

      ①、byte转16进制字符串

      ②、16进制转byte

      3、数据接收

      接收信息使用GB13000的标准进行解析,256个字节分别下表所述,编码协议采用UCS-2,C#程序可以通过Encoding直接解码,程序只进行了姓名和身份证号码的解析,照片的为后面的1024字节,由于照片解码未提供源码,照片的解码通过SDK的方式进行解码

      解码部分代码

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/17342.html

          热门文章

          文章分类