RFID扫描系统流程概述与状态管理与数据处理

该思维导图详细描述了RFID扫描系统的流程,包括扫描控制、状态管理、数据处理、错误处理以及API接口。扫描控制分为开始和停止扫描,涉及连接状态检测和错误处理。状态管理通过ReaderState类进行,确保线程安全。数据处理包含标签数据接收和导出功能。错误处理机制针对连接和扫描错误进行自动重连和重试。API接口提供数据查询和导出功能,方便用户获取和管理标签数据。

源码
# RFID扫描系统流程概述与状态管理与数据处理
## 1. 扫描控制
### 开始扫描 start_scanning
- 检查连接状态
  - 连接有效性检查
  - 网络延迟检测
- 停止可能正在进行的扫描
  - 终止当前进程
  - 保存中间结果
- 设置扫描参数
  - 天线功率
    - 高
    - 中
    - 低
  - 扫描时间
    - 固定时间
    - 自定义时间
- 发送扫描命令
  - 解析命令格式
  - 反馈处理
- 错误处理
  - 自动重连机制
    - 连接尝试次数
    - 连接间隔
  - 重试扫描
    - 定时重试
    - 失败反馈
### 停止扫描 stop_scanning
- 发送停止命令
  - 确认停止请求
  - 返回停止状态
- 最大重试3次
  - 每次重试等待时间
- 数据导出到Excel
  - 导出格式选择
  - 导出路径设定
- 错误处理机制
  - 重连尝试
    - 超时设置
  - 强制状态更新
    - 状态重置
## 2. 状态管理 ReaderState类
### 状态变量
- client 连接客户端
  - 客户端类型
- connected 连接状态
  - True/False
- scanning 扫描状态
  - 启动中
  - 停止中
- tags 标签数据
  - 标签ID
  - 标签类型
  - 读取时间
- scan_status 扫描状态描述
  - 当前扫描状态
  - 上一状态
### 状态锁
- threading.Lock 用于线程安全
  - 防止数据竞态
  - 确保状态更新原子性
## 3. 数据处理
### 标签数据接收
- receivedEpc 接收回调
  - 处理接收到的标签信息
  - 更新标签列表
- receivedEpcOver 接收完成回调
  - 数据完整性检查
  - 提交标签数据
### 数据导出
- export_to_excel
  - 选择导出内容
    - 所有标签
    - 筛选标签
  - 自动保存
    - 保存路径
    - 保存格式
  - 文件命名规则
    - 时间戳命名
    - 自定义命名
## 4. 错误处理
### 连接错误
- 自动重连机制
  - 连接失败处理
  - 重新初始化连接
- 连接状态检查
  - 定时状态更新
- 错误日志记录
  - 记录日志格式
  - 日志保存路径
### 扫描错误
- 重试机制
  - 重试次数限制
  - 重试延迟设置
- 状态恢复
  - 恢复原状态
  - 更新错误提示
- 错误提示
  - 用户反馈信息
  - 错误代码说明
## 5. API接口
### 数据查询
- /api/tags 获取标签列表
  - 支持过滤参数
- /api/view_data 查看数据
  - 数据格式解析
- /api/preview_data 预览数据
  - 提供快速预览
### 数据导出
- /api/export 手动导出
  - 导出格式选项
  - 导出进度反馈
图片
RFID扫描系统流程概述与状态管理与数据处理