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扫描系统流程概述与状态管理与数据处理](http://dl.min2k.com/diagrams/5bd3f3378d9c2584d2fc8df416c35e0b.webp)