2025-07-18 13:14:28 +08:00

6.5 KiB
Executable File
Raw Blame History

配置说明

项目基础配置

配置文件说明

项目使用两种配置方式:初始配置模板和运行时配置文件。

  1. 初始配置模板

    • 位置:/src/utils/config_manager.py
    • 作用:提供默认配置模板,首次运行时会自动生成配置文件
    • 使用场景:首次运行或需要重置配置时修改此文件
  2. 运行时配置文件

    • 位置:/config/config.json
    • 作用:存储实际运行时的配置信息
    • 使用场景:日常使用时修改此文件
  3. 设备身份文件

    • 位置:/config/efuse.json
    • 作用:存储设备唯一标识信息,包括序列号和激活状态
    • 使用场景:设备激活流程中自动生成和更新

配置项访问方式

配置系统设计为层级结构,使用点分隔的路径访问特定配置项:

# 示例:获取配置值
from src.utils.config_manager import ConfigManager
config = ConfigManager.get_instance()
mqtt_endpoint = config.get_config("SYSTEM_OPTIONS.NETWORK.MQTT_INFO.endpoint")

# 示例:更新配置值
config.update_config("WAKE_WORD_OPTIONS.USE_WAKE_WORD", True)

网络配置

网络配置位于SYSTEM_OPTIONS.NETWORK下,主要包含以下内容:

"NETWORK": {
  "OTA_VERSION_URL": "https://api.tenclass.net/xiaozhi/ota/",  // OTA更新地址
  "WEBSOCKET_URL": "ws://192.168.31.232:8000/xiaozhi/v1/",     // WebSocket服务器地址
  "WEBSOCKET_ACCESS_TOKEN": "test-token",                      // 访问令牌
  "MQTT_INFO": {
    "endpoint": "",                             // MQTT服务器地址
    "client_id": "",                            // MQTT客户端ID
    "username": "",                             // MQTT用户名
    "password": "",                             // MQTT密码
    "publish_topic": "",                        // 发布主题
    "subscribe_topic": ""                       // 订阅主题
  },
  "ACTIVATION_VERSION": "v2",                   // 激活版本,可选值: v1, v2
  "AUTHORIZATION_URL": "https://xiaozhi.me/"    // 授权URL地址
}

设备激活

设备首次使用时需要进行激活,激活信息存储在config/efuse.json文件中:

{
  "serial_number": "SN-E3E1F618-902e16dbe116",  // 设备序列号
  "hmac_key": "b5bf012dd518080532f928b70ed958799f34f9224e80dd4128795a70a5baca24",  // 密钥
  "activation_status": false  // 激活状态激活成功后变为true
}

激活流程由ACTIVATION_VERSION配置项控制:

  • v1:简化激活模式
  • v2:完整激活流程,包括验证码确认

唤醒词配置

语音唤醒相关配置位于WAKE_WORD_OPTIONS下:

"WAKE_WORD_OPTIONS": {
  "USE_WAKE_WORD": false,                                // 是否启用语音唤醒
  "MODEL_PATH": "models/vosk-model-small-cn-0.22",       // 唤醒模型路径
  "WAKE_WORDS": [                                        // 唤醒词列表
    "小智",
    "小美"
  ]
}

摄像头与视觉识别

摄像头和视觉识别相关配置位于CAMERA下:

"CAMERA": {
  "camera_index": 0,                                     // 摄像头索引
  "frame_width": 640,                                    // 画面宽度
  "frame_height": 480,                                   // 画面高度
  "fps": 30,                                             // 帧率
  "Loacl_VL_url": "https://open.bigmodel.cn/api/paas/v4/", // 智普API地址
  "VLapi_key": "你自己的key",                              // 智普视觉大模型API密钥
  "models": "glm-4v-plus"                                // 使用的视觉模型
}

IoT设备配置

温度传感器

温度传感器通过MQTT协议连接配置位于TEMPERATURE_SENSOR_MQTT_INFO下:

"TEMPERATURE_SENSOR_MQTT_INFO": {
  "endpoint": "你的Mqtt连接地址",                          // MQTT服务器地址
  "port": 1883,                                          // MQTT服务器端口
  "username": "admin",                                   // MQTT用户名
  "password": "123456",                                  // MQTT密码
  "publish_topic": "sensors/temperature/command",        // 发布主题
  "subscribe_topic": "sensors/temperature/device_001/state" // 订阅主题
}

需要注意:

  • endpoint必须是有效的MQTT服务器地址
  • port默认为1883如使用TLS加密则通常为8883
  • publish_topic用于发送命令到设备
  • subscribe_topic用于接收设备状态

Home Assistant集成

Home Assistant智能家居平台集成配置位于HOME_ASSISTANT下:

"HOME_ASSISTANT": {
  "URL": "http://你的Home Assistant地址:8123",  // Home Assistant服务器地址
  "TOKEN": "长期访问令牌",                      // 访问令牌
  "DEVICES": []                               // 要集成的设备列表
}

通过此配置可以控制添加到Home Assistant中的各类设备包括

  • 灯光设备HomeAssistantLight
  • 开关设备HomeAssistantSwitch
  • 数值设备HomeAssistantNumber
  • 按钮设备HomeAssistantButton

配置修改指南

  1. 首次使用配置

    • 直接运行程序,系统会自动生成默认配置文件
    • 如需修改默认值,可编辑 config_manager.py 中的 DEFAULT_CONFIG
  2. 更换服务器配置

    • 打开 /config/config.json
    • 修改 SYSTEM_OPTIONS.NETWORK.WEBSOCKET_URL 为新的服务器地址
    • 示例:
      "SYSTEM_OPTIONS": {
        "NETWORK": {
          "WEBSOCKET_URL": "ws://你的服务器地址:端口号/"
        }
      }
      
  3. 启用语音唤醒

    • 修改 WAKE_WORD_OPTIONS.USE_WAKE_WORDtrue
    • 可在 WAKE_WORD_OPTIONS.WAKE_WORDS 数组中添加或修改唤醒词
  4. 配置摄像头与视觉识别

    • 修改 CAMERA 部分的相关配置
    • VLapi_key 设置为你从智普AI平台获取的API密钥
    • 可以根据需要调整分辨率和帧率
  5. 配置Home Assistant集成

    • 在Home Assistant中创建长期访问令牌
    • 填写 HOME_ASSISTANT.URLHOME_ASSISTANT.TOKEN
    • 设备会自动发现并集成

注意事项

  • 修改配置文件后需要重启程序才能生效
  • WebSocket URL 必须以 ws://wss:// 开头
  • 首次运行时会自动生成 CLIENT_ID建议不要手动修改
  • DEVICE_ID 默认使用设备MAC地址可按需修改
  • 配置文件使用 UTF-8 编码,请使用支持 UTF-8 的编辑器修改
  • 请妥善保管API密钥和访问令牌等敏感信息
  • Home Assistant集成需要保证网络可以正常访问到Home Assistant服务器