>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
C

用 ESP32 构建声学无人机探测器,仅需几千卢布

Batear Logo

无人机探测通常与复杂的雷达、射频扫描仪或配备热成像摄像头的光学系统相关联。这些方案成本数千美元,需要完善的基础设施。最近我发现了一个有趣的项目——Batear,其开发者决定从另一个角度解决这个问题。他们使用麦克风和成本仅几十美元的小型微控制器。

这个想法是监听天空。旋转的无人机螺旋桨会产生具有稳定谐波的独特声学噪声。项目直接在微控制器上执行所有声音处理,无需将音频流传输到云端,也不需要持续的网络连接。

Batear Demo

内部原理

该项目使用 C 语言为 ESP-IDF 编写,针对 ESP32-S3 芯片进行了优化。来自 I2S 麦克风的声音(文档推荐 ICS-43434 MEMS 传感器)直接进入芯片内存。在那里,固件执行快速傅里叶变换(FFT)并搜索无人机电机和螺旋桨特有的特定频率峰值。

所有计算都在本地进行。如果设备检测到螺旋桨声音,它会立即通过两个支持的通信通道之一发送警报。

两种部署方案

开发者设计固件以覆盖两种不同的安装场景。具体角色在构建或烧录时选择:

1. 通过 LoRa 的无线自主环路

在此模式下,传感器可以分散在场地周围,安装在电线杆或树上。

基于 Heltec WiFi LoRa 32 板的传感器监听空气中的信号,并在触发警报时通过 LoRa 射频(915 或 868 MHz)发送加密的 36 字节数据包(AES-128-GCM)。

第二块相同的板放置在房屋中作为网关。网关接收射频信号,在内置 OLED 屏幕上显示状态,并通过 Wi-Fi 通过 MQTT 代理转发事件。

如果传感器计划永久安装在墙面或屋顶上,则运行单独的射频网关没有意义。固件支持 LILYGO T-ETH-Lite S3 等板卡,该板卡焊接了 W5500 以太网控制器。

设备通过 PoE 的双绞线供电,独立连接到本地网络,并直接向自动化服务器发送 MQTT 消息。

开发者没有费心开发自定义移动应用,而是通过 MQTT Auto-Discovery 实现了原生 Home Assistant 支持。一旦网关或有线传感器连接到代理,设备就会自动出现在控制面板上。

Home Assistant Dashboard

通过智能家居界面,您可以:

  • 实时跟踪警报状态
  • 查看射频通道诊断(RSSI 和 SNR 级别)
  • 配置自动化:当检测到可疑噪音时触发警报器、打开泛光灯或发送 Telegram 通知

如何烧录固件

对于不想在本地设置 ESP-IDF 工具链的用户,项目网站提供了基于 WebSerial 的网页烧录工具。只需在基于 Chromium 的浏览器中打开页面,通过 USB-C 线连接板卡,然后按安装按钮即可。

如果您更喜欢从源代码编译,一切都可以使用标准工具构建:

要构建网关或有线版本,只需指定相应的配置文件( batear_gateway.conf batear_wired.conf)。

思考与局限性

该项目是数字信号处理如何在廉价微控制器上榨取最大性能的绝佳技术范例。

当然,纯粹的声学方法存在物理限制。强阵风、邻居的割草机噪音或附近的摩托车经过都可能干扰检测或导致误报。为了准确运行,您需要通过配置校准灵敏度阈值。尽管如此,作为与 Home Assistant 结合的 DIY 实验基础,这是一个出色的完全开源项目。

相关项目