ESP32一“芯”两用:人体检测与Wi-Fi数据传输的双重功能

时间:2025-04-28  作者:Diven  阅读:0

今天将介绍ESP32如何"一芯两用",既做人体检测传感器也做Wi-Fi数据传输模块;

ESP32一“芯”两用:人体检测与Wi-Fi数据传输的双重功能

对于使用ESP32做Wi-Fi数据通讯,相信玩ESP32的基本上都知道怎么玩了,但是如何使用ESP32来做人体检测传感器,对我来说还是挺新鲜的事儿,对你来说是否有也一样呢?接下来我会重点来展开说说如何通过ESP32来实现,这里我用的的是ESP32C3模组;

0、前言

之前看过乐鑫演示了家的ESP-CSI智能人体感知检测方案,觉得很有意思,居然可以使用Wi-Fi来检测人体移动等一系列检测,其中能够检测到的状态有:有人/无人、运动/静止;

8511a6d2-bd28-11ef-8084-92fbcf53809c.jpg

ESP-CSI检测

于是就想着自己动手实践一下这个方案的实际效果;

最后通过修改参考代码,实现了一个基于ESP-CSI方案的ESP32C3人体检测传感器,同时接入到了HomeAssistant平台,可以通过HomeAssistant来观察整个检测的过程;

一句话:本文基于ESP32C3实现了一个人体检测方案,让ESP32C3既做人体检测传感器也做Wi-Fi数据传输模块,并且接入到了HomeAssistant平台。

1、一些关于ESP-CSI基础知识介绍

CSI:Channel Sstate Information,信道状态信息,是描述无线信道特性的重要参数,包括信号的幅度相位信号延迟等指标。在Wi-Fi通信中,CSI用于测量无线网络的信道状态。

通过分析和研究CSI的变化,可以推断引起信道状态变化的物理环境变化,实现非接触式智能传感。

CSI对环境变化非常敏感。不仅能感知人或动物的行走、奔跑等大动作引起的变化,还能捕捉静态环境中人或动物的细微动作,如呼吸、咀嚼等。这些能力使得 CSI 在智能环境监测、人体活动监测、无线定位等应用中具有的应用前景。

2、一些Wi-Fi CSI的有趣例子

网上还有很多关于CSI的有趣例子,这里罗列几个有趣的例子,就当为了提升你对CSI的兴趣吧。

通过CSI检测人的运动姿态

852fc8ec-bd28-11ef-8084-92fbcf53809c.png
  1. CSI检测人的运动姿态

人在检测

  1. 人在检测

通过以上的例子,让我们了解到CSI的应用方向还是挺多的,而乐鑫通过对CSI数据进行一系列的处理,最终封装为一个esp-radar库,让我们无需再进行复杂的技术分析,只需要会调用esp-radar相关的APi即可,即可完成检测到有人/无人、运动/静止这些情况。

所以利用ESP-CSI我们本质上是理解相关API的作用和使用流程;

3、ESP-CSI相关API介绍

我并没有看到乐鑫有对这个库的API做比较详细的说明,其作用我都是通过看源码注释理解进行说明,如果有不正确的欢迎留言指出,一起交流;

通过打开esp_radar.h文件,可以看到总共提供了11个API,通过API名称其功能大概也能猜出个7,8成,具体的API如下

#设置Wi-Fi radar配置,相关配置可以通过wifi_radar_config_t结构体查看
esp_err_tesp_radar_set_config(constwifi_radar_config_t*config);
#获取Wi-Fi radar配置
esp_err_tesp_radar_get_config(wifi_radar_config_t*config);
#启动Wi-Fi radar
esp_err_tesp_radar_start(void);
#停止Wi-Fi radar
esp_err_tesp_radar_stop(void);
#初始化Wi-Fi radar
esp_err_tesp_radar_init(void);
#释放Wi-Fi radar 初始化
esp_err_tesp_radar_deinit(void);
#训练Wi-Fi radar 相关配置,主要用于自主校准,校准之后可以获取相关的参数,如有无人的阈值
esp_err_tesp_radar_train_start(void);
#移植训练Wi-Fi radar后相关的配置,一般用于需要重新校准的情况,不然上一次校准的数据可能会影响本次的结果
esp_err_tesp_radar_train_remove(void);
#停止训练,可以通过入参获取训练后的两个结果 wander和jitter这两个阈值
esp_err_tesp_radar_train_stop(float*wander_threshold,float*jitter_threshold);
#获取模组的增益
esp_err_tesp_radar_get_rx_gain(uint8_t* agc_gain,int8_t*fft_gain);
#设置模组的增益
esp_err_tesp_radar_set_rx_gain(uint8_tagc_gain,int8_tfft_gain);

4、ESP-Radar编程实现=>人体检测连接到HomeAssistant

通过对esp-radar库api和相关工程流程的理解,接下来就是编程实现文章开头说的,功能: 基于ESP-CSI方案例程connect_rainmaker使用ESP32C3实现人体检测传感器,同时接入到了HomeAssistant平台;

4.1、工程配置;

  1. 检查SDK是否启动CSI:Menuconfig>Components config>Wi-Fi>Wi-Fi CSI (Channel State Information)
  2. 由于我们要添加把检测到的状体有人/无人、运动/静止,上报到HA平台,所以我定义了两个实体,一个是人在实体,一个是移动实体,然后通过MQTT接入到HA,所以我们需要在工程中添加mqtt模块,我们在idf_component.yml添加mqtt,如下图
854c7b86-bd28-11ef-8084-92fbcf53809c.png

4.2 整体程序主要CSI逻辑

85508c9e-bd28-11ef-8084-92fbcf53809c.png

image 4

4.3 通过MQTT协议链接到HomeAssistant

我们通过MQTT协议来把监听到的数据上报到HA,具体如何通过MQTT来声明设备的属性服务以及如何上报可以参考我之前写的文章

  • HomeAssistant|【入门篇】基于MQTT的零代码、少配置,设备高效接入方法
  • HomeAssistant|【高级篇】基于MQTT的零代码、少配置,设备高效接入方法
  • HomeAssistant|【实战篇】基于MQTT的零代码、少配置,设备高效接入方法

5、工程效果展示

  1. 通过ESP-RainMkaker APP 把设备配置网络
85687318-bd28-11ef-8084-92fbcf53809c.jpg
  1. 通过在APP上校准设备,校准设备过程需要确保没有人在房间,整个校准过程60秒
8573f9ea-bd28-11ef-8084-92fbcf53809c.jpg
  1. 通过通过HomeAssistant显示捕捉到:有人/无人、运动/静止
85895ad8-bd28-11ef-8084-92fbcf53809c.png
  1. 同时我们通过HA的历史记录也可以更好的观察过去一段时间的检测情况
8594a906-bd28-11ef-8084-92fbcf53809c.png
  1. 具体的编程实现可以参考我添加的代码ha_mqtt
85b397c6-bd28-11ef-8084-92fbcf53809c.png

我们使用了使用了乐鑫的例程实践,直观感受到了esp32既可以做传统的数据传输模块也可以用来同时做人在和移动检测传感器,最后通过加入自己的代码,实现把检测到的状态也上报到了HA平台;工具安利最后给大家推荐我做的一个无线串口数据采集工具,感兴趣的童鞋可以点击看看让你的MCU日志可无线查看和实时记录跟踪的方法

猜您喜欢

磁珠是电子元件中常见的。主要用于滤波和抑制噪声。很多人对的作用不太了解。本文将介绍磁珠的作用,以及与电感的区别。磁珠的基本作用磁珠主要用于信号处理。能减少高频噪...
2025-03-25 04:00:34

为了强化Nexus系列产品的领先地位,莱迪思在过去的18个月内推出了四款基于Nexus技术平台的产品,包括主攻嵌入式视频应用的CrossLink-NX、经过重新...
2021-09-03 09:29:00


LVDS(低压差分信号)芯片因其高速度和低功耗的特性,应用于高速数据传输中。根据不同的应用需求,LVDS芯片可以分为几种主要类型。按照功能分类,LVDS芯片可分...
2010-06-09 00:00:00

高压瓷片电容是常见的电子元件。应用于电力、通信等领域。安全距离是使用高压瓷片电容时要注意的事项。本文将详细介绍高压瓷片电容的安全距离。高压瓷片电容概述高压瓷片电...
2025-03-26 16:31:39

FPGA原型验证平台系统灵活性主要体现在其外部连接表现形式,由单片FPGA平台或者2片的FPGA,抑或是4片的FPGA组成一个子系统。然后由这些子系统去组成更大...
2023-04-11 09:50:00

0402电容是电子元件中很常见的类型。体积小,适合应用在各种电子设备中。焊接0402电容需要一些技巧,下面我们来探讨一下。选择合适的工具焊接0402电容,工具是...
2025-03-26 01:30:35

信号源/发生器在现代电子技术中是非常重要的配件。是产生各种电信号的设备,应用于通信、测试、科研等领域。信号源能够生成特定频率和波形的信号,帮助工程师和科学家进行...
2014-07-19 00:00:00

光电二极管是重要的光电转换器件,其主要优势体现在多个方面。光电二极管具有高灵敏度,能够在微弱光照条件下快速响应,应用于光通信、光测量等领域。其小型化设计使得光电...
2016-09-01 00:00:00

称量盘是实验室和工业中不可少的重要工具,应用于化学、生物、食品等领域。通常由高强度材料制成,具有优良的耐腐蚀性和耐高温性,确保在各种环境下都能保持精确的称量结果...
2024-05-25 00:00:00