目录

OpenVela SenseHome — 智能家居控制系统

基于 OpenVela RTOS 的 AI 智能家居控制系统
自然语言交互 · 习惯自主学习 · 多设备场景联动


项目概述

OpenVela SenseHome 是一个运行在 OpenVela RTOS(基于 Apache NuttX)上的嵌入式智能家居控制系统。通过 QEMU 模拟器完整模拟智能家居环境,支持 AI 自然语言交互用户习惯自主学习多设备场景联动等核心功能。

核心特色:

  • AI 自然语言交互 — 说”有点冷”自动调高温度,说”我起床了”自动执行早安模式
  • 习惯自主学习 — 系统自动学习用户的操作规律,越用越智能,越用越懂用户
  • 场景联动 — 一键执行早安、离家、回家、影院、睡眠、浪漫 6 种场景模式
  • 多设备支持 — 灯光、空调、窗帘、安防、温湿度传感器
  • 定时任务 — 支持”10分钟后关灯”等定时操作
  • Web 控制面板 — 浏览器端实时监控
  • 多渠道接入 — 串口 CLI、WebSocket、飞书 Bot、MQTT、微信

系统架构

                      用户交互层
    串口 CLI      WebSocket      飞书Bot      Web面板
         |            |             |            |
         |            |             |            |
         v            v             v            v
              AI Agent 核心引擎 (LLM 驱动)
    ------------------------------------------
    | LLM 路由 (DeepSeek/Qwen/Ollama 等)      |
    | ReAct 推理循环 | 工具调用 | 长期记忆    |
    ------------------------------------------
                        |
                        v
              智能家居设备控制层
    灯光控制   空调HVAC    窗帘控制    安防控制
    温湿度传感  场景联动    定时任务    习惯学习

功能详解

1. 灯光控制

支持 6 个区域(客厅、卧室、厨房、浴室、书房、室外)的灯光控制,可开关灯、调节亮度(0-100%)。未指定亮度时自动使用用户习惯的亮度值。

示例:"打开客厅灯""把卧室灯调到60%""关灯"


2. HVAC 空调控制

全功能空调控制系统,支持制冷、制热、送风、自动模式,温度 16-30 摄氏度精确控制,风速可调。

智能体验:

用户输入 系统行为
“有点冷” 或 “太冷了” 自动调高 1-2 摄氏度
“有点热” 或 “太热了” 自动调低 1-2 摄氏度
“开空调”(未指定温度) 自动使用用户习惯的温度

3. 窗帘控制

支持 6 个区域的窗帘开关和开度调节(0-100%)。


4. 安防系统

支持布防、撤防、门窗检测、区域锁定,离家模式自动布防。


5. 场景联动(特色功能)

一句话触发多设备联动,无需确认直接执行:

场景 触发词 联动动作
早安模式 “我起床了”、”早上好” 开窗帘、柔光开灯、天气播报
离家模式 “我出门了”、”拜拜” 全屋关灯、关窗帘、安防布防
回家模式 “我回来了”、”到家了” 开灯80%、开窗帘、撤防、空调预设
影院模式 “看电影”、”看片” 全屋关灯、关窗帘、氛围灯
睡眠模式 “晚安”、”睡觉了” 全屋关灯、关窗帘、夜间安防
浪漫模式 “浪漫一下” 暖光、调暗灯光、关窗帘

6. 用户习惯学习系统(核心亮点)

这是系统最核心的创新功能,实现了 感知、学习、适配、建议 的完整物理 AI 闭环。

工作原理

用户每次操作设备 → 系统记录操作值(温度、亮度等)
         ↓
  同一操作重复 3 次以上 → 分析操作偏差
         ↓
  偏差不超过 15% → 确认为习惯 → 开始累积置信度
         ↓
  置信度达到 30% → 系统自动应用习惯值
         ↓
  持续使用 → 置信度不断提升 → 习惯越来越准

学习范围

设备 学习内容 举例
灯光 亮度偏好 每晚开灯都调60% → 以后开灯默认60%
空调 温度偏好 客厅总设27摄氏度 → 开空调自动27摄氏度
窗帘 开度偏好 早晨开80% → 自动80%
安防 布防习惯 出门布防 → 自动建议布防
场景 场景使用 晚10点睡眠 → 自动建议

演示:空调温度习惯

第1天:  "空调调到27度"   → 采集样本 1/3
第2天:  "空调27度"       → 采集样本 2/3
第3天:  "27度"           → 习惯已确认!
第4天起: 直接说"开空调"  → 自动设为 27 摄氏度

7. 定时任务

支持定时执行家居操作,如”10分钟后关灯”、”2小时后空调调到26度”,最长 24 小时。


8. Web 控制面板

浏览器端可视化控制面板,实时查看设备状态、温湿度数据,远程控制灯光、空调、窗帘。


支持的 LLM 后端

系统支持 8 种 LLM 后端灵活切换:

后端 配置命令 特点
DeepSeek set_llm deepseek <key> 性价比高,国内可访问
通义千问 set_llm qwen <key> 阿里云,新用户100万tokens免费
硅基流动 set_llm api.siliconflow.cn ... 国内直接访问,无需代理
Ollama 本地 set_llm http://host:11434 ... 完全离线,隐私安全
OpenAI set_llm openai <key> GPT-4o
Kimi set_llm kimi <key> Moonshot
GLM set_llm glm <key> 智谱
OpenRouter set_llm openrouter <key> 统一网关,多模型

多渠道接入

渠道 用途
串口 CLI 本地调试和直接交互
WebSocket (端口28789) 远程连接和控制
Web 面板 浏览器可视化监控
飞书 Bot 企业级远程控制
MQTT 物联网标准协议集成
微信 微信远程控制
小智 AI 语音助手接入

快速开始

环境要求

项目 要求
操作系统 Ubuntu 22.04 (x86_64)
内存 不低于 16 GB
磁盘 不低于 40 GB
依赖 git, cmake, python3, qemu-system-aarch64

第一步:安装依赖

bash scripts/install-deps.sh

第二步:编译固件

./build.sh vendor/openvela/boards/vela/configs/goldfish-arm64-v8a-ap/ --cmake -j$(nproc)

第三步:启动模拟器

./start_simulator.sh

出现 goldfish-armv8a-ap> 提示符即启动成功。

第四步:启动 AI Agent

goldfish-armv8a-ap> agent start

出现 vela> 提示符即进入智能家居控制模式。

第五步:配置 LLM 并体验

vela> set_llm deepseek sk-你的APIKey
vela> ask 你好
vela> ask 打开客厅灯
vela> ask 我有点冷
vela> ask 晚安

常用命令

命令 说明
ask <文字> 用自然语言与 AI 交互
set_llm <后端> [模型] [key] 切换 LLM 后端
config_show 查看当前配置
net_test 测试网络连接
set_proxy <host> <port> 设置代理
help 查看所有命令

项目结构

├── start_simulator.sh           # 一键启动模拟器
├── build.sh                     # 编译脚本
├── switch_llm.sh                # LLM 后端切换工具
├── auto_build_vela.sh           # 全自动环境搭建脚本
├── serial_console.py            # 串口控制台桥接
│
├── tools/                       # 智能家居核心工具
│   ├── tool_light_control.c     #   灯光控制
│   ├── tool_hvac_control.c      #   空调控制
│   ├── tool_curtain_control.c   #   窗帘控制
│   ├── tool_security_control.c  #   安防控制
│   ├── tool_scene_control.c     #   场景联动(6种模式)
│   ├── tool_schedule.c          #   定时任务
│   ├── user_habit_learner.c/h   #   习惯学习系统
│   └── device_state.c           #   状态持久化
│
├── packages/ai_agent/           # AI Agent 引擎
│   ├── src/core/                #   核心引擎
│   ├── src/llm/                 #   LLM 代理
│   ├── src/channels/            #   通信渠道
│   └── src/infra/               #   基础设施
│
├── dashboard/                   # Web 控制面板
├── security/                    # 安全模块
├── skills/                      # AI 技能文件
├── patches/                     # 补丁
└── device_state.json            # 设备状态

测试和演示

# 运行所有测试
make test

# 习惯学习场景演示
make demo

# 交互式测试
./test_runner.sh

技术亮点

物理 AI 核心 — 轻量级习惯学习

在嵌入式 RTOS 环境下,用运行平均和方差分析实现用户习惯学习,无需神经网络,零动态内存分配,内存安全可靠。

主动智能 — 不多问,直接做

精心设计的系统提示词让 LLM 不再啰嗦——用户说”有点冷”直接调温,说”我起床了”直接早安模式,意图明确就立即执行。

多模型路由 — 灵活切换

支持 8 种以上 LLM 后端无缝切换,自动重试(最多3次),超时保护,确保系统稳定可用。

时间感知习惯

习惯按时间段(早晨、下午、傍晚、夜间)和工作日、周末区分,精准适应用户的生活规律。


许可证

Apache License 2.0


Built for OpenVela Smart Home Competition
关于

基于 openvela AI Agent 框架的物理AI智能家居系统。通过注册自定义 Tool 与 Skill,实现自然语言驱动的灯光、温湿度、窗帘、安防等多设备控制。核心创新在于 “偏好习得”机制——Agent 能感知用户重复指令,自主学习灯光亮度、空调温度等习惯参数,实现“感知优先于执行”的主动智能。系统已在 QEMU 模拟器上完整验证,支持 6 个 Tool、26 项自动化测试,具备可复现的

314.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号