mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2026-02-04 13:25:13 +00:00
Update readme & docs
This commit is contained in:
83
README.md
83
README.md
@@ -1 +1,84 @@
|
|||||||
|
<div align="center">
|
||||||
|
<img src="docs/logo.png" alt="Uni-Lab Logo" width="200"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
# Uni-Lab-OS
|
# Uni-Lab-OS
|
||||||
|
|
||||||
|
[](https://github.com/dptech-corp/Uni-Lab-OS/stargazers)
|
||||||
|
[](https://github.com/dptech-corp/Uni-Lab-OS/network/members)
|
||||||
|
[](https://github.com/dptech-corp/Uni-Lab-OS/issues)
|
||||||
|
[](https://github.com/dptech-corp/Uni-Lab-OS/blob/main/LICENSE)
|
||||||
|
|
||||||
|
Uni-Lab 操作系统是一个用于实验室自动化的综合平台,旨在连接和控制各种实验设备,实现实验流程的自动化和标准化。
|
||||||
|
|
||||||
|
## 核心特点
|
||||||
|
|
||||||
|
- 多设备集成管理
|
||||||
|
- 自动化实验流程
|
||||||
|
- 云端连接能力
|
||||||
|
- 灵活的配置系统
|
||||||
|
- 支持多种实验协议
|
||||||
|
|
||||||
|
## 安装指南
|
||||||
|
|
||||||
|
请先克隆此仓库:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/dptech-corp/Uni-Lab-OS.git
|
||||||
|
cd Uni-Lab-OS
|
||||||
|
```
|
||||||
|
|
||||||
|
然后安装 Uni-Lab-OS:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install .
|
||||||
|
```
|
||||||
|
|
||||||
|
## 快速开始
|
||||||
|
|
||||||
|
1. 配置Conda环境
|
||||||
|
|
||||||
|
Uni-Lab-OS 建议使用 `mamba` 管理环境。根据您的操作系统选择适当的环境文件:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 创建新环境
|
||||||
|
mamba env create -f unilabos-[YOUR_OS].yaml
|
||||||
|
mamba activate unilab
|
||||||
|
|
||||||
|
# 或更新现有环境
|
||||||
|
conda env update --file unilabos-[YOUR_OS].yml -n 环境名
|
||||||
|
```
|
||||||
|
|
||||||
|
其中 `[YOUR_OS]` 可以是 `win64`, `linux-64`, `osx-64`, 或 `osx-arm64`。
|
||||||
|
|
||||||
|
|
||||||
|
2. 启动 Uni-Lab 系统:
|
||||||
|
|
||||||
|
请见[文档-启动样例](https://readthedocs.dp.tech/Uni-Lab/v0.8.0/boot_examples/index.html)
|
||||||
|
|
||||||
|
## 消息格式
|
||||||
|
|
||||||
|
Uni-Lab-OS 使用预构建的 `unilabos_msgs` 进行系统通信。您可以在 [GitHub Releases](https://github.com/dptech-corp/Uni-Lab-OS/releases) 页面找到已构建的版本。
|
||||||
|
|
||||||
|
## 文档
|
||||||
|
|
||||||
|
详细文档可在以下位置找到:
|
||||||
|
|
||||||
|
- [在线文档](https://readthedocs.dp.tech/Uni-Lab/v0.8.0/)
|
||||||
|
- 本地文档位于 `docs/` 目录
|
||||||
|
|
||||||
|
## 许可证
|
||||||
|
|
||||||
|
此项目采用 GPL-3.0 许可 - 详情请参阅 [LICENSE](LICENSE) 文件。
|
||||||
|
|
||||||
|
## 项目统计
|
||||||
|
|
||||||
|
### Stars 趋势
|
||||||
|
|
||||||
|
<a href="https://star-history.com/#dptech-corp/Uni-Lab-OS&Date">
|
||||||
|
<img src="https://api.star-history.com/svg?repos=dptech-corp/Uni-Lab-OS&type=Date" alt="Star History Chart" width="600">
|
||||||
|
</a>
|
||||||
|
|
||||||
|
## 联系我们
|
||||||
|
|
||||||
|
- GitHub Issues: [https://github.com/dptech-corp/Uni-Lab-OS/issues](https://github.com/dptech-corp/Uni-Lab-OS/issues)
|
||||||
@@ -18,7 +18,7 @@ Uni-Lab支持Python格式的配置文件,它比YAML或JSON提供更多的灵
|
|||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
|
|
||||||
# 配置类定义
|
# 配置类定义
|
||||||
@dataclass
|
|
||||||
class MQConfig:
|
class MQConfig:
|
||||||
"""MQTT 配置类"""
|
"""MQTT 配置类"""
|
||||||
lab_id: str = "YOUR_LAB_ID"
|
lab_id: str = "YOUR_LAB_ID"
|
||||||
@@ -34,7 +34,7 @@ class MQConfig:
|
|||||||
MQTT配置用于连接消息队列服务,是Uni-Lab与云端通信的主要方式。
|
MQTT配置用于连接消息队列服务,是Uni-Lab与云端通信的主要方式。
|
||||||
|
|
||||||
```python
|
```python
|
||||||
@dataclass
|
|
||||||
class MQConfig:
|
class MQConfig:
|
||||||
"""MQTT 配置类"""
|
"""MQTT 配置类"""
|
||||||
lab_id: str = "7AAEDBEA" # 实验室唯一标识
|
lab_id: str = "7AAEDBEA" # 实验室唯一标识
|
||||||
@@ -74,14 +74,10 @@ MQTT连接支持两种方式配置证书:
|
|||||||
配置ROS消息转换器需要加载的模块:
|
配置ROS消息转换器需要加载的模块:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
@dataclass
|
|
||||||
class ROSConfig:
|
class ROSConfig:
|
||||||
"""ROS模块配置"""
|
"""ROS模块配置"""
|
||||||
modules: list = None
|
modules = [
|
||||||
|
|
||||||
def __post_init__(self):
|
|
||||||
if self.modules is None:
|
|
||||||
self.modules = [
|
|
||||||
"std_msgs.msg",
|
"std_msgs.msg",
|
||||||
"geometry_msgs.msg",
|
"geometry_msgs.msg",
|
||||||
"control_msgs.msg",
|
"control_msgs.msg",
|
||||||
@@ -106,15 +102,6 @@ class ROSConfig:
|
|||||||
unilab --config path/to/your/config.py
|
unilab --config path/to/your/config.py
|
||||||
```
|
```
|
||||||
|
|
||||||
## 环境变量覆盖
|
|
||||||
|
|
||||||
某些配置项可以通过环境变量进行覆盖,这在不同环境部署时特别有用:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 设置环境变量覆盖配置
|
|
||||||
export UNILAB_LAB_ID="YOUR_LAB_ID"
|
|
||||||
export UNILAB_MQTT_BROKER="mqtt-broker-address"
|
|
||||||
|
|
||||||
# 启动Uni-Lab
|
# 启动Uni-Lab
|
||||||
python -m unilabos.app.main --config path/to/your/config.py
|
python -m unilabos.app.main --config path/to/your/config.py
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
mamba env create -f unilabos-<YOUR_OS>.yaml
|
mamba env create -f unilabos-<YOUR_OS>.yaml
|
||||||
mamba activate ilab
|
mamba activate unilab
|
||||||
```
|
```
|
||||||
|
|
||||||
其中 `YOUR_OS` 是您的操作系统,可选值 `win64`, `linux-64`, `osx-64`, `osx-arm64`
|
其中 `YOUR_OS` 是您的操作系统,可选值 `win64`, `linux-64`, `osx-64`, `osx-arm64`
|
||||||
|
|||||||
Reference in New Issue
Block a user