Browse Source

fixed doc

master
jkpete 4 days ago
parent
commit
a8692c176c
  1. 169
      README.md
  2. 166
      Storage_V1.md
  3. 291
      Storage_V2.md

169
README.md

@ -1,170 +1,11 @@ @@ -1,170 +1,11 @@
# 警用装备-仓储柜控制系统
# 警用装备库相关文档
---
## 1.配置文件说明
旧版文档V1 2023年10月
(SaveData/DefaultConfig.json)
[参考API手册](Storage_V1.md)
打开Json根据如下说明进行编辑即可,通道门与仓库端软件也有对应的图形化操作。
新版文档V1 2024年11月
---
### 通道门配置说明
`DataOutputDoor`
| 数据名称 | 数据说明 | 数据参考 |
| ----------- | ------------- | --------------- |
| OutputIP | 通道门预留继电器地址 | "192.168.1.201" |
| OutputRoute | 通道门预留继电器线路 | 7 |
| InputIP | 入口门门磁继电器地址 | "192.168.1.201" |
| InputRoute | 入口门门磁继电器线路 | 6 |
| AlarmIP | 报警器继电器地址 | "192.168.1.201" |
| AlarmRoute | 报警器继电器线路 | 5 |
| RfidIP | 通道门Rfid扫描设备地址 | "192.168.1.201" |
### 接口地址配置说明
`DataHttpAddress`
| 数据名称 | 数据说明 | 数据参考 |
| ------------------------ | ----------- | --------------------------------- |
| RequestAddressIn | 存入装备请求地址 | "http://192.168.1.42:5050/api" |
| RequestAddressOut | 取出装备请求地址 | "http://192.168.1.42:5050/api" |
| RequestAddressOutputDoor | 通道门扫描装备请求地址 | "http://192.168.1.42:5050/api" |
| ServerAddress | 本地http服务器地址 | "http://192.168.1.42:6555/index/" |
注:192.168.1.42为本机地址,6555为端口号,请求地址请换成后端接收对应请求的http接口地址。
### 串口配置说明
`DataSerialPort`
| 数据名称 | 数据说明 | 数据参考 |
| ---------- | -------------------- | ------ |
| SerialPort | 串口编号(设备插入PC后,对应的串口号) | COM5 |
| BaudRate | 波特率(如果没有设备更换,此处无需修改) | 115200 |
### 仓库配置说明
`DataAllStorage`
| 数据名称 | 数据说明 | 数据参考 |
| --------------- | -------------- | --------------------------- |
| DataStorageList | 装备柜列表 | Dictionary("装备柜编号",装备柜数据实体) |
| "1" | 1号装备柜 | 根据开头的编号决定 |
| 装备柜数据实体 | ----- | ---- |
| ID | 装备柜编号 | 同编号数据头 |
| RFIDTcpIP | 装备柜Rfid扫描器地址 | "192.168.1.116" |
| AntennaRoute | 装备柜Rfid扫描器天线编号 | (1-4)之间的任意数字,其他数字默认开启全部天线。 |
| PowerTcpIP | 装备柜柜锁继电器地址 | "192.168.1.201" |
| PowerRoute | 装备柜柜锁继电器线路 | (0-7)之间的任意数字 |
## 2.http接口说明
地址可通过配置文件进行修改,建议修改格式如下
http://[本机地址]+:+[端口号]/index
---
### 开柜
请求格式:Application-Json
请求数据
| 数据名称 | 数据说明 | 示例 |
| ------- | ------------------ | ----------------- |
| Storage | 柜门数组,仅存在编号的装备柜可以开柜 | {"Storage":["1"]} |
### 报警
请求格式:Application-Json
请求数据
| 数据名称 | 数据说明 | 示例 |
| ---- | ---- | ----------- |
| Time | 报警时间 | {"Time":10} |
## 3.控制协议
硬件设备控制仅控制Modbus8路继电器、Rfid串口读写设备、Rfid-TCP-四路天线读写设备。
---
### 3.1继电器控制协议(Modbus-TCP)
##### Modbus报文格式说明
---
注:此处仅为拓展说明,如需了解具体协议内容可跳转至 `控制开关` 部分。
报文格式由报文头,协议体组成,使用hex格式的byte数组进行通讯。
【报文头6位】+【协议体n位】
1.【报文头】
报文头由报文ID(4位)+协议长度(2位)组成,报文ID可以用于检查设备是否接收到该数据,协议长度声明本次要发送的长度(长度范围:0-65535)
| 报文定义 | 占位长度 | 示例 |
| ---- | ---- | ------------------------------- |
| 报文ID | 4 | 【0x00,0x00,0x00,0x00】 |
| 协议长度 | 2 | 【0x00,0x06】 |
| 全部报文 | 6 | 【0x00,0x00,0x00,0x00,0x00,0x06】 |
2.【协议体】
协议体由主机名称(1位),功能码(1位),协议地址(2n位),协议数据(2n位)组成。
| 报文定义 | 占位长度 | 示例 |
| ---- | ---- | ----------- |
| 主机名称 | 1 | 【0x01】 |
| 功能码 | 1 | 【0x06】 |
| 协议地址 | 2n | 【0x00,0x01】 |
| 协议数据 | 2n | 【0x00,0x01】 |
3.【功能码】简易说明表
| 功能 | 操作类型 | 示例 | 操作数量 |
| -------- | ---- | ------ | ----- |
| 读线圈寄存器 | 位操作 | 【0x01】 | 单个或多个 |
| 读离散输入寄存器 | 位操作 | 【0x02】 | 单个或多个 |
| 读保持寄存器 | 字操作 | 【0x03】 | 单个或多个 |
| 读输入寄存器 | 字操作 | 【0x04】 | 单个或多个 |
| 写单个线圈寄存器 | 位操作 | 【0x05】 | 单个 |
| 写单个保持寄存器 | 字操作 | 【0x06】 | 单个 |
| 写多个线圈寄存器 | 位操作 | 【0x0F】 | 多个 |
| 写多个保持寄存器 | 字操作 | 【0x10】 | 多个 |
##### 控制继电器开关
| 协议名称 | 示例 |
| -------- | ----------------------------------------------------------------- |
| 打开1路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x00` 0x00 `0x01`】 |
| 关闭1路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x00` 0x00 `0x00`】 |
| 操作其他路继电器 | 改变发送地址与值(0=关,1=开) |
| 打开8路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x07` 0x00 `0x01`】 |
| 关闭8路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x07` 0x00 `0x00`】 |
##### 查询继电器开关状态
| 协议名称 | 示例 |
| ------------- | ----------------------------------------------------------------- |
| 读取1-8路继电器开关状态 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x03 0x00 `0x00` 0x00 `0x08`】 |
### 3.2桌面Rfid读写器控制协议(Rfid-SerialPort)
[参考API手册](./DocRes/中科微芯 RFID 读写设备开发指南.NET.4.38.pdf)
### 3.3装备柜Rfid扫描控制协议(Rfid-TCP)
[参考API手册](./DocRes/中科微芯 RFID 读写设备开发指南.NET.4.38.pdf)
[参考API手册](Storage_V2.md)

166
Storage_V1.md

@ -0,0 +1,166 @@ @@ -0,0 +1,166 @@
# 仓储柜控制系统
---
## 1.配置文件说明
(SaveData/DefaultConfig.json)
打开Json根据如下说明进行编辑即可,通道门与仓库端软件也有对应的图形化操作。
---
### 通道门配置说明
`DataOutputDoor`
| 数据名称 | 数据说明 | 数据参考 |
| ----------- | ------------- | --------------- |
| OutputIP | 通道门预留继电器地址 | "192.168.1.201" |
| OutputRoute | 通道门预留继电器线路 | 7 |
| InputIP | 入口门门磁继电器地址 | "192.168.1.201" |
| InputRoute | 入口门门磁继电器线路 | 6 |
| AlarmIP | 报警器继电器地址 | "192.168.1.201" |
| AlarmRoute | 报警器继电器线路 | 5 |
| RfidIP | 通道门Rfid扫描设备地址 | "192.168.1.201" |
### 接口地址配置说明
`DataHttpAddress`
| 数据名称 | 数据说明 | 数据参考 |
| ------------------------ | ----------- | --------------------------------- |
| RequestAddressIn | 存入装备请求地址 | "http://192.168.1.42:5050/api" |
| RequestAddressOut | 取出装备请求地址 | "http://192.168.1.42:5050/api" |
| RequestAddressOutputDoor | 通道门扫描装备请求地址 | "http://192.168.1.42:5050/api" |
| ServerAddress | 本地http服务器地址 | "http://192.168.1.42:6555/index/" |
注:192.168.1.42为本机地址,6555为端口号,请求地址请换成后端接收对应请求的http接口地址。
### 串口配置说明
`DataSerialPort`
| 数据名称 | 数据说明 | 数据参考 |
| ---------- | -------------------- | ------ |
| SerialPort | 串口编号(设备插入PC后,对应的串口号) | COM5 |
| BaudRate | 波特率(如果没有设备更换,此处无需修改) | 115200 |
### 仓库配置说明
`DataAllStorage`
| 数据名称 | 数据说明 | 数据参考 |
| --------------- | -------------- | --------------------------- |
| DataStorageList | 装备柜列表 | Dictionary("装备柜编号",装备柜数据实体) |
| "1" | 1号装备柜 | 根据开头的编号决定 |
| 装备柜数据实体 | ----- | ---- |
| ID | 装备柜编号 | 同编号数据头 |
| RFIDTcpIP | 装备柜Rfid扫描器地址 | "192.168.1.116" |
| AntennaRoute | 装备柜Rfid扫描器天线编号 | (1-4)之间的任意数字,其他数字默认开启全部天线。 |
| PowerTcpIP | 装备柜柜锁继电器地址 | "192.168.1.201" |
| PowerRoute | 装备柜柜锁继电器线路 | (0-7)之间的任意数字 |
## 2.http接口说明
地址可通过配置文件进行修改,建议修改格式如下
http://[本机地址]+:+[端口号]/index
---
### 开柜
请求格式:Application-Json
请求数据
| 数据名称 | 数据说明 | 示例 |
| ------- | ------------------ | ----------------- |
| Storage | 柜门数组,仅存在编号的装备柜可以开柜 | {"Storage":["1"]} |
### 报警
请求格式:Application-Json
请求数据
| 数据名称 | 数据说明 | 示例 |
| ---- | ---- | ----------- |
| Time | 报警时间 | {"Time":10} |
## 3.控制协议
硬件设备控制仅控制Modbus8路继电器、Rfid串口读写设备、Rfid-TCP-四路天线读写设备。
---
### 3.1继电器控制协议(Modbus-TCP)
##### Modbus报文格式说明
---
注:此处仅为拓展说明,如需了解具体协议内容可跳转至 `控制开关` 部分。
报文格式由报文头,协议体组成,使用hex格式的byte数组进行通讯。
【报文头6位】+【协议体n位】
1.【报文头】
报文头由报文ID(4位)+协议长度(2位)组成,报文ID可以用于检查设备是否接收到该数据,协议长度声明本次要发送的长度(长度范围:0-65535)
| 报文定义 | 占位长度 | 示例 |
| ---- | ---- | ------------------------------- |
| 报文ID | 4 | 【0x00,0x00,0x00,0x00】 |
| 协议长度 | 2 | 【0x00,0x06】 |
| 全部报文 | 6 | 【0x00,0x00,0x00,0x00,0x00,0x06】 |
2.【协议体】
协议体由主机名称(1位),功能码(1位),协议地址(2n位),协议数据(2n位)组成。
| 报文定义 | 占位长度 | 示例 |
| ---- | ---- | ----------- |
| 主机名称 | 1 | 【0x01】 |
| 功能码 | 1 | 【0x06】 |
| 协议地址 | 2n | 【0x00,0x01】 |
| 协议数据 | 2n | 【0x00,0x01】 |
3.【功能码】简易说明表
| 功能 | 操作类型 | 示例 | 操作数量 |
| -------- | ---- | ------ | ----- |
| 读线圈寄存器 | 位操作 | 【0x01】 | 单个或多个 |
| 读离散输入寄存器 | 位操作 | 【0x02】 | 单个或多个 |
| 读保持寄存器 | 字操作 | 【0x03】 | 单个或多个 |
| 读输入寄存器 | 字操作 | 【0x04】 | 单个或多个 |
| 写单个线圈寄存器 | 位操作 | 【0x05】 | 单个 |
| 写单个保持寄存器 | 字操作 | 【0x06】 | 单个 |
| 写多个线圈寄存器 | 位操作 | 【0x0F】 | 多个 |
| 写多个保持寄存器 | 字操作 | 【0x10】 | 多个 |
##### 控制继电器开关
| 协议名称 | 示例 |
| -------- | ----------------------------------------------------------------- |
| 打开1路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x00` 0x00 `0x01`】 |
| 关闭1路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x00` 0x00 `0x00`】 |
| 操作其他路继电器 | 改变发送地址与值(0=关,1=开) |
| 打开8路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x07` 0x00 `0x01`】 |
| 关闭8路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x07` 0x00 `0x00`】 |
##### 查询继电器开关状态
| 协议名称 | 示例 |
| ------------- | ----------------------------------------------------------------- |
| 读取1-8路继电器开关状态 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x03 0x00 `0x00` 0x00 `0x08`】 |
### 3.2桌面Rfid读写器控制协议(Rfid-SerialPort)
[参考API手册](./DocRes/中科微芯 RFID 读写设备开发指南.NET.4.38.pdf)
### 3.3装备柜Rfid扫描控制协议(Rfid-TCP)
[参考API手册](./DocRes/中科微芯 RFID 读写设备开发指南.NET.4.38.pdf)

291
Storage_V2.md

@ -0,0 +1,291 @@ @@ -0,0 +1,291 @@
# 仓库管理--表数据字段说明
---
由于TimeStamp有时间限制(2038年后会过期),本数据库关于时间的统计一律按照DateTime处理,非TimeStamp格式。
# 供应商表【DataManufacture】
用于提供相应装备的供应商信息的列表,用于维修设备时查找对应的地址或者是电话。
| 字段 | 类型 | 说明 |
| ------------ | ------------ | ---------------- |
| ID | INT | 唯一标识,自增 |
| Name | VARCHAR(255) | 供应商名称 |
| PhoneNumbers | VARCHAR(255) | 电话号码 |
| Address | VARCHAR(255) | 地址 |
| CreateDate | BIGINT | 创建日期(DateTime格式) |
| DeleteDate | BIGINT | 删除日期(DateTime格式) |
建表参考
```sql
DROP TABLE IF EXISTS DataManufacture;
CREATE TABLE DataManufacture(
ID INT PRIMARY KEY AUTO_INCREMENT,
Name VARCHAR(255),
PhoneNumbers VARCHAR(255),
Address VARCHAR(255),
CreateDate BIGINT,
DeleteDate BIGINT
);
```
# 货架表【DataShelf】
用于提供货架的位置信息以及库存数量的列表。
| 字段 | 类型 | 说明 |
| --------------------- | ------------ | -------- |
| ID | INT | 唯一标识,自增 |
| Name | VARCHAR(255) | 货架名称,唯一 |
| MaxWeight | FLOAT | 承重 |
| Position | VARCHAR(255) | 位置信息 |
| CurrentEquipmentCount | INT | 当前在位装备数量 |
| AllEquipmentCount | INT | 所有装备数量 |
| CreateDate | BIGINT | 创建日期 |
| DeleteDate | BIGINT | 删除日期 |
建表参考
```sql
DROP TABLE IF EXISTS DataShelf;
CREATE TABLE DataShelf (
ID INT PRIMARY KEY AUTO_INCREMENT,
Name VARCHAR(255) UNIQUE NOT NULL,
MaxWeight FLOAT,
Position VARCHAR(255),
CurrentEquipmentCount INT,
AllEquipmentCount INT,
CreateDate BIGINT,
DeleteDate BIGINT
);
```
# 装备表【DataEquipment】
用于提供入库的所有装备以及每个装备的状态信息
| 字段 | 类型 | 说明 |
| -------------- | ------------ | ----------------- |
| ID | INT | 自增ID,唯一标识 |
| RFID | VARCHAR(255) | RFID条形码信息,唯一 |
| Name | VARCHAR(255) | 装备类型(名称) |
| ShelfID | INT | 货架ID,对应货架表的唯一标识 |
| ShelfPosition | VARCHAR(255) | 物品在货架的位置 |
| ManufactureID | INT | 供应商ID,对应供应商表的唯一标识 |
| OtherInfo | VARCHAR(255) | 其他补充信息 |
| IsInStorage | BOOLEAN | 是否在库 |
| IsBroken | BOOLEAN | 是否损坏 |
| NeedRepairDate | BIGINT | 检修日期 |
| LastRepairDate | BIGINT | 上次维修日期 |
| CreateDate | BIGINT | 创建时间 |
| DeleteDate | BIGINT | 删除时间 |
建表参考
```sql
DROP TABLE IF EXISTS DataEquipment;
CREATE TABLE DataEquipment(
ID INT PRIMARY KEY AUTO_INCREMENT,
RFID VARCHAR(255) UNIQUE NOT NULL,
Name VARCHAR(255),
ShelfID INT,
ShelfPosition VARCHAR(255),
ManufactureID INT,
OtherInfo VARCHAR(255),
IsInStorage BOOLEAN,
IsBroken BOOLEAN,
NeedRepairDate BIGINT,
LastRepairDate BIGINT,
CreateDate BIGINT,
DeleteDate BIGINT
);
```
# 历史记录表
用于提供装备的出入库记录,维修记录,报损报废记录等等。
## 装备领出记录【DataOutHistoryEquipment】
| 字段 | 类型 | 说明 |
| --------- | ------------ | --------------- |
| ID | INT | 唯一标识 |
| RFID | VARCHAR(255) | RFID条形码信息 |
| Name | VARCHAR(255) | 装备类型(名称) |
| OutDate | BIGINT | 领出日期 |
| ShelfID | INT | 货架ID,对应货架表的唯一标识 |
| ShelfName | VARCHAR(255) | 货架名称 |
补充人员信息【DataOutHistoryEquipmentWithUser】
| 字段 | 类型 | 说明 |
| --------- | ------------ | -------- |
| PoliceID | VARCHAR(255) | 警号 |
| UserName | VARCHAR(255) | 姓名 |
| PhotoPath | VARCHAR(255) | 本次领出拍照路径 |
## 装备归还记录【DataInHistoryEquipment】
| 字段 | 类型 | 说明 |
| --------- | ------------ | --------------- |
| ID | INT | 唯一标识 |
| RFID | VARCHAR(255) | RFID条形码信息 |
| Name | VARCHAR(255) | 装备类型(名称) |
| InDate | BIGINT | 归还日期 |
| ShelfID | INT | 货架ID,对应货架表的唯一标识 |
| ShelfName | VARCHAR(255) | 货架名称 |
补充人员信息【DataOutHistoryEquipmentWithUser】
| 字段 | 类型 | 说明 |
| --------- | ------------ | -------- |
| PoliceID | VARCHAR(255) | 警号 |
| UserName | VARCHAR(255) | 姓名 |
| PhotoPath | VARCHAR(255) | 本次归还拍照路径 |
## 装备报损记录【DataBrokenHistoryEquipment】
| 字段 | 类型 | 说明 |
| ---------- | ------------ | --------- |
| ID | INT | 唯一标识 |
| RFID | VARCHAR(255) | RFID条形码信息 |
| Name | VARCHAR(255) | 装备类型(名称) |
| BrokenDate | BIGINT | 损坏日期 |
## 装备维修记录【DataRepairHistoryEquipment】
| 字段 | 类型 | 说明 |
| ---------- | ------------ | --------- |
| ID | INT | 唯一标识 |
| RFID | VARCHAR(255) | RFID条形码信息 |
| Name | VARCHAR(255) | 装备类型(名称) |
| RepairDate | BIGINT | 维修日期 |
## 装备报废记录【DataDisuseHistoryEquipment】
| 字段 | 类型 | 说明 |
| ---------- | ------------ | --------- |
| ID | INT | 唯一标识 |
| RFID | VARCHAR(255) | RFID条形码信息 |
| Name | VARCHAR(255) | 装备类型(名称) |
| DisuseDate | BIGINT | 报废日期 |
建表参考
```sql
DROP TABLE IF EXISTS DataOutHistoryEquipment;
DROP TABLE IF EXISTS DataOutHistoryEquipmentWithUser;
DROP TABLE IF EXISTS DataInHistoryEquipment;
DROP TABLE IF EXISTS DataInHistoryEquipmentWithUser;
DROP TABLE IF EXISTS DataBrokenHistoryEquipment;
DROP TABLE IF EXISTS DataRepairHistoryEquipment;
DROP TABLE IF EXISTS DataDisuseHistoryEquipment;
CREATE TABLE DataOutHistoryEquipment
(
ID INT PRIMARY KEY AUTO_INCREMENT,
RFID VARCHAR(255),
Name VARCHAR(255),
OutDate BIGINT,
ShelfID INT,
ShelfName VARCHAR(255)
);
CREATE TABLE DataOutHistoryEquipmentWithUser
(
ID INT PRIMARY KEY AUTO_INCREMENT,
RFID VARCHAR(255),
Name VARCHAR(255),
OutDate BIGINT,
ShelfID INT,
ShelfName VARCHAR(255),
PoliceID VARCHAR(255),
UserName VARCHAR(255),
PhotoPath VARCHAR(255)
);
CREATE TABLE DataInHistoryEquipment
(
ID INT PRIMARY KEY AUTO_INCREMENT,
RFID VARCHAR(255),
Name VARCHAR(255),
InDate BIGINT,
ShelfID INT,
ShelfName VARCHAR(255)
);
CREATE TABLE DataInHistoryEquipmentWithUser
(
ID INT PRIMARY KEY AUTO_INCREMENT,
RFID VARCHAR(255),
Name VARCHAR(255),
InDate BIGINT,
ShelfID INT,
ShelfName VARCHAR(255),
PoliceID VARCHAR(255),
UserName VARCHAR(255),
PhotoPath VARCHAR(255)
);
CREATE TABLE DataBrokenHistoryEquipment
(
ID INT PRIMARY KEY AUTO_INCREMENT,
RFID VARCHAR(255),
Name VARCHAR(255),
BrokenDate BIGINT
);
CREATE TABLE DataRepairHistoryEquipment
(
ID INT PRIMARY KEY AUTO_INCREMENT,
RFID VARCHAR(255),
Name VARCHAR(255),
RepairDate BIGINT
);
CREATE TABLE DataDisuseHistoryEquipment
(
ID INT PRIMARY KEY AUTO_INCREMENT,
RFID VARCHAR(255),
Name VARCHAR(255),
DisuseDate BIGINT
);
```
# 人员用户表
## 人员表
用于管理人员人脸信息等
| 字段 | 类型 | 说明 |
| ----------- | ------------ | ------ |
| ID | INT | 唯一标识 |
| Name | VARCHAR(255) | 人员名称 |
| PoliceID | INT | 警号 |
| FaceDataURL | VARCHAR(255) | 人脸信息路径 |
| OtherMsg | VARCHAR(255) | 补充信息 |
| CreateDate | BIGINT | 创建日期 |
| DeleteDate | BIGINT | 删除日期 |
## 管理员表
| 字段 | 类型 | 说明 |
| --------------- | ------------ | ------ |
| ID | INT | 唯一标识 |
| Name | VARCHAR(255) | 管理员名称 |
| UserName | VARCHAR(255) | 管理员用户名 |
| Password | VARCHAR(255) | 密码 |
| PermissionLevel | INT | 权限等级 |
| CreateDate | BIGINT | 创建日期 |
| DeleteDate | BIGINT | 删除日期 |
建表参考
```sql
```
Loading…
Cancel
Save