利用 ESP32-S3 和 CSI 技术打造智能家居

ESP32 系列芯片可以利用 CSI 数据实现动作检测和存在检测。无论是自动调节灯光、风扇,还是节能控制,CSI 技术为智能家居带来了新的可能性。随着 CSI 技术的发展,未来的智能家居将能够更精确地感知和响应我们的行为,实现更高效、更人性化的控制。

Channel State Information(信道状态信息)是无线通信中描述信道状态的详细数据。它通过分析 Wi-Fi 信号在不同子载波上传输时的幅度和相位变化,提供了信道的状态信息。

Wi-Fi 信号从路由器传输到 ESP32。人的动作会干扰 Wi-Fi 信号的传播路径,导致信道状态发生变化。CSI 可以捕捉这些变化,并通过算法分析来推断环境中的活动情况。

利用 ESP32-S3 和 CSI 技术打造智能家居

🌟 视频亮点一览:

1. 当动作检测或者存在检测的计算结果超出了阈值,ESP32 就会判定室内有人在活动。控制灯光调亮并打开电扇。

利用 ESP32-S3 和 CSI 技术打造智能家居


2. 当人体停止动作后,动作检测的结果会低于阈值。但是 CSI 依然可以通过存在检测判断室内是否有人。ESP32 可以根据结果保持灯光继续点亮,并将风扇切换成更舒适的自然风。

利用 ESP32-S3 和 CSI 技术打造智能家居


3. 当人离开屋子后,检测算法的结果会低于阈值,从而确认室内无人,并自动关闭家中电器,以达到节省能源的效果。

利用 ESP32-S3 和 CSI 技术打造智能家居


下面是 CSI 数据的实时检测界面:

利用 ESP32-S3 和 CSI 技术打造智能家居

  • 左上角折线:图展示所收到的 CSI 原始数据;

  • 右上角折线:图展示动作检测算法和人体存在检测算法的结果:

    a. 绿色折线代表动作检测算法的实时计算结果

    b. 紫色折线代表动作检测算法的实时阈值

    c. 蓝色折线代表存在检测算法的实时计算结果

    d. 黄色折线代表存在检测算法的阈值

  • 右下角柱状图:展示动作检测的最终结果。


当一段时间窗口内出现多次计算结果超过阈值的情形,就可以判断环境中发生了动作。


其他应用

Wi-Fi CSI 还可以用于高精度的室内定位。通过分析多个 Wi-Fi 接入点(AP)或多个终端设备(STA)之间的 CSI 数据,定位算法(如指纹定位、到达角度(AoA)分析等可以计算出人所在的位置。

随着人体移动,CSI 数据会持续变化,定位系统可以通过这些变化实时更新位置,实现动态追踪。

我们还可以让室内的智能家居与 CSI 产生联动。例如,当走到书桌前,台灯会自动打开;风扇根据人的位置调整风向。


开发资源

视频中支持 Rainmaker 控制的智能无感风扇采用了乐鑫科技的 ESP32-S3-WROOM-1 模组作为系统主控,利用其 LEDC 与 MCPWM 模块实现三相逆变电路驱动。此外,系统支持接入 RainMaker 实现无刷电机的启停与速度控制。该方案已开源至立创开源硬件平台:

https://oshwhub.com/esp-college/esp-bldc

体验 ESP32 CSI 数据获取及检测算法:

https://github.com/espressif/esp-csi:

- 本文内容来自网络,如有侵权,请联系本站处理。

2025-09   阅读(234)   评论(0)
 标签: 创客 ESP32 物联网

涨知识
传感器

传感器是一种检测装置,能感受到被测量的信息,并按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。

评论:
相关文章
【ESP32 C++教程】Unit7-1:四位7段式数码管

本节主要讲解用TM1650来驱动四位7段式数码管模块的显示使用。


【ESP32 C++教程】Unit6-4:资源互斥访问

本节主要讲解FreeRTOS任务间如何使用互斥对象来实现资源互斥访问。


ESP32 Guru Meditation Error报错定位分析

在ESP32的开发,经常会有系统崩溃一直重启的情况,那么如何快速定位出现异常的代码呢?


【ESP32 C++教程】Unit6-3 FreeRTOS任务间通信

本节主要讲解FreeRTOS任务间如何使用消息队列、事件组和二进制信号量进行通信。


【ESP32 C++教程】Unit6-2 FreeRTOS多任务

本节主要讲解Task类,FreeRTOS多任务的使用。


【ESP32 C++教程】Unit6-1 定时器

本节主要讲解Timer类,FreeRTOS定时器的使用。


【ESP32 C++教程】Unit5-2 执行器件之舵机

本节主要讲解舵机驱动类和用按键控制舵机。


【ESP32 C++教程】Unit5-1 执行器件之继电器

本节主要讲解执行器件类型和用按键控制继电器。


【ESP32 C++教程】Unit4-3 红外接收和遥控

本小节主要讲解红外接收和遥控器件,以及遥控操作LED。


【ESP32 C++教程】Unit4-2 模拟量传感器

本小节讲解模拟量传感器使用,旋转电位器,DHT11温湿度传感器和实现自定义传感器类。