软件协议文档
终端设备协议文档
功能&协议池(所有功能协议)
MQTT协议文档
HTTP协议文档
微光TLV协议文档
微光卡&码协议
功能模块&UI文档
人脸机
VF105
门禁标品MQTT协议文档(DejaOS版本)
Access control standard MQTT protocol document
VF系列HTTP协议接口文档V1.0.28(Vbar版本)
VF系列MQTT协议文档V1.37.0(Vbar版本)
VF系列-协议模式下通讯协议文档V1.0.4(Vbar版本)
VF203
门禁标品MQTT协议文档(DejaOS版本)
Access control standard MQTT protocol document
VF系列HTTP协议接口文档V1.0.28(Vbar版本)
VF系列-协议模式下通讯协议文档V1.0.4(Vbar版本)
VF系列-MQTT协议文档V1.37.2(Vbar版本)
VF 系列 HTTP 协议接口文档-V1.37.1(Vbar版本)
VF106
门禁标品MQTT协议文档(Android版本)
Access control standard MQTT protocol document
VF114
门禁标品MQTT协议文档(DejaOS版本)
Access control standard MQTT protocol document
VF系列HTTP协议接口文档V1.0.28(Vbar版本)
VF系列-协议模式下通讯协议文档V1.0.4(Vbar版本)
VF205
门禁标品MQTT协议文档(DejaOS版本)
VF系列HTTP协议接口文档V1.0.28(Vbar版本)
VF系列-协议模式下通讯协议文档V1.0.4(Vbar版本)
读头
EE200
读头标品TLV通讯协议
Read header standard TLV communication protocol
读头标品TLV通讯协议V3.10(Vbar版本)
TX200
读头标品TLV通讯协议
Read header standard TLV communication protocol
QT960
读头标品TLV通讯协议
Read header standard TLV communication protocol
QT660
读头标品TLV通讯协议
Read header standard TLV communication protocol
Q340
读头标品TLV通讯协议
Read header standard TLV communication protocol
M300
读头标品TLV通讯协议
Read header standard TLV communication protocol
读头标品TLV通讯协议V3.10(Vbar版本)
JL7000
读头标品TLV通讯协议
Read header standard TLV communication protocol
Q350
读头标品TLV通讯协议
Read header standard TLV communication protocol
MU86
读头标品TLV通讯协议
Read header standard TLV communication protocol
读头标品TLV通讯协议V3.10(Vbar版本)
MET
读头标品TLV通讯协议
Read header standard TLV communication protocol
扫码器TCP/HTT通讯协议V1.0(Vbar版本)
读头标品TLV通讯协议V3.10(Vbar版本)
M350
读头标品TLV通讯协议
Read header standard TLV communication protocol
读头标品TLV通讯协议V3.10(Vbar版本)
扫码器TCP/HTT通讯协议V1.0(Vbar版本)
DW200
读头标品TLV通讯协议(DejaOS版本)
Read header standard TLV communication protocol
读头标品HTTP&TCP协议文档(DejaOS版本)
读头标品HTTP&TCP协议文档(Vbar版本)
读头标品TLV通讯协议V3.10(Vbar版)
读头标品RS485一拖多协议V0.7(Vbar版本)
M340
读头标品TLV通讯协议
Read header standard TLV communication protocol
CR90
刷卡模块通信协议v3.0
CR90指令文档
微光指令:0x60 蓝牙设备控制
1.7/2.x扫码器配置字段说明文档
门禁
DW200
门禁标品MQTT协议文档(DejaOS版本)
Access control standard MQTT protocol document
门禁扫码器MQTT协议文档(Vbar版本)
MU86
门禁标品MQTT协议文档
Access control standard MQTT protocol document
门禁20180820 MQTT协议文档V1.0.2(Vbar版)
Q350
门禁标品MQTT协议文档
Access control standard MQTT protocol document
门禁20180820 MQTT协议文档V1.0.2(Vbar版)
MET
门禁标品MQTT协议文档
Access control standard MQTT protocol document
门禁20180820 MQTT协议文档V1.0.2(Vbar版)
M350
门禁标品MQTT协议文档
Access control standard MQTT protocol document
门禁20180820 MQTT协议V1.0.1(Vbar版本)
门禁20180820 MQTT协议文档V1.0.2(Vbar版本)
MP86
门禁20180820 MQTT协议文档V1.0.2(Vbar版本)
控制板
CC104
控制板标品MQTT协议文档
Control board standard MQTT protocol documentation
CC101
控制板标品MQTT协议文档
Control board standard MQTT protocol documentation
CC101标品20211101MQTT协议V3.6(Vbar版本)
平台服务协议文档
网关服务接口定义
门禁应用接口定义
工具文档
多弦产品API签名安全规则
海外锁
app和后台的mqtt协议
文档
-
+
首页
VF系列-协议模式下通讯协议文档V1.0.4(Vbar版本)
HTTP通讯协议文档\_V1.0.4 > 修订记录 | 版本 | 修改日期 | 修改人 | 修改内容 | | ------ | ---------- | ------ | ---------------------------------------- | | V1.0.0 | 2021/08/18 | | 新建文档 | | V1.0.1 | 2022/07/05 | | 修改 http 数据回调与返回 | | V1.0.2 | 2022/09/02 | | 增加人卡合一、人码合一、人证核验数据类型 | | v1.0.3 | 2023/03/17 | 唯义 | 修改 http 协议上报 | | v1.0.4 | 2024/12/5 | 赵旭龙 | 增加,指定语音文件播放 | 协议说明 ======== > 本协议旨在说明VF102的三种不同工作模式下设备与上位机交互的方式。 三种不同工作模式 1. 普通透传模式,支持TCP、485、HTTP、韦根,详见《二、普通透传模式》 2. 协议透传模式,支持TCP、485、HTTP,详见《三、协议透传模式》 3. 二次开发模式,支持TCP、485,详见《四、二次开发模式》 普通透传模式 ============ 刷脸成功透传人员ID,扫码成功透传二维码原数据,刷卡成功透传卡号 协议透传模式 ============ 协议通道为HTTP时数据格式 ------------------------ 编码格式:UTF-8 请求地址:http://ip:port/xxx 请求方式:POST 提交数据格式:application/json 请求参数 | 参数名 | 必填 | 类型 | 说明 | |----------|------|--------|-------------------------------------------------------------------------------------------------------------------------| | type | 是 | Int | 数据类型 1:刷脸 2:扫码 3:刷卡 4:人卡合一 5:人码合一 6:人证核验 | | data | 是 | String | 扫描二维码获取到的文本信息、刷卡卡号和刷脸人员ID | | extra | 否 | String | 暂定数据当为刷脸、身份证(刷卡)时此项为姓名。扫码无此项或空 如果身份详细有填,将会变更为object,上报信息会是身份详细。 | | time | 是 | Long | 扫码或刷卡时间(时间戳) | | deviceSn | 是 | String | 设备序列号(设备地址) | 响应 | 参数名 | 必填 | 类型 | 说明 | |-----------|------|--------|------------------------------------------------------------------------------------------------------------------------| | code | 是 | Int | code \< 0 :失败 code \>= 0:成功 | | cmd | 否 | Int | 1:输出继电器 | | message | 否 | String | 响应描述 | | voiceData | 否 | String | 语音数据,eg: "成功"。附注:有此项则播放,无此项播放默认语音 | | | | | 中文版传播放文本,外文版传文件名称(文件名称见文件名称表) | 示例: 请求参数: { "type":1, "data":"10001", "extra":"张三", "time":1625465218, "deviceSn":"aabbccddeeff" } 响应: {"code":0,"cmd":0,"voiceData":"成功","message":"成功"} 协议通道为485/TCP时数据格式 --------------------------- 发出数据包格式 | 项目 | 字节 | 值 | 说明 | |------------|------|-----------|--------------------------------------------------------------------------------------------| | 数据帧头 | 2 | 0x55 0xAA | 数据包包头固定为0x55 0xAA | | 命令字 | 1 | 0x30 | 数据包命令字固定为 0x30 | | 数据域长度 | 2 | | 传输用户数据得长度(指明本条命令从长度字后面开始到校验字的字节数(不含效验字),低位在前) | | 数据域 | n | | 用户数据,数据格式为JSON字符串,详见下表《用户数据格式》 | | 校验和 | | | 校验为BCC异或校验(从命令头到数据域最后一字节的逐字节异或值) | 应答数据包格式 | 项目 | 字节 | 值 | 说明 | |----------|------|-----------|------------------------------------------------------------------------------------------------| | 数据帧头 | 2 | 0x55 0xAA | 数据包包头固定为0x550xAA | | 命令字 | 1 | 0x30 | 数据包命令字 | | 结果字 | 1 | 0x00/0xff | 0x00:成功 0xff:失败 | | 数据长度 | 2 | | 传输用户应答数据得长度(指明本条命令从长度字后面开始到校验字的字节数(不含效验字),低位在前) | | 数据域 | n | | 用户数据,数据格式为JSON字符串,详见下表《用户应答数据格式》 | | 校验字 | 1 | | 校验为BCC异或校验(从命令头到数据域最后一字节的逐字节异或值) | 用户数据格式 | 参数名 | 必填 | 类型 | 说明 | |----------|------|--------|--------------------------------------------------| | type | 是 | Int | 数据类型 1:刷脸 2:扫码 3:刷卡 | | data | 是 | String | 扫描二维码获取到的文本信息、刷卡卡号和刷脸人员ID | | time | 是 | Long | 扫码或刷卡时间(时间戳) | | deviceSn | 是 | String | 设备序列号(设备地址) | 用户应答数据格式 | 参数名 | 必填 | 类型 | 说明 | |-----------|------|--------|------------------------------------------------------------------------------------------------------------------------| | code | 是 | Int | code \< 0 :失败 code \>= 0:成功 | | cmd | 否 | Int | 1:输出继电器 | | voiceData | 否 | String | 语音数据,eg: "成功"。附注:有此项则播放,无此项播放默认语音 | | | | | 中文版传播放文本,外文版传文件名称(文件名称见文件名称表) | | message | 否 | String | 响应描述 | 示例1 刷卡上报 55 aa 30 45 00 7b 22 74 79 70 65 22 3a 33 2c 22 64 61 74 61 22 3a 22 39 33 61 37 39 32 66 64 22 2c 22 74 69 6d 65 22 3a 31 36 32 39 34 32 31 39 36 33 2c 22 64 65 76 69 63 65 53 6e 22 3a 22 61 73 64 66 67 68 6a 31 31 22 7d 8c 应答: {"code":0} 55 AA 30 00 0a 00 7b 22 63 6f 64 65 22 3a 30 7d C4 {"code":-1} 55 AA 30 00 0b 00 7b 22 63 6f 64 65 22 3a 2d 31 7d E9 {"code":0,"cmd":0,"voiceData":"成功"} 55 AA 30 00 27 00 7b 22 63 6f 64 65 22 3a 30 2c 22 63 6d 64 22 3a 30 2c 22 76 6f 69 63 65 44 61 74 61 22 3a 22 e6 88 90 e5 8a 9f 22 7d FB {"code":0,"cmd":1,"voiceData":"欢迎光临"} 55 AA 30 00 2D 00 7b 22 63 6f 64 65 22 3a 30 2c 22 63 6d 64 22 3a 31 2c 22 76 6f 69 63 65 44 61 74 61 22 3a 22 e6 ac a2 e8 bf 8e e5 85 89 e4 b8 b4 22 7d CE {"code":1,"cmd":1,"voiceData":"欢迎光临","message":"成功,欢迎光临"} 55AA30004f007b22636f6465223a312c22636d64223a312c22766f69636544617461223a22e6aca2e8bf8ee58589e4b8b4222c226d657373616765223a22e68890e58a9fefbc8ce6aca2e8bf8ee58589e4b8b4227d31 {"code":1,"cmd":1,"voiceData":"スキャンコード成功","message":"スキャンコード成功"} 55 AA 30 00 64 00 7B 22 63 6F 64 65 22 3A 31 2C 22 63 6D 64 22 3A 31 2C 22 76 6F 69 63 65 44 61 74 61 22 3A 22 E3 82 B9 E3 82 AD E3 83 A3 E3 83 B3 E3 82 B3 E3 83 BC E3 83 89 E6 88 90 E5 8A 9F 22 2C 22 6D 65 73 73 61 67 65 22 3A 22 E3 82 B9 E3 82 AD E3 83 A3 E3 83 B3 E3 82 B3 E3 83 BC E3 83 89 E6 88 90 E5 8A 9F 22 7D CB {"code":-1,"cmd":1,"voiceData":"欢迎光临"} 55 AA 30 00 2E 00 7B 22 63 6F 64 65 22 3A 2D 31 2C 22 63 6D 64 22 3A 31 2C 22 76 6F 69 63 65 44 61 74 61 22 3A 22 E6 AC A2 E8 BF 8E E5 85 89 E4 B8 B4 22 7D E1 {"code":0,"cmd":0,"voiceData":"欢迎光临","message":"success"} 55 AA 30 00 41 00 7b 22 63 6f 64 65 22 3a 30 2c 22 63 6d 64 22 3a 30 2c 22 76 6f 69 63 65 44 61 74 61 22 3a 22 e6 ac a2 e8 bf 8e e5 85 89 e4 b8 b4 22 2c 22 6d 65 73 73 61 67 65 22 3a 22 73 75 63 63 65 73 73 22 7d BD {"code":-1,"cmd":1,"voiceData":"欢迎光临","message":"成功,欢迎光临"} 55 AA 30 00 50 00 7B 22 63 6F 64 65 22 3A 2D 31 2C 22 63 6D 64 22 3A 31 2C 22 76 6F 69 63 65 44 61 74 61 22 3A 22 E6 AC A2 E8 BF 8E E5 85 89 E4 B8 B4 22 2C 22 6D 65 73 73 61 67 65 22 3A 22 E6 88 90 E5 8A 9F EF BC 8C E6 AC A2 E8 BF 8E E5 85 89 E4 B8 B4 22 7D 03 示例2:扫码上报 55 aa 30 68 00 7b 22 74 79 70 65 22 3a 32 2c 22 64 61 74 61 22 3a 22 68 74 74 70 3a 2f 2f 77 65 69 78 69 6e 2e 71 71 2e 63 6f 6d 2f 72 2f 56 7a 6b 48 48 37 54 45 31 5f 6d 6f 72 66 42 38 39 32 78 46 22 2c 22 74 69 6d 65 22 3a 31 36 32 39 34 32 32 31 34 34 2c 22 64 65 76 69 63 65 53 6e 22 3a 22 61 73 64 66 67 68 6a 31 31 22 7d 98 应答: {"code":0,"message":"success"} 55 AA 30 00 1E 00 7b 22 63 6f 64 65 22 3a 30 2c 22 6d 65 73 73 61 67 65 22 3a 22 73 75 63 63 65 73 73 22 7d CE 二次开发模式 ============ 二次开发模式当前只包函NFC模块相关操作,NFC模块可支持Mifare One卡块读写、CPU卡发送APDU指令,详见具体指令。 名词解释: 任务启动标志位--该标志位用于告知扫码器何时开始卡的操作,何时结束卡的操作,或告知扫码器操作卡的指令是独立的,无指令间依赖关系。 该标志位用来设置卡片的操作环境,标志位的值有以下三种: 0x00-\>AUTO 告知扫码器该指令可单独执行,无指令间的依赖关系。 0x01-\>START 告知扫码器开始对卡操作或对卡操作尚未结束,且指令间可能存在依赖关系。 0x02-\>FINISH 告知扫码器本条指令是操作卡的最后一条指令,将卡片操作环境恢复到默态。 若操作卡的指令是独立的,如读写M1卡的某块数据,则该标志位即可设置为AUTO也可设置为FINISH. 注: 1、若使用START标识开始操作卡片,则必须使用FINISH标识结束操作,否则会导致NFC模块工作异常,需重启后才可再次使用。 2、若卡片操作过程中涉及多条卡片操作指令,则过程中所发指令的任务启动标志位均为START,最后一条指令标记为FINISH。 指令0x53数据上报开关 -------------------- | 指令: 0x53 | | | | | | |------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------|-----------------------------------------------------------------------------|------------|--------|------------------------| | 说明:数据域的值设置为0x01或0x00时(即进入或退出命令模式),均为空操作且扫描器回复成功。 注:数据上报格式参见《3.2》,若关闭数据上报功能,将收不到扫码、刷脸、刷卡数据 | | | | | | | PC-\>Reader(Send) | Reader-\>PC(Receive) | | | | | | 项目 | 字节 | 说明 | 项目 | 字节 | 说明 | | 包头 | 2Byte | Default: 0x55 0xAA | 包头 | 1Byte | Default: 0x55 0xAA | | 命令字 | 1Byte | 0x53 | 命令字 | 1Byte | 0x53 | | 数据域长度 | 2 Byte | 0x01 0x00 | 标识字 | 1Byte | 0x00 : 成功 非0 : 失败 | | 数据域 | 1 Byte | 0x01:模块进入命令模式 0x00:模块退出命令模式 0x02:刷卡上报 0x03:关闭上报 | 数据域长度 | 2 Byte | N | | | | | 数据域 | N Byte | 数据 N = 0时没有此项 | | 校验字 | 1 Byte | | 校验字 | 1 Byte | | 例: PC--\>Reader :55 AA 53 01 00 02 AF 使能卡号上报 PC--\>Reader :55 AA 53 01 00 03 AE 关闭卡号上报 Reader--\>PC :55 AA 53 00 00 00 AC M1卡块操作 ---------- 1. 指令0x51读取M1卡一块数据 | 指令: 0x51 | 读取M1卡某块 | | | | | | | |--------------------------------------------------------------------------|----------------------|----------------------|--------|----------------------------------------------|------------------------|--------|----------------------| | 说明: 任务启动标志字段可选,当指令中不包含该标志位时,默认按AUTO标识执行 | | | | | | | | | PC-\>Reader(Send) | Reader-\>PC(Receive) | | | | | | | | 项目 | 字节 | 说明 | 项目 | 字节 | 说明 | | | | 包头 | 2Byte | 固定:0x55 0xAA | 包头 | 1Byte | 0x55 0xAA | | | | 命令字 | 1Byte | 0x51 | 命令字 | 1Byte | 0x51 | | | | 数据域长度 | 2 Byte | N | 标识字 | 1Byte | 0x00 : 成功 非0 : 失败 | | | | 数据域 | N Byte | 密钥类型 | 1Byte | 0x60 -\> KEY A 0x61 -\> KEY B | 数据域长度 | 2 Byte | N | | | | 块号 | 1 Byte | 0 \~ 0xFF | | | | | | | 密钥 | 6 Byte | | 数据域 | N Byte | 数据 N = 0时没有此项 | | | | 任务启动标志位(可选) | 1 Byte | 0x00 -\> AUTO 0x01 -\> START 0x02 -\> FINISH | | | | | 校验字 | 1 Byte | | 校验字 | 1Byte | | | | 例: 用A(0x60)密钥做认证,读取6扇区第二块(即绝对块号为0x19)数据。 认证密钥为FF FF FF FF FF FF,标志位选配。 PC--\>Reader :55AA 51 0900 60 19 FF FF FF FF FF FF 00 DE 包含标志位 PC--\>Reader :55AA 51 0800 60 19 FF FF FF FF FF FF DF 无标志位 Reader--\>PC :55AA 51 00 1000 12 34 56 78 90 12 34 56 78 90 12 34 56 78 90 12 34 读卡成功 Reader--\>PC :55AA 51 FF 0000 51 失败或无卡 1. 指令0x52写M1卡一块数据 | 指令: 0x52 | 向M1卡某块写数据 | | | | | | | |--------------------------------------------------------------------------|----------------------|--------------------|---------|----------------------------------------------|------------------------|-------|----------------------| | 说明: 任务启动标志字段可选,当指令中不包含该标志位时,默认按AUTO标识执行 | | | | | | | | | PC-\>Reader(Send) | Reader-\>PC(Receive) | | | | | | | | 项目 | 字节 | 说明 | 项目 | 字节 | 说明 | | | | 包头 | 2 Byte | Default: 0x55 0xAA | 包头 | 1Byte | Default: 0x55 0xAA | | | | 命令字 | 1 Byte | 0x52 | 命令字 | 1Byte | 0x52 | | | | 数据域长度 | 2 Byte | N | 标识字 | 1Byte | 0x00 : 成功 非0 : 失败 | | | | 数据域 | N Byte | 密钥类型 | 1 Byte | 0x60 -\> KEY A 0x61 -\> KEY B | 数据域长度 | 2Byte | N | | | | 块号 | 1 Byte | 0 \~ 0xFF | | | | | | | 密钥 | 6 Byte | | 数据域 | NByte | 数据 N = 0时没有此项 | | | | 数据 | 16 Byte | | | | | | | | 任务标志位(可选) | 1 Byte | 0x00 -\> AUTO 0x01 -\> START 0X02 -\> FINISH | | | | | 校验字 | 1 Byte | | 校验字 | 1Byte | | | | 例: 用B(0x61)密钥做认证,向6扇区第二块(即绝对块号为0x19)写数据。 认证密钥为FF FF FF FF FF FF,标志位选配。 PC--\>Reader :55AA 52 1900 61 19 FF FF FF FF FF FF 11 11 11 11 11 11 11 11 22 22 22 22 22 22 22 22 00 CC 包含标志位 PC--\>Reader :55AA 52 1800 61 19 FF FF FF FF FF FF 12 34 56 78 90 12 34 56 12 34 56 78 90 12 34 56 CD无标志位 Reader--\>PC :55AA 52 00 0000 AD写数据成功 Reader--\>PC :55AA 52 FF 0000 52 失败或无卡 1. 指令0xA0读M1卡扇区内多个块 | 指令: 0xA0 | 读M1卡扇区内多个块 | | | | | | | | | | | | | | | | | | | | |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------|--------------------|--------|----------------------------------------------------|------------------------|---------------|-------------------------|---------|--------|---|---|---|---|---|---|---|---|---|---|---| | 说明: 可读S50/S70卡,扇区号、偏移、块数的取值根据卡片类型而定 偏移--以选取的扇区0块为起始地址计算待读块的基地址。 块数--以选定的基地址块为读卡开始块,连续读取选中的块数。 命令解析: 读取一张卡的2扇区1块和2块数据 55 AA A0 0B 00 00 60 02 01 02 FF FF FF FF FF FF 35 | | | | | | | | | | | | | | | | | | | | | | 55 AA | A0 | 0B 00 | 00 | 60 | 02 | 01 | 02 | FF \~FF | 35 | | | | | | | | | | | | | 命令头 | 指令 | 数据长度 | AUTO | 密钥类型 | 扇区号 | 待读块 基地址 | 从基地址开始 连续读几块 | 密钥 | 校验字 | | | | | | | | | | | | | PC-\>Reader(Send) | Reader-\>PC(Receive) | | | | | | | | | | | | | | | | | | | | | 项目 | 字节 | 说明 | 项目 | 字节 | 说明 | | | | | | | | | | | | | | | | | 包头 | 2Byte | Default: 0x55 0xAA | 包头 | 1Byte | Default: 0x55 0xAA | | | | | | | | | | | | | | | | | 命令字 | 1Byte | 0xA0 | 命令字 | 1Byte | 0x51 | | | | | | | | | | | | | | | | | 数据域长度 | 2Byte | N | 标识字 | 1Byte | 0x00 : 成功 非0 : 失败 | | | | | | | | | | | | | | | | | 数据域 | 11 Byte | 任务标志位 | 1 Byte | 0x00 -\> AUTO 0x01 -\> START 0x02 -\> FINISH | 数据域长度 | 2Byte | N | | | | | | | | | | | | | | | | | 密钥类型 | 1 Byte | 0x60 -\> KEY A 0x61 -\> KEY B | | | | | | | | | | | | | | | | | | | | 扇区号 | 1 Byte | S50 -\> 0x00\~0x0F S70 -\> 0x00\~0x27 | | | | | | | | | | | | | | | | | | | | 偏移 | 1 Byte | S50 -\> 0x00\~0x03 S70 -\> 0x00\~0x03或 0x00\~0x0F | 数据域 | NByte | 数据 N = 0时没有 此项 | | | | | | | | | | | | | | | | | 块数 | 1Byte | S50 -\> 0x01\~0x04 S70 -\> 0x01\~0x04或 0x01\~0x10 | | | | | | | | | | | | | | | | | | | | 密钥 | 6 Byte | | | | | | | | | | | | | | | | | | | 校验字 | 1Byte | | 校验字 | 1Byte | | | | | | | | | | | | | | | | | 注:读取的块数不可为0,若为0视为无效指令;一条指令中不可跨扇区读取块数据 例: 用A(0x60)密钥,读取2扇区0块、1块、2块数据,即以0块为基地址连续读3块。 认证密钥为FF FF FF FF FF FF,标志位设置为AUTO。 PC--\>Reader :55 AA A0 0B 00 00 60 02 00 03 FF FF FF FF FF FF 35 Reader--\>PC :55 AA A0 00 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6F 读数据成功 Reader--\>PC :55 AA A0 FF 00 00 A0 失败或无卡 1. 指令0xA1写M1卡扇区内多个块 | 指令: 0xA1 | 写多块数据 | | | | | | | | | | | | | | | | | | | | | | |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------|--------------------|--------|----------------------------------------------------|------------------------|---------------|-------------------------|---------|----------|--------|---|---|---|---|---|---|---|---|---|---|---|---| | 说明: 可读S50/S70卡,扇区号、偏移、块数的取值根据卡片类型而定 偏移--以选取的扇区0块为起始地址计算待写块的基地址。 块数--以选定的基地址块为写卡开始块,连续写数据到选中的块数。 命令解析: 写数据到一张卡的2扇区1块和2块(指令详见示例) 55 AA A1 2B 00 00 60 02 01 02 FF FF FF FF FF FF ... ... 36 | | | | | | | | | | | | | | | | | | | | | | | | 55 AA | A1 | 2B 00 | 00 | 60 | 02 | 01 | 02 | FF \~FF | ... ... | 36 | | | | | | | | | | | | | | 命令头 | 指令 | 数据长度 | AUTO | 密钥类型 | 扇区号 | 待写块 基地址 | 从基地址开始 连续写几块 | 密钥 | 待写数据 | 检验字 | | | | | | | | | | | | | | PC-\>Reader(Send) | Reader-\>PC(Receive) | | | | | | | | | | | | | | | | | | | | | | | 项目 | 字节 | 说明 | 项目 | 字节 | 说明 | | | | | | | | | | | | | | | | | | | 包头 | 2 Byte | Default: 0x55 0xAA | 包头 | 1 Byte | Default: 0x55 0xAA | | | | | | | | | | | | | | | | | | | 命令字 | 1 Byte | 0xA1 | 命令字 | 1 Byte | 0xA1 | | | | | | | | | | | | | | | | | | | 数据域长度 | 2 Byte | N | 标识字 | 1 Byte | 0x00 : 成功 非0 : 失败 | | | | | | | | | | | | | | | | | | | 数据域 | N Byte | 任务标志位 | 1 Byte | 0x00 -\> AUTO 0x01 -\> START 0X02 -\> FINISH | 数据域长度 | 2 Byte | N | | | | | | | | | | | | | | | | | | | 密钥类型 | 1 Byte | 0x60 -\> KEY A 0x61 -\> KEY B | | | | | | | | | | | | | | | | | | | | | | 扇区号 | 1 Byte | S50 -\> 0x00\~0x0F S70 -\> 0x00\~0x27 | | | | | | | | | | | | | | | | | | | | | | 偏移 | 1 Byte | S50 -\> 0x00\~0x03 S70 -\> 0x00\~0x03或 0x00\~0x0F | 数据域 | 0 Byte | 数据 N = 0时没有 此项 | | | | | | | | | | | | | | | | | | | 块数 | 1Byte | S50 -\> 0x01\~0x04 S70 -\> 0x01\~0x04或 0x01\~0x10 | | | | | | | | | | | | | | | | | | | | | | 密钥 | 6 Byte | | | | | | | | | | | | | | | | | | | | | | | 数据 | N Byte | N = 16 \* 块数 | | | | | | | | | | | | | | | | | | | | 校验字 | 1 Byte | | 校验字 | 1 Byte | | | | | | | | | | | | | | | | | | | 注:待写入的块数不可为0,若为0视为无效指令;一条指令中不可跨扇区写入数据 例: 用A(0x60)密钥做认证,向2扇区1块、2块写入数据,即以1块为基地址连续写2块。 认证密钥为FF FF FF FF FF FF,标志位设置为AUTO。 PC--\>Reader :55 AA A1 2B 00 00 60 02 01 02 FF FF FF FF FF FF 11 11 11 11 11 11 11 11 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33 33 33 33 33 33 33 33 33 36 Reader--\>PC : 55 AA A1 00 00 00 5E 写数据成功 Reader--\>PC :55 AA A1 FF 00 00 A1失败或无卡 ISO14443-4 ---------- 1. 指令0xA6发送APDU指令 | 指令: 0xA6 | | | | | | | | |-------------------------------------------------------------------|----------------------|--------------------|--------|--------------------------------|------------------------|--------|-----------------------| | 说明: 用于与CPU卡之间进行通信,APDU指令可参见《FMCOS2.0用户手册》 | | | | | | | | | PC-\>Reader(Send) | Reader-\>PC(Receive) | | | | | | | | 项目 | 字节 | 说明 | 项目 | 字节 | 说明 | | | | 包头 | 2 Byte | Default: 0x55 0xAA | 包头 | 1 Byte | Default: 0x55 0xAA | | | | 命令字 | 1 Byte | 0xA6 | 命令字 | 1 Byte | 0xA6 | | | | 数据域长度 | 2 Byte | N | 标识字 | 1 Byte | 0x00 : 成功 非0 : 失败 | | | | 数据域 | N Byte | 任务标志位 | 1 Byte | 0x01 -\> START 0X02 -\> FINISH | 数据域长度 | 2 Byte | N | | | | APDU DATA | N Byte | 符合ISO7816-4的数据结构 | | | | | | | | | | 数据域 | N Byte | 数据 N = 0时没有 此项 | | 校验字 | 1 Byte | | 校验字 | 1 Byte | | | | 例:红色字体部分为APDU指令 选择应用目录: **PC--\>Reader :**55 AA A6 08 00 01 00 A4 00 00 02 3F 01 C8 **Reader--\>PC :** 55 AA A6 00 11 00 6F 0D 84 05 41 44 46 30 31 A5 04 9F 08 01 02 90 00 4C 获取4位随机数: **Reader--\>PC :** 55 AA A6 06 00 01 00 84 00 00 04 DE **Reader--\>PC :**55 AA A6 00 06 00 7C C9 56 38 90 00 14 外部认证:四位随机数用于外部认证,认证方式为DES单倍长,默认密钥(1122334455667788) **PC--\>Reader :**55 AA A6 0E 00 01 00 82 00 00 08 71 7E B1 7D 4C F6 81 17 33 **Reader--\>PC :** 55 AA A6 00 02 00 90 00 CB 选择二进制文件: **PC--\>Reader :**55 AA A6 06 00 02 00 B0 83 00 00 6E **Reader--\>PC :** 55 AA A6 00 12 00 11 22 33 44 55 66 77 88 00 00 00 00 00 00 00 00 90 00 53 人员注册 ======== 人员注册需要在协议透传模式或开发模式下才会生效。 1. **指令0x90拍照注册** | 指令: 0x90 | | | | | | |----------------------------------------------|----------------------|----------------------------------------------------|------------|--------|------------------------| | 说明: 用于协议透传模式或开发模式下的拍照注册 | | | | | | | PC-\>Reader(Send) | Reader-\>PC(Receive) | | | | | | 项目 | 字节 | 说明 | 项目 | 字节 | 说明 | | 包头 | 2 Byte | Default: 0x55 0xAA | 包头 | 1 Byte | Default: 0x55 0xAA | | 命令字 | 1 Byte | 0x90 | 命令字 | 1 Byte | 0x90 | | 数据域长度 | 2 Byte | N | 标识字 | 1 Byte | 0x00 : 成功 非0 : 失败 | | 数据域 | N Byte | 数据为json格式的字符串详见表《拍照注册json数据表》 | 数据域长度 | 2 Byte | N | | | | | 数据域 | N Byte | 数据 N = 0时没有此项 | | 校验字 | 1 Byte | | 校验字 | 1 Byte | | 拍照注册json数据表 | 参数名 | 描述 | 类型 | 必传 | 附加说明 | |--------------------------|------------|--------|------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | option | 类型 | Int | Y | 1:注册,2:删除 | | employeeNumber | 人员 Id | String | Y | 员工号,E.g SW200 为删除时: 若删除多个人员, id 用英文逗号拼接传入-1 则删除所有人员 • 以下数据会被删除,本地将不再做存储: 该人员 ID、人员信息 该人员对应的识别记录、现场抓拍照片 该人员对应的注册照片 • 人员 ID(id)只允许数字-1, 0\~9 和英文字母,且最大长度为 255 | | name | 人员名称 | String | Y | name 参数必传且内容不可为空。长度、内容无限制。 | | gender | 性别 | String | N | Gender(E.g "Man/Women/..." ) | | nationa | 国家 | String | N | | | departmentName | 部门名称 | String | N | | | idCardNumber | 人员卡号 | String | N | 注册时可以不填,长度、内容无限制。若注册人员时填写了卡号,可直接刷对应卡号的卡进行识别,屏幕也会显示与该卡号对应的人员的名字。 | | mobile | 手机号 | String | N | 人员手机号 | | accessRight | 权限模式 | Int | N | 0:自由通行 1:临时通行,模式1 2:临时通行模式2 | | temporaryAccessStartTime | 开始时间戳 | Int | N | 对应临时通行模式1 | | temporaryAccessEndTime | 结束时间戳 | Int | N | 对应临时通行模式1 | | temporaryAccessTimes | 通行次数 | Int | N | 对应临时通行模式2 | | accessCardNumber | 门禁卡号 | String | N | 门禁卡号,识别模式为刷卡时有效 | | remarks | 备注 | String | N | 用于填写说明信息 | 例:注册人员信息如下 姓名:彬 ID:10001 1. 添加人员 { "option": 1, "employeeNumber": "10001", "name": "彬" } 开启拍照注册: PC--\>Reader :55 AA 90 3200 7b 22 6f 70 74 69 6f 6e 22 3a 31 2c 22 65 6d 70 6c 6f 79 65 65 4e 75 6d 62 65 72 22 3a 22 31 30 30 30 31 22 2c 22 6e 61 6d 65 22 3a 22 e5 bd ac 22 7d B1 Reader--\>PC : 55AA 90 00 0000 6F 1. 删除人员 > { > "option": 2, > "employeeNumber": "10001" > } > PC--\>Reader :55 AA 90 2500 7b 22 6f 70 74 69 6f 6e 22 3a 32 2c 22 65 6d 70 > 6c 6f 79 65 65 4e 75 6d 62 65 72 22 3a 22 31 30 30 30 31 22 7d 40 > Reader--\>PC : 55AA 90 00 0000 6F 1. 删除所有人员 { "option": 2, "employeeNumber": "-1" } > PC--\>Reader :55 AA 90 2200 7b 22 6f 70 74 69 6f 6e 22 3a 32 2c 22 65 6d 70 > 6c 6f 79 65 65 4e 75 6d 62 65 72 22 3a 22 2d 31 22 7d 6B > Reader--\>PC : 55AA 90 00 0000 6F **附录1:** | 标识号 | 说明 | |--------|------------------| | 0x00 | 成功 | | 0x10 | 成功,结果不为空 | | 0x90 | 失败 | | 0x01 | 校验失败 | | 0x02 | 数据长度越界 | | 0x03 | 本指令不支持 | | 0x04 | Json解析失败 | | 0x05 | 内存不足 | | 0x06 | 密码长度错误 | | 0x07 | 密码校验错误 | | 0x08 | 功能未开启 | | 0x09 | 卡号长度越界 | | 0x0A | 升级超时失败 | | 0x0B | 写入flash失败 | | 0x0C | 包序号错误 | | 0x0D | 不支持的压缩方式 | | 0x0E | 参数错误 | 附表 2 音频名称列表 | 时区 | | |-----------------|------------------------| | cus\_face\_succ | 人脸核验成功自定义语音 | | cus\_face\_fail | 人脸核验失败自定义语音 | | cus\_nfc\_succ | 刷卡核验成功自定义语音 | | cus\_nfc\_fail | 刷卡核验失败自定义语音 | | cus\_qr\_succ | 扫码核验成功自定义语音 | | cus\_qr\_fail | 扫码核验失败自定义语音 | | cus1-cus16 | 自定义语音,可上传16条 | | | |
石磊
2025年5月29日 16:11
14
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
Word文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
有效期