小米 IoT|CSI 人体存在感知
最后更新:2023年
视频是开发过程中使用米家控制手指机器人的简单联调实例。先让设备在米家 App 中稳定上线,后面才能继续接入人体存在感知和智能灯控制。
🏠 设计思路
这个项目来自导师与荣耀的合作项目,目标是利用 WiFi CSI(Channel State Information)实现非接触式人体存在感知,并将感知结果接入智能家居系统。
当人体进入房间后,身体会改变 WiFi 信号在室内的传播路径和多径特征。系统通过分析 CSI 的变化判断房屋内是否有人,再由 ESP32 固件将状态传递到米家,联动小米智能灯,实现最直接的效果:
WiFi CSI 人体存在感知
↓
有人 / 无人
↓
ESP32 接入米家
↓
有人开灯,无人关灯
与摄像头相比,CSI 不需要拍摄房间画面,也不依赖可见光。它只利用已经存在的无线信号完成感知,因此很适合智能家居这类对隐私和持续运行都有要求的场景。
🔌 从感知到设备联动
人体存在感知只是系统的前半部分。要让判断结果真正控制智能灯,还需要完成 ESP32 固件开发、设备联网、米家平台接入、状态上报和自动化联动。
视频中的手指机器人就是当时用来验证这条控制链路的小 Demo:先通过米家 App 控制执行器,确认设备接入和控制逻辑能够正常工作,再把前端的 CSI 感知结果加入系统。最终,系统可以根据房间内的人员状态自动开关智能灯,不再需要手动操作 App。
实际调试中,“无人关灯”比“有人开灯”更需要谨慎。CSI 会受到走动、环境变化和无线干扰影响,如果刚检测不到人就立即关灯,坐着不动的人可能会突然喜提一片黑暗 😅。因此,状态判断需要进行时间平滑,并为无人状态设置适当的延迟。
🧑💻 一些感想
回头看这个项目,当时基本是一个人包办了硬件设计、外壳建模与打印、嵌入式开发、无线感知算法和 App 设计。好处是什么都接触了一遍,坏处是每项都只来得及学到“能跑起来”,很难真正深入。
不过,这段经历也让我第一次完整理解了一个智能硬件产品怎样从传感信息一路走到实际控制。算法能够判断“有没有人”只是起点,设备能否稳定联网、状态能否可靠同步、自动化逻辑是否符合真实使用习惯,同样决定了最后的体验。
至于职业目标——立志成为全栈工程师,全都自己做的那种:
全栈工程师 ❌
全“在”工程师 ✅(哪里缺人我在哪里)
🏁 结语
这个项目最终完成了从 WiFi CSI 人体存在感知到米家智能灯联动的基础闭环。虽然当时每个方向都没有钻得特别深,但从无线感知到嵌入式设备、再到智能家居平台的完整实践,后来也成为我继续研究无线人体感知的一个起点。