美文网首页
2019-05-18

2019-05-18

作者: CMPEAX | 来源:发表于2019-05-18 20:31 被阅读0次

ESD闸机上位机与下位机通讯协议

## 协议中都要携带一个token,token为一个随机值,作为当前通讯的标记/代号。
token 时效性为当前次操作

协议内容

功能代号 对应功能
0x00 上位机 广播IP地址 (暂时保留)
0x01 在下位机上录入人员信息
0x02 下位机修改人员权限验证方式
0x03 下位机修改参数设置后
0x04 上位机修改某一闸机的参数设置
0x05 上位机获取下位机参数设置信息
0x06 上位机进行人员录入或修改信息
0x07 下位机(通过/没通过)验证
0x08 异常推送
0x09 下位机请求数据同步 (批量数据)
0x0A 下位机向上位机 上传离线录入数据(批量数据)
0x0B 上位机向下位机 上传离线录入数据(批量数据)
0x0C 通讯心跳包(20秒)

0x00:广播地址

  • 上位机通过udp广播自身地址
    大小 4字节 15字节 端口号 10字节
    内容 0x00 IP地址 端口号 通讯标记

大概5秒 发送一次,下位机接收到后,若无和服务端连接,则开始进行连接.


0x01:在下位机(闸机)上录入人员信息

  • 下位机录入后发送给上位机
    大小 4字节 1字节 8字节 20字节 8k字节 1字节 10字节 10字节
    内容 0x01 0 员工编号 员工姓名 员工头像数据(176*218) *验证类型 对应验证类型的值 通讯标记
  • 上位机完成操作后应答下位机
    大小 4字节 1字节 10字节
    内容 0x01 1 通讯标记

️说明:

  • 验证类型字段中,对应值如下

    对应内容
    0 密码
    1 IC卡
    2 指纹
    3 刷脸
    4 二维码
  • 上位机收到后,如果没有数据,则新增。

  • 如果有数据,则更新,更新对应项


0x02:下位机(闸机)修改人员权限验证方式

  • 下位机录入后发送给上位机

    大小 4字节 1字节 8字节 6字节 10字节
    内容 0x02 0 员工编号 *权限验证字段 通讯标记
  • 上位机完成操作后应答下位机

    大小 4字节 1字节 10字节
    内容 0x02 1 通讯标记

️说明:

  • 权限验证字段 结构如下表格所示
    byte 0 1 2 3 4 5
    位数 密码 IC卡 指纹 刷脸 二维码 测量方式
  • 第0~4位如表格所示 ,该位设置值为1则是采用该验证方式,0为不采用

  • 第5位为四种测量方式,如下图表格

    代码 情况
    0 免测通过
    1 仅测手腕带
    2 仅测防静电鞋
    3 全测

    example: 验证方式为刷脸验证和IC卡验证,测量方式为全测时,该值为010103


0x03:下位机(闸机)修改参数设置后

  • 下位机发送给上位机
    大小 4字节 1字节 10字节
    内容 0x03 0 通讯标记
  • 上位机收到后应答下位机
    大小 4字节 1字节 10字节
    内容 0x03 1 通讯标记

️说明:

  • 这条信息在于 下位机告诉上位机,它的设置信息已经更新,让上位机去重新请求该下位机的设置参数信息.
  • 上位机收到后 将会发一条0x05信息向下位机请求参数设置信息。

0x04:上位机修改某一闸机的参数设置

  • 上位机修改某闸机信息后下发给下位机

    大小 4字节 1字节 15字节 12字节 2字节 10字节 10字节 15字节 10字节 10字节 10字节 10字节 10字节 10字节 1 字节 1字节 10字节
    内容 0x04 0 设备IP地址 设备固定ID信息 本机机号 公司名字 管理员密码 本地IP 手腕带单手上限值 手腕带单手下限值 手腕带双手上限值 手腕带双手下限值 防静电鞋上限值 防静电鞋下限值 *出闸方式 *指示箭头灯设置 通讯标记
  • 下位机收到后应答上位机

    大小 4字节 1字节 10字节
    内容 0x04 1 通讯标记

️说明:

  • 出闸方式 对应值如下:

    对应功能
    0 免验证出闸
    1 按开关出闸
    2 刷卡出闸
  • 指示箭头灯 对应值如下:

    对应功能
    0 横向跑马灯
    1 横向静止灯
    2 45度斜跑马灯
    3 45度斜静止灯

0x05:上位机获取下位机参数设置信息

  • 上位机发送请求指令给下位机

    大小 4字节 1字节 10字节
    内容 0x05 0 通讯标记
  • 下位机收到信息后发送给上位机

    大小 4字节 1字节 15字节 12字节 2字节 10字节 10字节 15字节 10字节 10字节 10字节 10字节 10字节 10字节 1 字节 1字节 10字节
    内容 0x05 1 设备IP地址 设备固定ID信息 本机机号 公司名字 管理员密码 本地IP 手腕带单手上限值 手腕带单手下限值 手腕带双手上限值 手腕带双手下限值 防静电鞋上限值 防静电鞋下限值 *出闸方式 *指示箭头灯设置 通讯标记
  • 上位机接收到处理后作应答.

    大小 4字节 1字节 10字节
    内容 0x05 2 通讯标记

️说明:

  • 出闸方式 对应值如下:

    对应功能
    0 免验证出闸
    1 按开关出闸
    2 刷卡出闸
  • 指示箭头灯 对应值如下:

    对应功能
    0 横向跑马灯
    1 横向静止灯
    2 45度斜跑马灯
    3 45度斜静止灯

0x06:上位机进行人员录入或修改信息

  • 上位机录入后发送给下位机
大小 4字节 1字节 8字节 20字节 20字节 8k 10字节 10字节 20字节 10字节 10字节 6字节 10字节
内容 0x06 0 员工编号 员工姓名 所在部门 采集头像数据 密码值 IC卡卡号 人脸相关值 指纹值 二维码 *权限验证字段 通讯标记
  • 下位机操作后应答上位机
大小 4字节 1字节 10字节
内容 0x06 1 通讯标记

️说明:

  • 权限验证字段 结构如下表格所示
    bit 0 1 2 3 4 5
    位数 二维码 刷脸验证 IC卡验证 指纹验证 密码验证 测量方式
  • 第0~4位如表格所示 ,该位设置值为1则是采用该验证方式,0为不采用

  • 第5位为四种测量方式,如下图表格

    代码 情况
    0 免测通过
    1 仅测手腕带
    2 仅测防静电鞋
    3 全测

    example: 验证方式为刷脸验证和IC卡验证,测量方式为全测时,该值为011003


0x07:下位机(通过/没通过)验证

  • 下位机 通过/没通过验证时发送给上位机
大小 4字节 1字节 8字节 20字节 20字节 1字节 1字节 10字节 10字节 10字节 10字节 10字节
内容 0x07 0 员工编号 员工姓名 所在部门 *是否允许通行 *验证类型 左手测量值 右手测量值 左脚测量值 右脚测量值 通讯标记
  • 上位机收到后 应答上位机
大小 4字节 1字节 10字节
内容 0x07 1 通讯标记

️说明:

  • 是否允许通行 字段对应内容如下:

    对应内容
    0 不通过
    1 通过
  • 验证类型 字段对应内容如下:

    对应内容
    0 密码
    1 IC卡
    2 指纹
    3 刷脸
    4 二维码

0x08:异常推送

  • 下位机 发生异常时,将异常信息上报给上位机
大小 4字节 1字节 8字节 50字节 10字节
内容 0x08 0 *错误代码 错误具体内容 通讯标记
  • 上位机收到后 应答上位机
大小 4字节 1字节 10字节
内容 0x08 1 通讯标记

️说明:

  • 错误代码错误具体内容 稍后定义

0x09 下位机请求数据同步 (批量数据)

  • 上位机发送给下位机
大小 4字节 1字节 10字节
内容 0x09 0 通讯标记
  • 下位机准备就绪后 给上位机作应答表示准备接收
大小 4字节 1字节 10字节
内容 0x09 1 通讯标记
  • 上位机将数据整理后 发送给下位机
大小 4字节 1字节 10字节 8字节 n
内容 0x09 2 通讯标记 数据长度 对应用户数据

️说明:

  • 每个 对应用户数据 格式如下:
大小 8字节 20字节 20字节 8k 10字节 10字节 20字节 10字节 10字节 6字节
内容 员工编号 员工姓名 所在部门 采集头像数据 密码值 IC卡卡号 人脸相关值 指纹值 二维码 *权限验证字段
  • 权限验证字段 结构如下表格所示
    byte 0 1 2 3 4 5
    位数 密码 IC卡 指纹 刷脸 二维码 测量方式
  • 第0~4位如表格所示 ,该位设置值为1则是采用该验证方式,0为不采用
  • 第5位为四种测量方式,如下图表格
    代码 情况
    0 免测通过
    1 仅测手腕带
    2 仅测防静电鞋
    3 全测


  • 对应用户数据8114 字节.

  • 对应用户数据 数组 就是 n 个 对应用户数据拼接起来。

    格式如下:

    byte 8114 字节 8114 字节 8114 字节 8114 字节 8114 字节 8114 字节
    位数 用户数据A 用户数据B 用户数据C 用户数据D 用户数据E 用户数据F

0x0A 下位机向上位机 上传离线录入数据(批量数据)

  • 场景:

    主要用于下位机与上位机脱机连接时,下位机进行录入操作,待下位机重新和上位机通讯后,下位机将数据发送给上位机。

  • 下位机发送给上位机
大小 4字节 1字节 10字节
内容 0x0A 0 通讯标记
  • 上位机发送给下位机(准备接收就绪标记)
大小 4字节 1字节 10字节
内容 0x0A 1 通讯标记
  • 下位机将数据整理后 发送给上位机
大小 4字节 1字节 10字节 8字节 n
内容 0x0A 2 通讯标记 数据长度 对应用户数据 数组

️说明:

  • 每个 对应用户数据 格式如下:
大小 8字节 20字节 20字节 8k 10字节 10字节 20字节 10字节 10字节 6字节
内容 员工编号 员工姓名 所在部门 采集头像数据 密码值 IC卡卡号 人脸相关值 指纹值 二维码 *权限验证字段
  • 权限验证字段 结构如下表格所示
    byte 0 1 2 3 4 5
    位数 密码 IC卡 指纹 刷脸 二维码 测量方式
  • 第0~4位如表格所示 ,该位设置值为1则是采用该验证方式,0为不采用
  • 第5位为四种测量方式,如下图表格
    代码 情况
    0 免测通过
    1 仅测手腕带
    2 仅测防静电鞋
    3 全测


  • 对应用户数据8114 字节.

  • 对应用户数据 数组 就是 n 个 对应用户数据拼接起来。

    格式如下:

    byte 8114 字节 8114 字节 8114 字节 8114 字节 8114 字节 8114 字节
    位数 用户数据A 用户数据B 用户数据C 用户数据D 用户数据E 用户数据F

0x0B 上位机向下位机 上传离线录入数据(批量数据)

  • 场景:

    主要用于下位机与上位机脱机连接时,上位机进行录入操作,待下位机重新和上位机通讯后,上位机将数据发送给下位机。

  • 上位机发送给下位机
大小 4字节 1字节 10字节
内容 0x0B 0 通讯标记
  • 下位机发送给上位机(准备接收就绪标记)

| 大小 | 4字节 | 1字节 | 10字节 |
| -- | -- | -- | -- | -- |
| 内容 | 0x0B | 1 | 通讯标记 |

  • 上位机将数据整理后 发送给下位机
大小 4字节 1字节 10字节 8字节 n
内容 0x0B 2 通讯标记 数据长度 对应用户数据 数组

️说明:

  • 每个 对应用户数据 格式如下:
大小 8字节 20字节 20字节 8k 10字节 10字节 20字节 10字节 10字节 6字节
内容 员工编号 员工姓名 所在部门 采集头像数据 密码值 IC卡卡号 人脸相关值 指纹值 二维码 *权限验证字段
  • 权限验证字段 结构如下表格所示
    byte 0 1 2 3 4 5
    位数 密码 IC卡 指纹 刷脸 二维码 测量方式
  • 第0~4位如表格所示 ,该位设置值为1则是采用该验证方式,0为不采用
  • 第5位为四种测量方式,如下图表格
    代码 情况
    0 免测通过
    1 仅测手腕带
    2 仅测防静电鞋
    3 全测


  • 对应用户数据8114 字节.

  • 对应用户数据 数组 就是 n 个 对应用户数据拼接起来。

    格式如下:

    byte 8114 字节 8114 字节 8114 字节 8114 字节 8114 字节 8114 字节
    位数 用户数据A 用户数据B 用户数据C 用户数据D 用户数据E 用户数据F

0x0C 通讯心跳包

  • 场景:

    上位机隔一段时间发送心跳包给下位机 下位机收到后作出应答。以此来判断在线或者离线状态。

  • 上位机发送心跳包
大小 4字节 1字节 10字节
内容 0x0C 0 通讯标记
  • 下位机收到后 回应上位机
大小 4字节 1字节 10字节
内容 0x0C 1 通讯标记

相关文章

网友评论

      本文标题:2019-05-18

      本文链接:https://www.haomeiwen.com/subject/eqhxzqtx.html