跳转到内容

在场感知与蓝牙代理 ​

让家里知道「谁在哪个房间」「房间里有没有人」,是智能家居自动化的关键一环。ESP32 自带蓝牙和 Wi-Fi,成本低,适合铺在每个房间当「小哨兵」。适合已经有 Home Assistant、想做灯光跟人走或空调节能的玩家。

这是什么玩法 ​

三类常见做法,原理不同:

做法原理能回答的问题
HA 蓝牙代理ESP32 转发附近 BLE 广播给 HA扩展蓝牙覆盖,让远处的 BLE 传感器也能接入
ESPresense多个节点测同一个 BLE 设备的信号强度 (RSSI)手机、手表、标签在哪个房间
毫米波雷达24GHz 或更高频率雷达探测运动和静止的人房间里有没有人,包括坐着不动的人

PIR 红外传感器只能感知移动,人坐着不动就会误判为无人;毫米波雷达可以探测静止的人体微动,这是它在存在检测里流行的原因。

典型硬件 ​

  • 蓝牙代理和 ESPresense:普通 ESP32 就行。ESP32-DevKitC 最稳妥;ESP32-S3、ESP32-C3 也可用,但请核对对应固件版本的支持情况。ESP32 原版(带经典蓝牙)与 S3 / C3 / C6(仅 BLE)在蓝牙能力上不同,做代理只需要 BLE。
  • 毫米波雷达模块:常见有 LD2410(单目标存在检测,带距离和能量值)和 LD2450(多目标位置追踪,最多追踪 3 个目标),均通过串口连接 ESP32。型号和参数以模块厂商手册为准。
  • 供电:一般 5V USB,雷达模块也多为 5V 供电、3.3V 串口电平,接线前核对模块手册。

软件与项目 ​

  • ESPHome:内置 bluetooth_proxy 组件,几行 YAML 就能变成蓝牙代理;雷达模块也有对应的 ESPHome 组件(如 ld2410、ld2450)。
  • ESPresense:专门做 BLE 房间级定位的开源固件,通过 MQTT 与 HA 配合,可以追踪手机、手表、苹果和安卓设备的蓝牙信号。
  • OpenMQTTGateway:另一个 BLE 网关方案,也支持 433 MHz、红外等。
  • 蓝牙代理的原理和能力限制请参考 HA 官方蓝牙集成文档,包括并发连接数量等细节。

入门路径 ​

  1. 先做一个蓝牙代理:在 ESPHome 里新建设备,加入 bluetooth_proxy,刷入后在 HA 里确认出现。
  2. 把代理放到有蓝牙传感器(如小米温湿度计)但信号不好的位置,观察数据是否变得稳定。
  3. 想做房间定位,就再选两三块 ESP32,分别刷 ESPresense,放到不同房间。
  4. 想检测有人,接一个 LD2410 到 ESP32 串口,在 ESPHome 里添加 ld2410 组件,得到「存在」「运动」「静止」几个二进制传感器。
  5. 在 HA 里把存在状态用于灯光自动化,并加几十秒延迟避免频繁开关。

进阶方向 ​

  • 多节点融合:节点越多,RSSI 定位越稳定;需要自己做校准和过滤。
  • 区域划分:LD2450 能输出目标坐标,可以在 HA 里或 ESPHome 里划分区域,区分沙发和书桌。
  • 手机隐私:iOS 和 Android 默认会随机化 BLE 地址,通常要借助 HA 配套 App 的蓝牙信标功能或固定 IRK 来解决,具体做法见各项目文档。
  • 低功耗:雷达模块功耗比 PIR 高,不适合电池供电。

注意事项 ​

  • 雷达存在误报来源:风扇、窗帘、宠物都可能触发,安装位置和灵敏度需要反复调。
  • Wi-Fi 与蓝牙共存:ESP32 的 2.4 GHz 射频是 Wi-Fi 与 BLE 共用,同时高负载时可能影响稳定性。
  • 隐私:房间级定位数据属于个人信息,不要把 MQTT 或 HA 直接暴露在公网,家中有他人时要告知。
  • 雷达的辐射功率很低,在合规的商业模块范围内使用即可,不要自行改造发射。

参考资料 ​

ESP32 非官方中文调查手册,与乐鑫科技(Espressif Systems)无隶属关系。