这是RM-01板上机架操作系统的全面重构版本,采用完全模块化的组件架构设计。每个功能都是独立的组件,支持单独开发、测试和维护。
- 完全模块化: 每个功能都是独立组件
 - 控制台为核心: 统一的命令行交互接口
 - 事件驱动: 组件间通过事件系统通信
 - 平台级组件化: 连硬件抽象层也是独立组件
 - 可扩展性优先: 为未来功能扩展预留接口
 
- 温度集成指南 - AGX温度集成到风扇控制系统的完整指南
 - 智能安全温度策略 - 分层安全温度保护机制设计文档
 - AGX监控更新 - AGX监控组件开发记录
 - AGX启动延时功能 - AGX系统启动保护机制
 
- ✅ 事件管理组件 - 9个测试用例全部通过
 - ✅ 硬件抽象层组件 - 5个测试用例全部通过
 - ✅ 控制台核心组件 - 8个测试用例全部通过
 - ✅ 配置管理组件 - 统一NVS配置管理,支持多种数据类型
 - ✅ 风扇控制组件 - 完整PWM控制,温度曲线,配置持久化,智能温度管理
 - ✅ AGX监控组件 - WebSocket实时监控,CPU温度集成,静默运行模式
 - ✅ Matrix LED组件 - 32x32 WS2812矩阵控制,支持像素绘图、动画播放
 - ✅ 智能温度管理 - 多层次安全保护,AGX数据集成,调试模式兼容
 - 📋 系统监控组件 - 待开发
 
robOS/
├── components/                    # 独立功能组件
│   ├── console_core/             # 控制台核心组件 🌡️
│   ├── hardware_hal/             # 硬件抽象层组件
│   ├── gpio_controller/          # GPIO通用控制组件 ⚡
│   ├── usb_mux_controller/       # USB MUX切换控制组件 ⚡
│   ├── hardware_commands/        # 硬件控制台命令组件 ⚡
│   ├── config_manager/           # 配置管理组件
│   ├── fan_controller/           # 风扇控制组件 🌡️
│   ├── agx_monitor/              # AGX监控组件 🔍
│   ├── touch_led/                # 触摸LED控制组件 ✨
│   ├── matrix_led/               # 矩阵LED控制组件 ✨
│   ├── board_led/                # 板载LED控制组件 ✨
│   ├── color_correction/         # 色彩校正组件 🎨
│   ├── ethernet_manager/         # 以太网管理组件
│   ├── storage_manager/          # 存储管理组件
│   ├── power_monitor/            # 电源监控组件
│   ├── device_manager/           # 设备管理组件
│   ├── system_monitor/           # 系统监控组件
│   └── event_manager/            # 事件管理组件
├── main/                         # 主应用程序
├── docs/                         # 项目文档
└── tools/                        # 开发工具
- console_core: 🌡️ UART接口、命令解析器、帮助系统、智能温度管理
 - hardware_hal: GPIO、PWM、SPI、ADC、UART等底层接口抽象
 - gpio_controller: ⚡ 通用GPIO控制、安全操作、引脚管理
 - usb_mux_controller: ⚡ USB-C接口切换、ESP32S3/AGX/N305目标管理
 - hardware_commands: ⚡ GPIO和USB MUX控制台命令接口
 - config_manager: 统一NVS配置管理、多数据类型支持、自动提交
 - fan_controller: 🌡️ PWM风扇控制、温度曲线、多模式运行、配置持久化、智能温度集成
 - agx_monitor: 🔍 AGX系统监控、WebSocket连接、CPU温度数据推送、静默运行
 - matrix_led: 32x32 WS2812 LED矩阵控制,像素绘图、动画播放、亮度调节
 - color_correction: 🎨 WS2812 LED色彩校正,白点/伽马/亮度/饱和度优化,配置管理
 - ethernet_manager: W5500控制、DHCP服务器、网关功能
 - storage_manager: TF卡管理、文件系统操作、NVS配置管理
 - power_monitor: 电压监测、电源芯片通信、功率监控
 - device_manager: AGX、Orin、N305等设备电源控制和状态监控
 - system_monitor: ESP32S3系统状态、内存使用、温度监控
 - event_manager: 事件驱动的组件间通信和状态同步机制
 
- 板载 LED: GPIO 42,28颗WS2812阵列 - 系统状态指示和装饰照明
 - 触控 LED: GPIO 45,1颗状态指示WS2812 - 用户交互反馈
 - 矩阵 LED: GPIO 9,32x32 WS2812矩阵 (1024颗LED) - 显示屏和图形界面
 - 风扇控制: GPIO 41,25kHz PWM频率,10位分辨率 - 智能温控散热
 - USB MUX控制: GPIO 8/48 - 多设备USB接口切换
 - 以太网控制器: W5500 - 网络通信和管理
 - TF卡存储: 配置文件和数据存储
 - 供电电压监测: 实时电源状态监控
 - 供电芯片: 电源管理和保护
 
robOS 配备了三个独立的 LED 子系统,每个都有专门的用途和完整的控制接口:
- 硬件: GPIO 45,单颗 WS2812 LED
 - 用途: 用户交互反馈,系统状态指示
 - 特性: 触摸检测、全彩显示、多种动画模式
 - 控制: 
led touch命令系列 
- 硬件: GPIO 42,28颗 WS2812 LED 灯带
 - 用途: 系统装饰照明,环境氛围营造
 - 特性: 独立像素控制、丰富动画效果、亮度调节
 - 控制: 
led board命令系列 
- 硬件: GPIO 9,32x32 WS2812 LED 矩阵 (1024颗)
 - 用途: 图形显示、信息展示、数据可视化
 - 特性: 像素级绘图、图像导入导出、动画播放、SD卡存储
 - 控制: 
led matrix命令系列 
- 全彩支持: 每个 LED 支持 1677万色彩 (RGB 24位)
 - 独立控制: 三个子系统完全独立,可同时运行不同效果
 - 配置持久化: 所有设置自动保存到 NVS 闪存
 - 颜色校正: 统一的颜色校正系统,支持亮度和饱和度调节
 - 文件支持: Matrix LED 支持图像文件导入导出 (SD卡)
 - 线程安全: 支持多任务环境下的安全操作
 
- 支持引脚: ESP32S3所有可用GPIO引脚(0-21, 26, 33-48)
 - 安全操作: 避免输出状态干扰的设计
 - 控制模式:
- 输出控制: 设置GPIO高/低电平输出
 - 输入读取: 安全的输入模式切换和状态读取
 - 引脚验证: 自动验证引脚可用性
 
 - 控制台命令: 
gpio <pin> high|low|input - 线程安全: 支持多线程环境下的安全操作
 
- PWM引脚: GPIO 41 - 风扇PWM控制信号
 - PWM规格: 25kHz频率,10位分辨率 (0-1023)
 - 控制模式:
- 手动模式 (
manual): 直接设置风扇转速百分比 - 自动温度模式 (
auto): 基于系统温度传感器自动调节 (待完整实现) - 自定义曲线模式 (
curve): 基于用户定义的温度曲线控制 - 关闭模式 (
off): 风扇完全停止 
 - 手动模式 (
 - 温度曲线: 支持2-10个温度控制点,线性插值
 - 配置持久化: 所有设置自动保存到NVS闪存
 - 错误恢复: 自动检测并恢复LEDC初始化错误
 
1. 手动模式 (manual)
- 风扇以固定转速运行
 - 用户直接设置转速百分比 (0-100%)
 - 不受温度影响,适合测试和固定负载场景
 
2. 自动温度模式 (auto)
- 🚧 开发状态: 接口已定义,等待温度传感器集成
 - 设计原理: 根据系统实际温度传感器读数自动调节转速
 - 预期功能: 使用内置温度曲线,温度高时转速增加,温度低时转速降低
 - 当前限制: 需要集成ESP32S3内部温度传感器或外部温度传感器
 
3. 自定义曲线模式 (curve)
- 根据用户定义的温度-转速曲线控制
 - 支持2-10个温度控制点,线性插值计算中间值
 - 可使用测试温度进行调试: 
test temp <温度值> - 配置持久化,重启后自动恢复
 - 最灵活的控制方式,适合精确温度管理
 
4. 关闭模式 (off)
- 风扇完全停止,PWM输出为0
 - 可用于节能模式或维护时关闭风扇
 
基本状态查看
fan status              # 显示所有风扇状态
fan                     # 同上,显示风扇状态概览风扇速度控制
fan set <fan_id> <speed>   # 设置手动速度 (0-100%)
fan set 0 75              # 设置风扇0为75%速度风扇模式控制
fan mode <fan_id> <mode>   # 设置工作模式
fan mode 0 manual         # 手动模式 - 固定转速
fan mode 0 auto           # 自动温度模式 - 根据系统温度自动调节(预留)
fan mode 0 curve          # 自定义曲线模式 - 用户定义温度曲线
fan mode 0 off            # 关闭风扇风扇开关控制
fan enable <fan_id> <state>  # 启用/禁用风扇
fan enable 0 on             # 启用风扇0
fan enable 0 off            # 禁用风扇0GPIO引脚配置
fan gpio <fan_id> <pin> [channel]  # 配置GPIO和PWM通道
fan gpio 0 41                      # 配置风扇0使用GPIO41
fan gpio 0 41 1                   # 配置风扇0使用GPIO41,PWM通道1配置管理
fan config save [fan_id]     # 保存配置到NVS(包含运行状态)
fan config save              # 保存所有风扇配置
fan config save 0            # 保存风扇0配置
fan config load [fan_id]     # 从NVS加载配置
fan config load              # 加载所有风扇配置
fan config load 0            # 加载风扇0配置
fan config show [fan_id]     # 显示当前配置
fan config show              # 显示所有风扇配置概览
fan config show 0            # 显示风扇0详细配置温度曲线配置
fan config curve <fan_id> <temp1:speed1> [temp2:speed2] ...
# 配置温度曲线(2-10个控制点)
fan config curve 0 30:20 50:30 70:40 80:100
# 设置风扇0曲线:30°C->20%, 50°C->30%, 70°C->40%, 80°C->100%帮助信息
fan help                # 显示完整命令参考状态概览 (fan status):
Fan Controller Status:
======================
Fan 0: Enabled, Auto-Curve, Speed: 45%, Temp: 32.5°C
详细配置 (fan config show 0):
Fan 0:
  Hardware Configuration:
    GPIO Pin: 41
    PWM Channel: 0
    PWM Timer: 0
    PWM Inverted: No
  Current Status:
    Mode: Auto-Curve
    Speed: 45%
    Enabled: Yes
    Temperature: 32.5°C
    Fault: No
  Temperature Curve:
    Enabled: Yes (4 points)
    30.0°C -> 20%
    50.0°C -> 30%
    70.0°C -> 40%
    80.0°C -> 100%
场景1:基础手动控制
fan gpio 0 41           # 配置GPIO41
fan enable 0 on         # 启用风扇
fan set 0 60           # 设置60%转速
fan config save        # 保存配置场景2:温度曲线自动控制
fan config curve 0 30:20 50:30 70:40 80:100  # 配置温度曲线
fan mode 0 curve                             # 启用曲线模式
test temp 45                                 # 设置测试温度45°C(调试用)
fan config save                             # 保存配置场景3:自动温度模式(待完整实现)
# 当温度传感器集成完成后的使用方式:
fan mode 0 auto                             # 启用自动温度模式
fan config curve 0 30:20 50:30 70:40 80:100 # 设置系统默认温度曲线
fan config save                             # 保存配置
# 系统将根据实际温度传感器读数自动调节风扇转速场景4:系统重启后自动恢复
# 系统重启后会自动:
# 1. 从NVS加载保存的配置
# 2. 恢复GPIO引脚配置
# 3. 恢复工作模式和转速
# 4. 恢复温度曲线设置
# 5. 恢复启用/禁用状态✅ 已完成功能
- 手动模式控制 - 完全实现
 - 自定义曲线模式 - 完全实现,支持测试温度
 - GPIO配置和PWM控制 - 完全实现
 - 配置持久化 - 完全实现
 - 错误恢复机制 - 完全实现
 
✅ 新增智能温度管理功能
- 智能温度源优先级系统 - 手动模式、AGX自动模式、默认保护
 - AGX CPU温度自动集成 - 实时温度数据推送到风扇控制
 - 分层安全保护策略 - 启动保护、离线保护、数据过期保护
 - 温度管理命令系统 - 
temp命令替代test temp,提供完整温度控制 
🔧 技术细节
- 使用 
temp set <值>命令设置手动测试温度(兼容原test temp) - 使用 
temp auto/manual命令在AGX自动模式和手动模式间切换 - 使用 
temp status命令查看当前温度源和安全状态 - 曲线模式智能选择温度源:手动 > AGX实时 > 安全默认
 - 分层安全温度:启动75°C,离线85°C,过期65°C,备用45°C
 - 所有模式都支持线性插值算法,保证平滑的转速变化
 fan config和fan help命令正确返回成功状态码
- 连接协议: WebSocket over Socket.IO
 - 服务器地址: ws://10.10.99.98:58090/socket.io/
 - 数据更新频率: 1Hz实时监控
 - 启动保护: 45秒AGX系统启动延迟
 - 静默运行: 完全静默模式,不干扰控制台操作
 
- CPU信息: 多核心使用率、频率监控
 - 内存信息: RAM和SWAP使用情况
 - 温度监控: CPU、SoC0-2、Junction温度
 - 功耗监控: GPU+SoC、CPU、系统5V、内存功耗
 - GPU信息: 3D GPU频率监控
 
基本控制
agx_monitor start          # 启动AGX监控
agx_monitor stop           # 停止AGX监控  
agx_monitor status         # 显示连接状态数据查看
agx_monitor data           # 显示完整监控数据
agx_monitor config         # 显示配置信息
agx_monitor stats          # 显示统计信息
agx_monitor debug          # 显示调试信息自动数据推送
- AGX CPU温度自动推送到风扇控制系统
 - 1秒更新频率,确保温度响应及时
 - 线程安全的数据同步机制
 
温度源优先级(由 temp 命令管理)
- 手动模式 - 
temp set 45设置测试温度 - AGX自动 - 使用实时AGX CPU温度
 - 安全保护 - 多层安全温度策略
 
智能安全策略
# 系统启动60秒内:75°C高温保护
# AGX离线未连接:85°C紧急保护  
# AGX数据过期>10s:65°C回退保护
# 正常运行:实际AGX CPU温度完全静默设计
- WebSocket连接过程静默
 - 数据解析过程静默
 - 重连机制静默执行
 - 只在关键错误时输出日志
 
日志级别控制
- AGX监控组件:DEBUG级别
 - WebSocket库:NONE级别(完全静默)
 - 不干扰控制台正常操作
 
自动重连机制
- 连接丢失时自动重连
 - 3次快速重试(1秒间隔)
 - 后续固定间隔重连(3秒)
 - 45秒AGX启动保护延迟
 
连接状态监控
agx_monitor status
# 输出:
# Connection Status: Connected
# Server: 10.10.99.98:58090
# Uptime: 5 minutes 23 seconds
# Data Updates: 323 received默认配置
server_url = "10.10.99.98";
server_port = 58090;
reconnect_interval = 3000ms;
startup_delay = 45000ms;  // AGX启动保护
heartbeat_timeout = 10000ms;配置持久化
- 所有配置自动保存到NVS
 - 支持运行时配置修改
 - 重启后自动恢复设置
 
✅ 已完成功能
- WebSocket连接和数据接收
 - 完整数据解析(CPU、内存、温度、功耗、GPU)
 - 静默运行模式
 - 自动重连机制
 - 温度数据自动推送到风扇控制
 - 控制台命令系统
 
🔧 技术特性
- 事件驱动架构
 - 线程安全数据访问
 - 内存优化设计
 - 错误处理和恢复
 - 与风扇控制系统深度集成
 
temp set 45        # 设置手动测试温度
temp get           # 获取当前有效温度  
temp auto          # 切换到AGX自动模式
temp manual        # 切换到手动测试模式
temp status        # 显示详细温度状态1. 手动模式(最高优先级)
- 触发:
temp set <温度>命令 - 用途:调试和测试风扇曲线
 - 兼容:支持原有 
test temp命令 
2. AGX自动模式(智能分层保护)
- 启动保护:系统启动60秒内使用75°C
 - 离线保护:AGX从未连接时使用85°C
 - 过期保护:AGX数据>10秒时使用65°C
 - 正常运行:使用实时AGX CPU温度
 
3. 系统备用(最低优先级)
- 互斥锁超时等异常情况使用45°C
 
时间戳追踪
- 系统启动时间记录
 - AGX数据更新时间戳
 - 智能状态判断和切换
 
状态监控显示
temp status
# 输出示例:
# Temperature Mode: AGX Auto
# Effective Temperature: 75.0°C
# Temperature Source: Startup Protection (High temp for 60s startup safety)
# System Uptime: 45 seconds
# AGX Data: Never received- MUX1引脚: GPIO 8 - USB MUX1选择控制
 - MUX2引脚: GPIO 48 - USB MUX2选择控制
 - 支持切换USB-C接口连接目标:
- ESP32S3: mux1=0, mux2=0 (默认)
 - AGX: mux1=1, mux2=0
 - N305: mux1=1, mux2=1
 
 - 控制台命令: 
usbmux esp32s3|agx|n305|status 
- LED数据引脚: GPIO 8 - WS2812 LED灯条数据线
 - 触摸传感器引脚: GPIO 4 - 电容式触摸传感器
 - LED规格: 支持WS2812/WS2812B可编程LED灯条,最多256个LED
 - 工作模式:
- 触摸交互: 触摸时LED变绿,释放后恢复蓝色
 - 长按模式: 长按1秒以上启动彩虹动画
 - 双击模式: 双击切换亮度等级
 - 呼吸动画: 默认蓝色呼吸效果
 
 
1. 触摸响应模式
- 默认状态:柔和蓝色呼吸效果 (亮度50)
 - 触摸时:立即切换为绿色 (亮度150)
 - 释放时:恢复蓝色并重启呼吸动画
 - 响应延迟:<50ms,实时触摸反馈
 
2. 长按功能
- 长按检测:触摸时间 >1000ms
 - 长按效果:启动彩虹循环动画
 - 动画速度:中等速度 (100/255)
 - 持续时间:直到下次触摸或系统重置
 
3. 双击亮度切换
- 检测逻辑:两次快速触摸 (间隔<500ms)
 - 亮度级别:低亮度30 ↔ 高亮度200
 - 智能切换:基于当前亮度自动选择目标亮度
 
4. 动画效果系统
- 呼吸动画: 正弦波亮度变化,营造自然呼吸感
 - 彩虹动画: HSV色彩空间循环,每个LED不同相位
 - 渐变动画: 颜色平滑过渡
 - 脉冲效果: 快速闪烁效果
 
LED灯条配置
led_gpio = GPIO_NUM_8;         // WS2812数据线
led_count = 16;                // LED数量
max_brightness = 200;          // 最大亮度
led_pixel_format = GRB;        // 像素格式
resolution_hz = 10MHz;         // RMT时钟频率触摸传感器配置
touch_gpio = GPIO_NUM_4;       // 触摸传感器引脚
touch_threshold = 1000;        // 触摸检测阈值
touch_invert = false;          // 触摸逻辑 (false=低电平有效)
sampling_rate = 20Hz;          // 采样频率场景1:系统状态指示
- 启动时:柔和蓝色呼吸,表示系统正常运行
 - 错误时:红色闪烁,表示系统异常
 - 更新时:紫色脉冲,表示固件更新中
 
场景2:用户交互反馈
- 触摸操作:绿色确认反馈
 - 长按功能:彩虹动画娱乐模式
 - 双击调节:智能亮度适应环境
 
场景3:环境适应
- 白天模式:高亮度(200),清晰可见
 - 夜间模式:低亮度(30),温和不刺眼
 - 自动调节:双击快速切换亮度级别
 
🎨 色彩支持
- 全彩RGB控制,1677万色彩
 - 预定义色彩常量:红、绿、蓝、白、黄、青、品红、橙、紫
 - HSV色彩空间支持,方便渐变和动画
 
⚡ 性能优化
- 硬件PWM驱动,CPU占用率低
 - 多任务安全,互斥锁保护
 - 内存优化:仅2KB基础占用 + LED缓冲区
 
🔧 开发友好
- 丰富的API接口,支持单个和批量LED控制
 - 事件回调机制,支持自定义触摸响应
 - 线程安全设计,支持多任务调用
 
- 硬件依赖:需要外接WS2812灯条和触摸传感器
 - 引脚冲突:GPIO 8可能与其他功能冲突,需要硬件配置协调
 - 触摸精度:受环境湿度和电磁干扰影响
 
基本状态查看
led touch status                  # 显示LED状态和配置信息
led touch help                    # 显示完整命令参考LED颜色控制
led touch set <color>             # 设置LED颜色(单个LED)
led touch set red                 # LED设为红色
led touch set FF6600              # 使用RGB十六进制(橙色)
led touch brightness <level>      # 设置亮度(0-255)
led touch clear                   # 关闭LED动画控制
led touch animation start <mode> [speed] [color1] [color2]
led touch animation start rainbow 150   # 快速彩虹动画
led touch animation start breathe 50 green  # 缓慢绿色呼吸
led touch animation stop          # 停止动画触摸传感器控制
led touch sensor enable           # 启用触摸检测
led touch sensor disable          # 禁用触摸检测
led touch sensor threshold <value> # 设置触摸阈值(0-4095)使用场景示例
场景1:系统状态指示
led touch set blue                # 系统正常-蓝色
led touch animation start breathe 30 blue  # 待机呼吸效果
led touch set red                 # 系统异常-红色闪烁场景2:用户交互测试
led touch sensor threshold 800    # 设置中等灵敏度
led touch set green               # 设置确认颜色
led touch animation start rainbow 100   # 娱乐模式场景3:亮度适应
led touch brightness 200          # 白天模式-高亮度
led touch brightness 30           # 夜间模式-低亮度
led touch set white               # 工作照明- LED矩阵引脚: GPIO 9 - 32x32 WS2812矩阵数据线
 - 矩阵规格: 32x32像素,共1024颗可编程RGB LED
 - 驱动方式: RMT硬件驱动,支持DMA加速
 - 颜色深度: 24位真彩色,支持1600万种颜色
 - 显示功能:
- 像素级控制: 单个像素精确设置和读取
 - 几何绘图: 直线、矩形、圆形等基本图形
 - 图案显示: 测试图案、自定义图像
 - 动画播放: 彩虹、波浪、呼吸、旋转等动态效果
 
 
1. 静态显示模式 (static)
- 显示固定的图像或图案
 - 支持像素级精确控制
 - 适合状态指示、图标显示
 - 内存占用低,性能稳定
 
2. 动画播放模式 (animation)
- 支持多种预置动画效果
 - 可配置动画速度、颜色、循环次数
 - 实时动画渲染,流畅播放
 - 支持动画的播放、暂停、停止控制
 
3. 自定义模式 (custom)
- 支持加载外部动画文件
 - 灵活的动画编程接口
 - 适合复杂的显示需求
 - 可扩展的动画系统
 
4. 关闭模式 (off)
- 完全关闭LED矩阵显示
 - 节能模式,降低功耗
 - 可用于夜间或待机状态
 
基本状态和控制
led matrix status                    # 显示矩阵状态信息
led matrix enable on|off             # 启用/禁用矩阵显示
led matrix brightness 50             # 设置亮度(0-100%)像素和图形操作
led matrix clear                     # 清空所有像素
led matrix fill 255 0 0              # 填充红色(RGB格式)
led matrix pixel 10 15 0 255 0       # 设置像素(10,15)为绿色
led matrix test                      # 显示测试图案几何图形绘制
led matrix draw line 0 0 31 31 255 255 255      # 绘制白色对角线
led matrix draw rect 5 5 10 8 255 0 255 fill    # 绘制填充紫色矩形
led matrix draw circle 16 16 8 0 255 255 fill   # 绘制填充青色圆形显示模式控制
led matrix mode static               # 切换到静态显示模式
led matrix mode animation            # 切换到动画播放模式
led matrix mode off                  # 关闭矩阵显示动画播放控制
led matrix animation rainbow 70      # 播放彩虹动画,速度70%
led matrix animation wave 50         # 播放波浪动画,速度50%
led matrix animation breathe 60      # 播放呼吸动画,速度60%
led matrix animation rotate 40       # 播放旋转动画,速度40%
led matrix animation fade 30         # 播放渐变动画,速度30%
led matrix stop                      # 停止当前动画配置管理
led matrix config save              # 保存当前配置到NVS
led matrix config load              # 从NVS加载配置
led matrix config reset             # 重置为默认配置状态概览 (led matrix status):
Matrix LED Status:
  Initialized: Yes
  Enabled: Yes
  Mode: 1 (Animation)
  Brightness: 75%
  Pixel Count: 1024
  Frame Count: 1520
  Current Animation: rainbow_70
场景1:系统状态指示
led matrix clear                     # 清空显示
led matrix fill 0 255 0              # 绿色表示正常状态
led matrix brightness 30             # 设置适中亮度场景2:信息可视化
led matrix clear
led matrix draw rect 0 0 32 8 255 0 0 fill      # 红色区域表示CPU使用率
led matrix draw rect 0 8 24 8 255 255 0 fill    # 黄色区域表示内存使用率
led matrix draw rect 0 16 16 8 0 0 255 fill     # 蓝色区域表示网络状态场景3:装饰效果
led matrix animation rainbow 60      # 彩虹循环效果
# 或
led matrix animation breathe 40      # 柔和的呼吸灯效果场景4:测试和调试
led matrix test                      # 显示测试图案验证硬件
led matrix pixel 0 0 255 0 0         # 测试左上角像素
led matrix pixel 31 31 0 0 255       # 测试右下角像素🎨 丰富的显示功能
- 1024个独立控制的RGB LED像素
 - 101级亮度调节(0-100%)
 - 预定义颜色常量和RGB/HSV颜色空间转换
 - 颜色插值和亮度应用算法
 
⚡ 高性能渲染
- RMT硬件驱动,CPU占用率低
 - DMA传输,支持高帧率显示
 - 双缓冲机制,避免显示撕裂
 - 优化的几何图形绘制算法
 
🔧 灵活的控制
- 多种显示模式和动画效果
 - 实时动画参数调节
 - 配置持久化存储
 - 完整的控制台命令接口
 
🛡️ 可靠性保证
- 线程安全的并发访问
 - 完整的错误处理机制
 - 硬件状态监控和恢复
 - 全面的单元测试覆盖
 
✅ 已完成功能
- 基础像素控制 - 完全实现
 - 几何图形绘制 - 完全实现
 - 动画播放系统 - 完全实现
 - 亮度和模式控制 - 完全实现
 - 配置持久化 - 完全实现
 - 控制台命令接口 - 完全实现
 - 颜色工具函数 - 完全实现
 
🚧 开发中功能
- 文本渲染 - 基础框架已实现,字体库待完善
 - 自定义动画加载 - 接口已定义,文件解析待实现
 - 高级特效 - 基础效果已实现,更多效果开发中
 
🔧 技术细节
- 使用Bresenham算法进行直线绘制
 - 采用中点圆算法进行圆形绘制
 - 支持HSV和RGB颜色空间的双向转换
 - 实现了平滑的颜色插值算法
 - 配置数据通过NVS进行持久化存储
 
- SPI接口: SPI2_HOST
 - 引脚配置:
- RST: GPIO 39 - 复位信号
 - INT: GPIO 38 - 中断信号
 - MISO: GPIO 13 - SPI数据输入
 - SCLK: GPIO 12 - SPI时钟
 - MOSI: GPIO 11 - SPI数据输出
 - CS: GPIO 10 - SPI片选
 
 - 网络配置:
- 默认IP: 10.10.99.97
 - 子网掩码: 255.255.255.0
 - 网关: 10.10.99.100(某些文档中为10.10.99.1)
 - DNS: 8.8.8.8
 
 - DHCP服务器:
- IP池范围: 10.10.99.100 - 10.10.99.101(可扩展到110)
 - 默认租期: 24小时
 - 最大客户端数: 10
 - 支持客户端跟踪和管理
 
 - 功能特性:
- 静态IP配置和动态DHCP
 - 内置DHCP服务器功能
 - 网络活动日志记录
 - 网络状态统计和监控
 - 网络接口控制和重置
 - NVS配置持久化
 - 网络调试和诊断工具
 - 完整的控制台命令接口
 
 - 参考项目 https://github.com/thomas-hiddenpeak/rm01-esp32s3-bsp
 
基础状态和控制
net                       # 显示所有网络管理命令帮助
net status                # 显示网络接口状态(链路、IP配置、统计信息)
net start                 # 启动网络接口
net stop                  # 停止网络接口  
net reset                 # 重置网络接口网络配置管理
# 配置查看和管理
net config                # 显示当前网络配置
net config show           # 显示当前网络配置(同上)
net config save           # 保存配置到NVS存储
net config load           # 从NVS存储加载配置
net config reset          # 重置为默认配置
# 网络参数设置
net config set <参数> <值>  # 设置网络参数可配置的网络参数
net config set ip <x.x.x.x>              # 设置静态IP地址
net config set netmask <x.x.x.x>         # 设置网络掩码
net config set gateway <x.x.x.x>         # 设置网关地址
net config set dns <x.x.x.x>             # 设置DNS服务器
net config set dhcp_pool_start <x.x.x.x> # 设置DHCP池起始IP
net config set dhcp_pool_end <x.x.x.x>   # 设置DHCP池结束IP
net config set dhcp_lease_hours <n>      # 设置DHCP租期(小时,1-8760)
net config set dhcp_max_clients <n>      # 设置最大DHCP客户端数(1-50)配置示例
net config set ip 10.10.99.97            # 设置IP地址
net config set dns 8.8.8.8               # 设置DNS服务器
net config set dhcp_lease_hours 24       # 设置24小时租期
net config save                          # 保存配置
net reset                                # 应用配置DHCP服务器管理
net dhcp                  # 显示DHCP服务器状态
net dhcp enable           # 启用DHCP服务器
net dhcp disable          # 禁用DHCP服务器网络活动日志
# 基础日志查看
net log                   # 显示16条最近的网络活动日志
net log all               # 显示所有存储的日志条目(最多32条)
net log verbose           # 显示详细信息
net log count=N           # 显示N条最近的日志(1-32)
net log help              # 显示日志命令帮助
# 日志选项组合示例
net log verbose all       # 显示所有日志的详细信息
net log count=5           # 显示5条最近的日志网络调试工具
# DHCP调试命令
net debug                 # 显示DHCP调试命令帮助
net debug reset          # 重置DHCP调试计数器
net debug timing         # 显示DHCP时序分析
net debug force-restart  # 强制重启DHCP客户端
net debug status         # 显示调试状态网络状态信息说明
net status 显示的信息包括:
- 网络接口状态:初始化状态、启动状态、链路状态
 - MAC地址:硬件MAC地址
 - IP配置:IP地址、网关、子网掩码、DNS服务器
 - DHCP服务器配置:启用状态、IP池范围、租期、最大客户端数
 - 网络统计:收发包数、字节数、错误数
 
net log 显示的信息包括:
- 网络接口启动/停止事件
 - 链路状态变化
 - DHCP事件和IP地址分配
 - 网络错误和警告
 
使用场景示例
场景1:基本网络设置
net status                         # 检查当前状态
net config set ip 10.10.99.98      # 设置新IP
net config set gateway 10.10.99.1  # 设置网关
net config save                    # 保存配置
net reset                          # 应用配置场景2:DHCP服务器配置
net config set dhcp_pool_start 10.10.99.100    # 设置DHCP池起始
net config set dhcp_pool_end 10.10.99.110      # 设置DHCP池结束  
net config set dhcp_lease_hours 48             # 设置48小时租期
net dhcp enable                                # 启用DHCP服务器
net config save                                # 保存配置场景3:网络故障排除
net status                    # 检查接口状态
net log                       # 查看最近活动
net debug status              # 检查调试信息
net reset                     # 尝试重置接口
system reboot                 # 如需要可重启系统场景4:网络监控和维护
net log verbose all           # 查看详细网络活动历史
net debug timing              # 分析网络性能
net status                    # 实时状态监控✅ 已完成功能
- 完整的网络配置管理系统
 - DHCP服务器和客户端支持
 - 网络状态监控和统计
 - 活动日志记录和查看
 - 配置持久化存储
 - 完整的控制台命令接口
 - 网络调试和诊断工具
 
🔧 技术特性
- 
W5500硬件以太网控制器支持
 - 
SPI通信接口优化
 - 
线程安全的网络操作
 - 
事件驱动的状态管理
 - 
与系统其他组件的深度集成
 - 
接口类型: SDMMC 4-bit模式
 - 
时钟频率: 40MHz (高速模式)
 - 
引脚配置:
- CMD: GPIO 4 - 命令线
 - CLK: GPIO 5 - 时钟线
 - D0: GPIO 6 - 数据线0
 - D1: GPIO 7 - 数据线1
 - D2: GPIO 15 - 数据线2
 - D3: GPIO 16 - 数据线3
 
 - 
文件系统: FAT32格式
 - 
功能特性:
- 自动挂载和卸载
 - 文件和目录完整操作
 - 空间监控和管理
 - 格式化支持
 - 19个专用控制台命令
 - POSIX文件操作兼容
 
 
- 供电电压监测: GPIO 18 (ADC2_CHANNEL_7)
- 分压比: 11.4:1,支持高电压检测
 - 实时电压监控和阈值报警
 - 后台任务持续监控
 
 - 电源芯片数据接收: GPIO 47 (UART1_RX)
- 波特率: 9600,8N1配置
 - 数据格式: 
[0xFF帧头][电压][电流][CRC](4字节) - 实时读取电压、电流、功率数据
 - 支持协议分析和调试
 
 - 功能特性:
- 电压变化阈值触发
 - UART通信状态监控
 - 数据协议深度分析
 - 完整的调试工具套件
 - 10个专用控制台命令
 
 
help                    # 查看系统概览和可用命令
status                  # 显示控制台状态
temp status             # 检查温度管理状态agx_monitor start       # 启动AGX系统监控
agx_monitor status      # 检查连接状态
agx_monitor data        # 查看监控数据fan status              # 查看风扇状态
temp auto               # 启用AGX温度自动控制
fan mode 0 curve        # 设置风扇为曲线模式
fan config curve 0 40:20 50:40 60:70 70:100  # 配置温度曲线temp manual             # 切换到手动模式
temp set 50             # 设置测试温度50°C
fan status              # 查看风扇响应
temp auto               # 切换回自动模式# 触摸 LED - 用户交互指示
led touch set blue                    # 设置触摸LED为蓝色
led touch animation start rainbow 100 # 启动彩虹动画
# 板载 LED - 系统装饰照明
led board all 255 100 0              # 设置所有板载LED为橙色
led board anim breathe 0 255 0 50     # 启动绿色呼吸动画
# 矩阵 LED - 图形显示
led matrix fill 255 0 255            # 矩阵填充紫色
led matrix draw circle 16 16 8 255 255 0 fill  # 画一个黄色实心圆
led matrix anim wave 60               # 启动波浪动画led touch config save               # 保存触摸LED配置
led board config save               # 保存板载LED配置  
led matrix config save              # 保存矩阵LED配置# 检查网络状态
net status                          # 显示当前网络状态
net log                             # 查看网络活动日志
# 基础网络配置
net config set ip 10.10.99.98       # 设置新IP地址
net config set gateway 10.10.99.1   # 设置网关
net config set dns 8.8.8.8          # 设置DNS服务器
net config save                     # 保存配置
# DHCP服务器配置
net config set dhcp_pool_start 10.10.99.100  # 设置DHCP池起始
net config set dhcp_pool_end 10.10.99.110    # 设置DHCP池结束
net dhcp enable                              # 启用DHCP服务器
# 应用配置
net reset                           # 重置网络接口应用配置
net status                          # 验证配置是否生效# 查看当前色彩校正状态
color status                        # 显示所有校正参数
# 标准显示优化 (推荐新手)
color enable                        # 启用色彩校正
color gamma 2.2                     # 设置标准伽马
color saturation 1.1                # 轻微增强饱和度
# 环境适应性调节
color whitepoint 0.9 1.0 1.1        # 冷色调环境
color brightness 1.2                # 提高整体亮度
# 一键重置和备份
color export /sdcard/my_color.json  # 备份当前配置
color reset                         # 重置为默认值| 命令 | 说明 | 示例 | 
|---|---|---|
temp status | 
显示温度管理状态 | temp status | 
temp get | 
获取当前有效温度 | temp get | 
temp set <value> | 
设置手动测试温度 | temp set 45 | 
temp auto | 
切换到AGX自动模式 | temp auto | 
temp manual | 
切换到手动测试模式 | temp manual | 
| 命令 | 说明 | 示例 | 
|---|---|---|
agx_monitor start | 
启动AGX监控 | agx_monitor start | 
agx_monitor stop | 
停止AGX监控 | agx_monitor stop | 
agx_monitor status | 
显示连接状态 | agx_monitor status | 
agx_monitor data | 
显示监控数据 | agx_monitor data | 
agx_monitor config | 
显示配置信息 | agx_monitor config | 
agx_monitor stats | 
显示统计信息 | agx_monitor stats | 
| 命令 | 说明 | 示例 | 
|---|---|---|
fan status | 
显示风扇状态 | fan status | 
fan set <id> <speed> | 
设置风扇转速 | fan set 0 75 | 
fan mode <id> <mode> | 
设置工作模式 | fan mode 0 curve | 
fan enable <id> <on/off> | 
启用/禁用风扇 | fan enable 0 on | 
fan config curve <id> <points> | 
配置温度曲线 | fan config curve 0 30:20 50:40 | 
fan config save | 
保存配置 | fan config save | 
| 命令 | 说明 | 示例 | 
|---|---|---|
gpio <pin> high | 
设置GPIO高电平 | gpio 42 high | 
gpio <pin> low | 
设置GPIO低电平 | gpio 42 low | 
gpio <pin> input | 
设置为输入模式 | gpio 42 input | 
usbmux <target> | 
切换USB MUX | usbmux agx | 
robOS 系统包含三个 LED 子系统,每个都有独立的控制命令:
| 命令 | 说明 | 示例 | 
|---|---|---|
led touch status | 
显示 LED 状态和配置 | led touch status | 
led touch help | 
显示完整命令参考 | led touch help | 
led touch set <color> | 
设置颜色 | led touch set red | 
led touch set <RRGGBB> | 
使用 RGB 十六进制设置 | led touch set FF6600 | 
led touch brightness <0-255> | 
设置亮度 | led touch brightness 128 | 
led touch clear | 
关闭 LED | led touch clear | 
led touch animation start <type> [speed] [color] | 
启动动画 | led touch animation start rainbow 100 | 
led touch animation stop | 
停止动画 | led touch animation stop | 
led touch sensor threshold <value> | 
设置触摸阈值 | led touch sensor threshold 500 | 
led touch sensor enable/disable | 
启用/禁用触摸检测 | led touch sensor enable | 
led touch config save/load/reset | 
配置管理 | led touch config save | 
动画类型: rainbow, breathe, fade, pulse, sparkle
| 命令 | 说明 | 示例 | 
|---|---|---|
led board help | 
显示帮助信息 | led board help | 
led board on | 
打开所有 LED(白色) | led board on | 
led board off | 
关闭所有 LED | led board off | 
led board clear | 
清除所有 LED | led board clear | 
led board all <R> <G> <B> | 
设置所有 LED 颜色 | led board all 255 0 0 | 
led board set <index> <R> <G> <B> | 
设置特定 LED 颜色 | led board set 5 0 255 0 | 
led board brightness <0-255> | 
设置亮度 | led board brightness 100 | 
led board anim stop | 
停止动画 | led board anim stop | 
led board anim fade <R> <G> <B> [speed] | 
淡入淡出动画 | led board anim fade 255 0 0 50 | 
led board anim rainbow [speed] | 
彩虹动画 | led board anim rainbow 80 | 
led board anim breathe <R> <G> <B> [speed] | 
呼吸动画 | led board anim breathe 0 0 255 30 | 
led board anim wave <R> <G> <B> [speed] | 
波浪动画 | led board anim wave 255 255 0 60 | 
led board anim chase <R> <G> <B> [speed] | 
追逐动画 | led board anim chase 255 0 255 70 | 
led board anim twinkle <R> <G> <B> [speed] | 
闪烁动画 | led board anim twinkle 255 255 255 40 | 
led board anim fire [speed] | 
火焰动画 | led board anim fire 50 | 
led board anim pulse <R> <G> <B> [speed] | 
脉冲动画 | led board anim pulse 0 255 0 80 | 
led board anim gradient <R1> <G1> <B1> <R2> <G2> <B2> [speed] | 
渐变动画 | led board anim gradient 255 0 0 0 0 255 60 | 
led board config save/load/reset | 
配置管理 | led board config save | 
| 命令 | 说明 | 示例 | 
|---|---|---|
led matrix status | 
显示矩阵状态 | led matrix status | 
led matrix help | 
显示完整帮助 | led matrix help | 
led matrix enable <on/off> | 
启用/禁用矩阵 | led matrix enable on | 
led matrix brightness <0-100> | 
设置亮度百分比 | led matrix brightness 80 | 
led matrix clear | 
清除所有像素 | led matrix clear | 
led matrix fill <r> <g> <b> | 
用颜色填充 | led matrix fill 255 0 0 | 
led matrix pixel <x> <y> <r> <g> <b> | 
设置单个像素 | led matrix pixel 16 16 0 255 0 | 
led matrix test | 
显示测试图案 | led matrix test | 
led matrix draw line <x0> <y0> <x1> <y1> <r> <g> <b> | 
画线 | led matrix draw line 0 0 31 31 255 255 0 | 
led matrix draw rect <x> <y> <w> <h> <r> <g> <b> [fill] | 
画矩形 | led matrix draw rect 10 10 12 8 0 255 255 fill | 
led matrix draw circle <x> <y> <radius> <r> <g> <b> [fill] | 
画圆 | led matrix draw circle 16 16 8 255 0 255 | 
led matrix anim <type> [speed] | 
启动动画 | led matrix anim rainbow 60 | 
led matrix stop | 
停止动画 | led matrix stop | 
led matrix mode <static/animation/off> | 
设置显示模式 | led matrix mode animation | 
led matrix config save/load/export/import | 
配置管理 | led matrix config save | 
led matrix image export <file> | 
导出当前显示 | led matrix image export /sdcard/image.json | 
led matrix image import <file> [name] | 
导入图像文件 | led matrix image import /sdcard/image.json logo | 
led matrix storage status | 
检查 SD 卡状态 | led matrix storage status | 
矩阵动画类型: rainbow, wave, breathe, rotate, fade
robOS 提供了功能强大的色彩校正系统,专门为 WS2812 LED 设备设计,支持白点校正、伽马校正、亮度增强和饱和度增强等多种色彩处理功能。
| 命令 | 说明 | 示例 | 
|---|---|---|
color enable/disable | 
启用/禁用色彩校正系统 | color enable | 
color status | 
显示当前配置状态 | color status | 
color whitepoint <r> <g> <b> | 
RGB通道白点校正 (0.0-2.0) | color whitepoint 0.9 1.0 1.1 | 
color gamma <value> | 
伽马校正 (0.1-4.0) | color gamma 2.2 | 
color brightness <factor> | 
亮度增强 (0.0-2.0) | color brightness 1.2 | 
color saturation <factor> | 
饱和度增强 (0.0-2.0) | color saturation 1.1 | 
color export/import <file> | 
配置文件导入导出 | color export /sdcard/color.json | 
color reset | 
重置为默认设置 | color reset | 
快速配置场景:
- 标准优化: 
color enable && color gamma 2.2 && color saturation 1.1 - 暖色调: 
color whitepoint 1.1 1.0 0.9 && color brightness 0.9 - 冷色调: 
color whitepoint 0.9 1.0 1.1 && color brightness 1.1 - 护眼模式: 
color whitepoint 1.0 0.95 0.85 && color brightness 0.7 
�� 详细指南: 色彩校正系统完整指南
| 命令 | 说明 | 示例 | 
|---|---|---|
net status | 
显示网络接口状态 | net status | 
net start | 
启动网络接口 | net start | 
net stop | 
停止网络接口 | net stop | 
net reset | 
重置网络接口 | net reset | 
net config show | 
显示当前网络配置 | net config show | 
net config set <param> <value> | 
设置网络参数 | net config set ip 10.10.99.97 | 
net config save | 
保存配置到NVS | net config save | 
net config load | 
从NVS加载配置 | net config load | 
net config reset | 
重置为默认配置 | net config reset | 
net dhcp | 
显示DHCP服务器状态 | net dhcp | 
net dhcp enable | 
启用DHCP服务器 | net dhcp enable | 
net dhcp disable | 
禁用DHCP服务器 | net dhcp disable | 
net log | 
显示网络活动日志 | net log | 
net log all | 
显示所有日志条目 | net log all | 
net log verbose | 
显示详细日志信息 | net log verbose | 
net log count=N | 
显示N条最近日志 | net log count=5 | 
net debug status | 
显示调试状态 | net debug status | 
net debug timing | 
显示时序分析 | net debug timing | 
net debug reset | 
重置调试计数器 | net debug reset | 
net debug force-restart | 
强制重启DHCP客户端 | net debug force-restart | 
可配置的网络参数:
ip- 静态IP地址 (x.x.x.x 格式)netmask- 网络掩码 (x.x.x.x 格式)gateway- 网关地址 (x.x.x.x 格式)dns- DNS服务器 (x.x.x.x 格式)dhcp_pool_start- DHCP池起始IP (x.x.x.x 格式)dhcp_pool_end- DHCP池结束IP (x.x.x.x 格式)dhcp_lease_hours- DHCP租期小时数 (1-8760)dhcp_max_clients- 最大DHCP客户端数 (1-50)
| 命令 | 说明 | 示例 | 
|---|---|---|
help | 
显示系统概览和命令列表 | help | 
help <command> | 
显示特定命令帮助 | help temp | 
version | 
显示版本信息 | version | 
status | 
显示控制台状态 | status | 
clear | 
清屏 | clear | 
history | 
显示命令历史 | history | 
- 温度集成指南 - AGX温度集成到风扇控制的完整使用指南
 - 智能安全温度策略 - 分层安全温度保护机制详解
 - 色彩校正系统完整指南 - WS2812 LED色彩校正详细配置和使用指南
 
- Touch LED 组件 - 触摸LED详细使用指南和API文档
 - Matrix LED 组件 - 32x32 LED矩阵控制和图形编程文档
 - Board LED 组件 - 板载LED灯带控制和动画效果文档
 - 色彩校正组件 - WS2812 LED色彩校正和优化系统文档
 
项目版本: robOS v2.0.0
更新日期: 2025年10月5日
开发团队: robOS Team