Files
Uni-Lab-OS/docs/user_guide/configuration.md
wznln 82881f5882 feat: 支持local_config启动
add: 增加对crt path的说明,为传入config.py的相对路径
move: web component
2025-04-20 18:11:35 +08:00

2.7 KiB
Raw Blame History

Uni-Lab 配置指南

Uni-Lab支持通过Python配置文件进行灵活的系统配置。本指南将帮助您理解配置选项并设置您的Uni-Lab环境。

配置文件格式

Uni-Lab支持Python格式的配置文件它比YAML或JSON提供更多的灵活性包括支持注释、条件逻辑和复杂数据结构。

基本配置示例

一个典型的配置文件包含以下部分:

#!/usr/bin/env python
# coding=utf-8
"""Uni-Lab 配置文件"""

from dataclasses import dataclass

# 配置类定义

class MQConfig:
    """MQTT 配置类"""
    lab_id: str = "YOUR_LAB_ID"
    # 更多配置...

# 其他配置类...

配置选项说明

MQTT配置 (MQConfig)

MQTT配置用于连接消息队列服务是Uni-Lab与云端通信的主要方式。


class MQConfig:
    """MQTT 配置类"""
    lab_id: str = "7AAEDBEA"  # 实验室唯一标识
    instance_id: str = "mqtt-cn-instance"
    access_key: str = "your-access-key"
    secret_key: str = "your-secret-key"
    group_id: str = "GID_labs"
    broker_url: str = "mqtt-cn-instance.mqtt.aliyuncs.com"
    port: int = 8883
    
    # 可以直接提供证书文件路径
    ca_file: str = "/path/to/ca.pem"  # 相对config.py所在目录的路径
    cert_file: str = "/path/to/cert.pem"  # 相对config.py所在目录的路径
    key_file: str = "/path/to/key.pem"  # 相对config.py所在目录的路径
    
    # 或者直接提供证书内容
    ca_content: str = ""
    cert_content: str = ""
    key_content: str = ""

证书配置

MQTT连接支持两种方式配置证书

  1. 文件路径方式(推荐):指定证书文件的路径,系统会自动读取文件内容
  2. 直接内容方式:直接在配置中提供证书内容

推荐使用文件路径方式,便于证书的更新和管理。

HTTP客户端配置 (HTTPConfig)

即将开放 Uni-Lab 云端实验室。

ROS模块配置 (ROSConfig)

配置ROS消息转换器需要加载的模块


class ROSConfig:
    """ROS模块配置"""
    modules = [
        "std_msgs.msg",
        "geometry_msgs.msg",
        "control_msgs.msg",
        "control_msgs.action",
        "nav2_msgs.action",
        "unilabos_msgs.msg",
        "unilabos_msgs.action",
    ]

您可以根据需要添加其他ROS模块。

其他配置选项

  • OSSUploadConfig: 对象存储上传配置

如何使用配置文件

启动Uni-Lab时通过--config参数指定配置文件路径:

unilab --config path/to/your/config.py

如果您不涉及多环境开发可以在unilabos的安装路径中手动添加local_config.py的文件

启动Uni-Lab

python -m unilabos.app.main --config path/to/your/config.py