当前位置: 首页 > news >正文

SmartHomeAI---

今日学习:从 Vibe Coding 到产品原型

  1. 我完成的不是“几段代码”,而是一个产品闭环

今天的 SmartHome AI 项目包含了一条完整链路: 摄像头→ OpenCV 获取画面→ MediaPipe 提取手部 21 个关键点→ 手势识别判断用户意图→ 虚拟房间选择→ 智能家居设备状态改变→ PySide6 图形界面反馈→ PyInstaller 打包成 Windows 应用

这说明一个可展示的 AI 产品,不只是“模型识别成功”,而是要让用户能看到、理解、操作,并获得反馈。


  1. 软件项目应分层,而不是把所有内容写进 main.py

我逐渐理解了模块化的价值:

文件职责
main.py程序入口和界面协调
vision.py摄像头、OpenCV、MediaPipe 视觉识别
gesture.py手势判断逻辑
device.py灯光等设备状态与未来硬件控制接口
config.py字体、摄像头、阈值等配置
styles.py界面视觉风格

核心思想是:

每个文件只负责一类问题。

未来接 STM32 时,只需要重点修改device.py,而不需要重写摄像头、手势识别或界面。


  1. AI 识别不是“有结果就够了”,还需要稳定机制

摄像头每秒会产生很多画面。如果每一帧都直接执行命令,灯会被反复触发。

所以项目加入了两个工程思想:

  • 连续多帧识别到相同手势,才确认动作。

  • 同一个手势只执行一次;松手或改变手势后,才允许再次触发。

这叫作“防抖”和“防重复触发”。

它提醒我:

真实系统不仅要识别正确,还要在连续输入中稳定工作。


  1. 用户体验也是技术的一部分

项目从最初的摄像头窗口,升级为桌面应用,加入了:

  • 实时画面

  • 手部骨架和手掌光标

  • 客厅、卧室、厨房分区

  • 当前目标房间

  • 当前手势

  • 灯光状态

  • 操作日志

  • 摄像头启停按钮

这说明:

功能能运行,不等于产品好用。

产品设计需要让用户随时知道:

  1. 系统有没有看到我?

  2. 系统认为我选中了什么?

  3. 系统识别了什么手势?

  4. 最终执行了什么结果?


  1. 虚拟设备层是为未来硬件预留接口

目前项目中的灯是 Python 变量模拟的: 卧室灯:开启 / 关闭

未来可以替换成: Python→ 串口 / WiFi / MQTT→ STM32 或 ESP32→ GPIO→ LED、继电器、真实灯光

重要思想:

先做软件原型验证交互逻辑,再接入硬件执行层。

这样开发风险更低,也更容易逐步升级。


  1. 打包失败不是“项目失败”

今天遇到的 PySide6、OpenCV 缺失问题,本质是: 运行环境≠打包环境

一个 Python 项目能运行,不代表打包后的 exe 一定带齐全部依赖。

我学到的处理方式是:

  1. 使用同一个 Python 环境安装依赖。

  2. requirements.txt固定依赖列表。

  3. 打包前验证关键库能否导入。

  4. PyInstaller 打包时显式收集复杂库,例如 PySide6、MediaPipe、OpenCV。

  5. 复制程序时复制整个dist/SmartHomeAI文件夹,而不是只复制 exe。

这是一种很重要的工程意识:让别人也能运行你的成果。


  1. Vibe Coding 的正确使用方式

Vibe Coding 不是“不需要理解代码”,而是把 AI 当成一位高效率的开发伙伴。

我需要负责:

  • 明确产品要解决什么问题。

  • 判断界面是否美观、交互是否自然。

  • 提出真实需求和反馈。

  • 运行、测试、截图、定位问题。

  • 理解核心模块之间的关系。

AI 可以帮助我:

  • 快速生成代码骨架。

  • 修复错误。

  • 设计界面。

  • 重构项目结构。

  • 编写打包脚本和说明文档。

最重要的能力不是记住每一行代码,而是学会提出清晰的问题:

我想做什么?用户如何使用?系统如何反馈?未来如何扩展?


  1. 我当前掌握的技术地图

Python├── OpenCV:摄像头与图像处理├── MediaPipe:手部关键点检测├── 几何规则:手势识别├── PySide6:桌面软件界面├── PyInstaller:打包 Windows 应用├── 软件模块化:分离视觉、逻辑、设备、UI└── 未来 STM32 / ESP32:真实硬件控制

  1. 下一阶段值得学习的方向

  1. 学习 STM32 的 GPIO、UART、PWM。

  2. 用串口让 Python 控制 STM32 的 LED。

  3. 学习 ESP32 + WiFi + MQTT,接入真实智能家居。

  4. 收集自己的手势数据,用机器学习替代部分规则识别。

  5. 为项目增加空调、窗帘、温湿度、语音控制等模块。

  6. 学习 Git 和 GitHub,保存每一次项目迭代。


今日总结

今天最大的收获不是“做出了一个软件”,而是第一次理解了一个 AI 产品从想法到可运行应用的过程: 需求→ 原型→ 视觉识别→ 交互设计→ 状态管理→ 软件界面→ 打包交付→ 未来硬件扩展

我已经完成了一个真正可以继续成长的项目起点。

http://www.jsqmd.com/news/1238581/

相关文章:

  • 阿里云返佣折扣详解:如何通过典名科技获得最高优惠
  • 从RNN到Attention:序列建模的核心突破与实现
  • 硬盘坏道检测与修复全攻略
  • UE5.3插件打包全流程指南:从源码到二进制环境避坑实践
  • CodeGraph轻量化代码知识图谱核心技术解析与应用
  • AI编程助手token优化:MCP技术实现99%消耗降低
  • C++对象编程:从基础概念到高级实践
  • 深度学习模型量化技术:PTQ原理与实践指南
  • 奇迹MU剑与翼跨服养号与积分速刷指南
  • GoldHEN金手指管理器:1490+游戏修改的终极解决方案
  • ngx_writev
  • 你的 AI 不是下属,是组织:为什么多智能体要借管理学和社会学来建
  • HarmonyOS 6.1 AI融合实战:端侧智能与HiAI Foundation的极致性能
  • C++11 std::function与std::bind核心用法与实现原理
  • SpringBlade Sword:企业级微服务前端开发终极指南
  • HarmonyOS 6.1 生态整合实战:服务卡片与“万能卡片”的生态玩法
  • TI HDVPSS数据通路配置:从寄存器解析到画中画实战
  • 嵌入式EMIFA接口与NAND Flash时序配置实战:从理论计算到驱动调试
  • JSON与JSONPATH:数据查询与处理核心技术解析
  • Agent 大厂面试题・|字节跳动|淘汰85%候选人的AI综合面,Agent全链路连环追问附满分作答
  • 有故事但不会画画?这5款AI工具帮你一键生成漫画
  • LeetCode hot 100—1
  • 移动性水文监测物联网解决方案
  • Dockerfile核心指令详解与容器化最佳实践
  • 解密Palantir系列三:6.AIP · 别再把 AIP 当成一个聊天框:四个入口,四种工作
  • PCB贴片打样厂家如何选择?速度、品质与交付能力缺一不可
  • 西安劳力士回收价格查询及各大平台实测**2026年7月最新数据) - 天价名表回收平台
  • 架构思维核心原则与设计模式实战解析
  • PCB原理图设计规范与信号完整性要点解析
  • Flutter 是否会淘汰 iOS 原生工程师?深度解析跨平台与原生开发的未来