Channel State Information(信道状态信息)是无线通信中描述信道状态的详细数据。它通过分析 Wi-Fi 信号在不同子载波上传输时的幅度和相位变化,提供了信道的状态信息。
Wi-Fi 信号从路由器传输到 ESP32。人的动作会干扰 Wi-Fi 信号的传播路径,导致信道状态发生变化。CSI 可以捕捉这些变化,并通过算法分析来推断环境中的活动情况。

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

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

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

下面是 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:
传感器是一种检测装置,能感受到被测量的信息,并按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。
本节主要讲解用TM1650来驱动四位7段式数码管模块的显示使用。
本节主要讲解FreeRTOS任务间如何使用互斥对象来实现资源互斥访问。
在ESP32的开发,经常会有系统崩溃一直重启的情况,那么如何快速定位出现异常的代码呢?
本节主要讲解FreeRTOS任务间如何使用消息队列、事件组和二进制信号量进行通信。
本节主要讲解Task类,FreeRTOS多任务的使用。
本节主要讲解Timer类,FreeRTOS定时器的使用。
本节主要讲解舵机驱动类和用按键控制舵机。
本节主要讲解执行器件类型和用按键控制继电器。
本小节主要讲解红外接收和遥控器件,以及遥控操作LED。
本小节讲解模拟量传感器使用,旋转电位器,DHT11温湿度传感器和实现自定义传感器类。