Files
2025-01-22 08:03:11 +00:00

121 lines
5.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Lab 实验数据采集系统
## 项目概述
这是一个用于实验数据采集和监控的分布式系统,包含采集端、服务器端和Web监控界面。
## 更新日志
### 2025-01-21更新
0. 更新代码结构
### 2025-01-17更新
0. 本次主要更新paper页面;
1. 接入了memarid.js, 后端分析报告添加了对流程图的输出,前端渲染流程图;
2. 更新了文献报告显示的样式。
### 2025-01-16更新
1. 调整了项目页面和实验页面,项目页面增加了"reports"页面,可以查看项目分析报告,实验页面移除了左侧导航栏的下载数据和报告按钮;原有功能添加到实验详情页面
2. 将生成项目报告和实验报告的逻辑改为异步,不会阻碍其他路由
3. 给项目报告和实验报告添加了 AI Chat 功能
4. 将literature页面更名为paper
### 2025-01-15更新
0. 本次主要更新literature页面
1. 将左侧导航栏"Summary"改为查看总结报告页面,同时在Summary页面增加了"download"按钮和"regenerate"按钮,可以下载对所有文献的总结报告,也可以重新生成总结报告;
2. 左侧导航栏原"upload"按钮改为"literature list",显示文献列表;
3. 移除左侧导航栏"upload"按钮,改为在文献列表页面中增加"upload"按钮,上传文献;
4. 更新了页面设计;
5. 将生成总结报告的逻辑改为异步,不会阻碍其他路由;
6. 优化了文献分析页面的AI chat功能,对markdown格式的回答进行渲染,更容易阅读;
7. 在分析文献的逻辑中添加了长文档分析,长文档会分段分析再合并,最后生成报告。
### 2025-01-14更新
1. 更新了设备管理逻辑,保证一个设备可以在多个用户之间切换,但一个设备只能被一名用户使用,以及删除设备逻辑,删除设备改为更新设备状态。
2. 优化了整个web的设计,包括设备注册页面,以及更新了左侧导航栏内容和各按钮样式
### 2025-01-13更新
1. 将各页面独立出来,便于维护,同时优化了Web设计,导航栏增加了literature入口。
2. 在文献分析部分,修改了前后端代码,支持文献批量上传,将文献上传和文献分析完全解耦,上传文件后会立即得到响应,分析过程在后台进行,前端通过 Redis 中的状态来实时更新界面显示,并且添加了项目列表,可直接从导航栏进入查看各项目的文献分析,也可以从项目进入文献分析页面。
3. 文献分析部分,增加了AI chat功能,接入API,可以对已经生成分析报告的文献进行提问,并保存历史记录,可查看历史回答。
### 2025-01-12更新
Initial commit
## 系统架构
### 1. 数据采集 (boot/)
- 基于MicroPython实现的高速数据采集器
- 支持多通道数据采集
- 使用UDP协议传输数据
- 支持设备序列号注册机制
### 2. 数据处理 (data/)
- 基于Python asyncio的异步UDP服务器
- 支持数据解析和转发
- 与MongoDB集成存储实验数据
- 实现WebSocket实时数据推送
- 设备在线状态管理
### 3. 设备管理 (device-manager/)
- 设备注册和管理API
- 序列号生成和验证
- 设备状态监控
- Redis集成用于在线状态追踪
- device-register.html: 设备注册界面
### 4. 主程序 (app/)
- 主程序 app/main.py
- web页面 app/frontend/
- 项目管理
- 实验管理
- 报告生成
## 主要功能
1. 高速数据采集
2. 实时数据传输和显示
3. 设备管理和监控
4. 实验数据存储
5. 在线状态追踪
## 使用说明
### 文件结构
lab/
├── app/ #主程序文件夹
| ├── app/ # app主程序
| ├── docs/ # app文档
| ├── frontend/ # app前端页面
| ├── main.py # 主程序
| └── README.md # 项目说明
├── boot/ # 采集端
├── data/ # 数据处理服务器
├── device-manager/ # 设备管理
└── README.md # 项目说明
### 项目部署
#### 主程序 app/main.py
1. 服务器:222.186.10.253
2. PORT = 6000
3. 数据库:
mongodb: 222.186.10.253:27017/lab
Redis:222.186.10.253:6379; db199、201-208
4. 访问地址:[https://dev.obscura.work/lab]
#### 前端页面 app/frontend/
1. 访问地址:[https://beta.obscura.work/lab]
#### 设备管理 device-manager/device-register.py
1. 服务器:222.186.10.253
2. PORT = 6001
3. 数据库:
mongodb: 222.186.10.253:27017/lab
Redis:222.186.10.253:6379; db200
4. 访问地址:[https://dev.obscura.work/devices]
#### 采集端配置 boot/
SSID = "Obscura"
UDP_HOST = "222.186.10.253"
UDP_PORT = 6002
#### 数据处理 data/
1. 服务器:222.186.10.253
2. PORT = 6002
3. 数据库:
mongodb: 222.186.10.253:27017/lab
Redis:222.186.10.253:6379; db200; data type:stream