人脸识别终端485通信协议
(波特率为57600bps;8个数据位,1个停止位,无奇偶校验位)
目录
一.协议描述 (3)
二.数据包格式 (3)
三.包类型及子类型定义 (3)
四.各命令及其数据结构详细描述 (5)
1.连接与用户认证 (5)
2.识别结果通知 (6)
3.查询系统时间信息 (6)
4.查询部门列表信息 (7)
5.查询用户信息 (8)
6.提取用户特征码 (9)
7.设置系统时间信息 (9)
8.增加、修改或删除部门信息 (10)
9.增加、修改或删除用户信息 (10)
10.修改用户特征码 (11)
11.用户注册 (11)
12.用户识别 (12)
13.强制开门请求 (13)
14.查询门禁记录 (13)
15.删除门禁记录 (15)
16.查询系统日志 (15)
五.错误响应NAK数据格式 (16)
六.其它 (17)
本协议为嵌入式人脸识别终端与第三方系统(门禁控制器、访问系统或签到系统等)对接的协议,支持经过认证的第三方系统可以对门禁终端进行用户管理、记录管理以及操作控制等。
用户管理主要包括查询、增加、修改、删除用户。(用户模板必须在终端注册)
记录管理主要包括记录查询以及删除。
操作控制主要包括远程控制注册登记及注册资料及结果上传、远程控制识别及识别结果上传等。
一.协议描述
客户端发送请求命令CMD,成功会收到确认响应ACK,如果是请求记录则可以继续发送提取下一条记录请求命令GET-NEXT,成功将收到相应的记录信息,所有请求失败均会收到错误响应NAK。
二.数据包格式
数据包包括包标识、包序号、包类型、数据长度、数据内容共五个字段,定义如下:
整个数据包均按1字节对齐。
多字节字段按网络字节序(高字节在前低字节在后)传输。
各字段描述如下:
包标识:包头标识(2字节,固定为0x6666)
包序号:包序列号(2字节,值域0-65535),不强制从0开始,但响应包必须与对应的请求包的包序号相同
包类型:请求或响应命令(1字节),详见下表描述。
子类型:命令对应的数据类型(1字节)详见下表描述。
数据长度:包数据内容长度(4字节),不包括本字段及前面各字段(单位:字节)数据内容:请求或响应数据的内容(当数据长度为0时本字段不存在),具体格式依不同包类型不同,详见各种包类型描述。
三.包类型及子类型定义
包类型包括认证请求(AUTH)、查询请求(GET)、查询下一条记录(GET-NEXT)、修改请求(PUT)、修改下一条记录(GET-NEXT)、响应(RESPONSE)、通知(TRAP)等,如下表所示:
子类型定义依赖各类型定义,数据长度及格式依赖各类型及子类型定义,具有较强的扩展性。
认证请求(AUTH)的子类型定义如下表所示:
查询请求(GET)的子类型定义如下表所示:
查询下一条记录(GET-NEXT)的子类型无意义(保留为0)。
修改请求(PUT)的子类型定义如下表所示:
修改下一条记录(PUT-NEXT)的子类型无意义(保留为0)。
响应的子类型定义如下表所示:
通知(TRAP)子类型定义如下表所示:
四.各命令及其数据结构详细描述
1.连接与用户认证
为保证终端系统安全,只有认证通过才能进行查询或修改操作。
用户认证采用MD5加密方案,密码不直接在链路上传输。
认证用户名为admin,密码为门禁机超级管理员密码。
连接认证过程及数据描述如下:
A.连接建立后,客户端发起认证申请获取认证随机数
包类型:AUTH
子类型:RANDOM
数据长度:0
数据:无
B.终端收到此认证请求后,返回认证随机数
包类型:RESPONSE
子类型:ACK
数据长度:4
数据:随机数,由终端随机生成(4字节二进制数)
备注:NAK,表示无此用户或密码不正确。
C.客户端收到认证随机数后,发送认证请求:
包类型:AUTH
子类型:AUTHENTICATE
数据长度:32
数据:16字节用户名+16字节MD5校验码+1字节接收识别结果类型(0,不接收;1,只接收消息不接收图片;2,接收图片)
备注:用户名小于16字节部分填充x00;
直接利用密码+认证随机数生成MD5校验码。
密码长度使用实际密码长度,认证随机数长度为4字节。
D.终端收到认证请求后进行认证,如果认证成功返回:
包类型:RESPONSE
子类型:ACK
数据长度:终端类型信息长度
数据:返回终端类型信息
终端类型信息数据结构定义如下:
备注:认证失败返回NAK,表示无此用户或密码不正确。
2.识别结果通知
系统连接后,终端识别通过或失败将自动给系统发送识别结果通知。
识别结果通知信息格式为:
包类型:TRAP
子类型:FACE_VERIFY
数据长度:用户编号(4字节)+ 用户识别结果(1字节)+ 相似度(1字节)+ 抓拍照片长度(JPG文件长度)
数据:用户编号(4字节二进制整数)+ 用户识别结果(1:通过,0-失败)+ 相似度(0-100)+抓拍照片数据(JPG文件格式)
备注:系统请求识别只发送请求响应(已包含此通知信息),不再额外发送此TRAP通知
3.查询系统时间信息
查询系统当前时间信息。
查询系统时间信息过程及数据描述如下:
A.客户端发起查询系统时间信息请求:
包类型:GET
子类型:TIME
数据长度:0
数据:无