身份證閱讀器模塊SAM通訊協議
如需單獨采購身份證識別SAM_V模塊,可聯系:13822216429(盛小姐)
本公司提供的SAM模塊支持Windows、Android、Linux、ARM、單片機等各系統二次開發。
技術支持:13922210502(微信同號)
圖為:新一代小身份證SAM模塊
身份證閱讀器模塊SAM_V通訊協議:
適用:windows開發、Android開發、單片機開發、Linux開發等各種身份證閱讀器開發接口支持,支持發送指令方式讀取信息。
文件大小:336 KB
其他相關資料下載:
SAM_V通信協議
一、通信方式:
SAM_V模塊提供兩種通信方式:UART 和 USB,同一時間只允許選擇其中一種。
二、通訊配置:
表 1UART 接口參數說明
起始位1 位
數據位8 位
停止位1 位
校驗位無
波特率默認 115200bps.可以設置為 57600bps、38400bps、19200bps、9600bps
表 2USB 接口參數說明
速度全速(12Mbps)
輸入管道0x02(Pipe2)、0x06(Pipe6)
輸出管道0x81(Pipe81)、0x85(Pipe85)
供電模式自供電
設備遠程喚醒特性支持
三、數據傳輸格式:
UART 數據傳輸格式:
表 3 數據輸入傳輸幀格式
PreambleLen1Len2CMDParaDataCHK_SUM
表 4 數據輸出傳輸幀格式
Preambleen1Len2SW1SW2SW3DataCHK_SUM
USB 數據傳輸格式:
表 5 Pipe2 數據傳輸格式
PreambleLen1Len2
表 6 Pipe6 數據傳輸格式
CMDParaDataCHK_SUM
表 7 Pipe81 數據傳輸格式
PreambleLen1Len2
表 8 Pipe85 數據傳輸格式
SW1SW2SW3DataCHK_SUM
四、各字段含義:
1、Preamble:本幀數據的幀頭,5 字節,為 0xAA、0xAA、0xAA、0x96、0x69。2、Len1、Len2:數據幀的有效數據長度,各為 1 字節。Len1 為數據長度高字節;Len2
為數據長度低字節。 輸入數據長度為:CMD、Para、Data、CHK_SUM 字 段字節數之和; 輸出數據長度為:SW1、SW2、SW3、Data、CHK_SUM 字段字節數之和。
3、CHK_SUM:校驗和,1 字節。 數據幀中除幀頭和校驗和之外的數據逐字節按位異或的結果。
表 9 CMD 和 Para
命令CMDPara
SAM 狀態檢測0x110xFF
讀 SAM 管理信息0x120xFF
尋找證/卡0x200x01
選取證/卡0x200x02
讀身份證信息0x300x01
表 10SW1、SW2、SW3
SW1 SW2 SW3Data意義
0x00 0x00 0x90和具體命令有關,可能為空操作成功
0x00 0x00 0x9F證/卡芯片管理號尋找證/卡成功
0x00 0x00 0x10接收數據校驗和錯
0x00 0x00 0x11接收數據長度錯
0x00 0x00 0x21接收數據命令錯
0x00 0x00 0x23越權操作
0x00 0x00 0x24無法識別的錯誤
XXXX0x31證/卡認證 SAM 失敗
XXXX0x32SAM 認證證/卡失敗
0x00 0x00 0x33信息驗證錯誤
XXXX0x40無法識別的卡類型
XXXX0x41讀證/卡操作失敗
XXXX0x47取隨機數失敗
0x00 0x00 0x60SAM 自檢失敗
0x00 0x00 0x66SAM 未經授權
0x00 0x00 0x80尋找證/卡失敗
XXXX0x81選取證/卡失敗
0x00 0x00 0x91證/卡中此項無內容
五、常用命令示例:
1、讀安全模塊號碼(通常作為動態庫授權): 以安全模塊號:
05.01-20101129-0001228293-0296863149為例
協議:
AA AA AA 96 69 00 03 12 FF EE獲取安全模塊號指令(PC 到 讀卡器)
AA AA AA 96 69 00 14 00 00 90 05 00 01 00 09 B8 32 01 05 BE 12 00 AD C5 B1 11 63 返
回數據
AA AA AA 96 69 00 14 00 00 90
05 00 01 00
09 B8 32 01
05 BE 12 00
63
數據頭數據長度 成功狀態 安
全模塊號前兩位 05.01
從低位到高位 01 32 B8 09 轉換為十進制為 0001228293 從低位到高位 00 12 BE 05 轉換為十進制為 0296863149
奇偶檢驗位
2、檢測安全模塊狀態(通常用來尋找讀卡器連接的串口號):
AA AA AA 96 69 00 03 11 FF EDPC 到讀卡器
返回成功值
AA AA AA 96 69 00 04 00 00 90 94
3、尋找身份證信息:
尋卡命令: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
4、選取身份證信息:
選卡命令: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
5、讀取身份證信息(文字+照片信息):
讀卡命令:AA AA AA 96 69 00 03 30 01 32
返 回 值:1295 字節數據身份證信息
6 、讀取身份證信息(文字+照片+指紋特征點信息)
讀卡命令:AA AA AA 96 69 00 03 30 10 23
返回 值:2321 或 1809 或 1297 字節數據身份證信息
六、身份證信息(文字+照片)結構:
AA AA AA 96 69 05 08 00 00 90 01 00 04 00 +(256 字節文字信息 )+(1024 字節照片信息)+(1 字節 CRC)
七、身份證信息(文字+照片+指紋)結構:
AA AA AA 96 69 09 0A 00 00 90 01 00 04 00 04 00 +(256 字節文字信息)+
(1024 字節圖片信息)+(1024 或 512 或 0 字節指紋信息)+1 字節校驗位 指紋數據的具體大小由第十五和第十六字節判斷 (04 00)=4*16*16=1024
(02 00)=2*16*16=512
文字信息采用 GB 13000 的 UCS-2 進行存儲,各項目分配如下:
項目長度(字節)說明
姓名30漢字
性別2代碼
民族4代碼
出生16年月日:YYYYMMDD
住址70漢字和數字
公民身份號碼36數字
簽發機關30漢字
有效期起始日期16年月日:YYYYMMDD
有效期截止日期16年月日:YYYYMMDD
有效期為長期時存儲
“長期”
備用36
附錄一 民族代碼對照表
01漢15土家29柯爾克孜43烏孜別克
02蒙古16哈尼30土44俄羅斯
03回17哈薩克31達斡爾45鄂溫克
04藏18傣32仫佬46德昂
05維吾爾19黎33羌47保安
06苗20傈僳34布朗48裕固
07彝21佤35撒拉49京
08壯22畬36毛南50塔塔爾
09布依23高山37仡佬51獨龍
10朝鮮24拉祜38錫伯52鄂倫春
11滿25水39阿昌53赫哲
12侗26東鄉40普米54門巴
13瑤27納西41塔吉克55珞巴
14白28景頗42怒56基諾
其他外國血
9798統中國
籍人士
附錄二 性別代碼對照表
0未知2女
1男9未說明
第一枚指紋信息(前 512 字節指紋數據):
pucFPMsgValue[0]字段文件頭類型,記錄字符“C”(43H)
pucFPMsgValue[1]指紋算法版本號
pucFPMsgValue[2]指紋采集器代碼
pucFPMsgValue[3]指紋算法開發者代碼
pucFPMsgValue[4] 注冊結果代碼,01H 表示“注冊成功”,02H 表示“注冊失敗”,03H 表示“未注冊”,09H 表示“未知”
pucFPMsgValue[5]指位代碼 具體見指位說明
pucFPMsgValue[6] 指紋質量值,以 00H~64H 來表示,值 01H 表示最低質量,值 64H 表示最高質量,值 00H 表示“未知”
第二枚指紋信息(后 512 字節指紋數據):
pucFPMsgValue[512]字段文件頭類型,記錄字符“C”(43H)
pucFPMsgValue[513]指紋算法版本號
pucFPMsgValue[514]指紋采集器代碼
pucFPMsgValue[515]指紋算法開發者代碼
pucFPMsgValue[516] 注冊結果代碼,01H 表示“注冊成功”,02H 表示“注冊失敗”,03H 表示“未注冊”,09H 表示“未知”
pucFPMsgValue[517]指位代碼 具體見指位說明
pucFPMsgValue[518]指紋質量值,以 00H~64H 來表示,值 01H 表示最低質量,
值 64H 表示最高質量,值 00H 表示“未知”
指位碼說明:
pucFPMsgValue[5or517]
指位
011 右手拇指 0BH
012 右手食指 0CH
013 右手中指 0DH
014 右手環指 0EH
015 右手小指 0FH
016 左手拇指 10H
017 左手食指 11H
018 左手中指 12H
019 左手環指 13H
?20 左手小指14H
097 右手不確定指位 61H
098 左手不確定指位 62H
099 其他不確定指位 63H
注:
pucFPMsgValue[0] 表示指紋數據的第一個字節數據,其他依次類推.
串口或藍牙發送指令的流程如下:
找卡指令---------》選卡指令--------》讀卡指令。