batear-io/batear
GitHub: batear-io/batear
一款基于 ESP32-S3 的超低成本纯边缘声学无人机检测器,通过麦克风和 FFT 谐波分析在本地识别无人机并发出加密告警。
Stars: 248 | Forks: 29
Batear
一个基于 ESP32-S3 的超低成本、纯边缘声学无人机检测器,支持加密 LoRa 或有线 Ethernet/PoE 警报。
“为防御而生,期盼其永无用武之地。我们深信,在这个世界上,没有人需要畏惧天空。”
### 功能:
- **即插即用**:通过 MQTT 自动发现。
- **丰富的诊断信息**:实时监控信号强度(RSSI/SNR)。
- **自动化就绪**:在检测到无人机时,触发你的智能灯、警报或通知。
- **历史日志**:分析你所在区域的无人机活动模式。
## 📖 文档
完整文档可在 **[batear.io](https://docs.batear.io)** 获取。
| | |
|:---|:---|
| [**入门指南**](https://docs.batear.io/getting-started/) | 前置条件和支持的开发板 |
| [**硬件**](https://docs.batear.io/hardware/) | 物料清单、接线图、引脚图 |
| [**构建与烧录**](https://docs.batear.io/build-flash/) | 编译并烧录固件 |
| [**配置**](https://docs.batear.io/configuration/) | 加密密钥、频率、MQTT、设备 ID |
| [**工作原理**](https://docs.batear.io/how-it-works/) | FFT 谐波检测算法 |
| [**校准**](https://docs.batear.io/calibration/) | 调整检测阈值 |
| [**添加开发板**](https://docs.batear.io/adding-boards/) | 移植到新硬件 |
## 🏗️ 系统架构
Batear 支持两种部署模式 —— 根据现场情况选择合适的一种:
### 无线(LoRa 检测器 → 网关 → MQTT)
```
┌──────────────────────┐ LoRa 915 MHz ┌──────────────────────┐
│ DETECTOR (×N) │ ───────────────────────────► │ GATEWAY (×1) │
│ │ AES-128-GCM encrypted │ │
│ ICS-43434 mic │ 36-byte packets │ SSD1306 OLED display│
│ FFT harmonic detect │ │ LED alarm indicator │
│ SX1262 LoRa TX │ │ SX1262 LoRa RX │
└──────────────────────┘ │ WiFi + MQTT TX │
Heltec WiFi LoRa 32 V3/V4 └──────────┬───────────┘
Heltec WiFi LoRa 32 V3/V4
│ MQTT
▼
┌──────────────────────┐
│ HOME ASSISTANT │
│ (auto-discovery) │
└──────────────────────┘
```
### 有线(Ethernet/PoE 检测器 → MQTT,无需网关)
```
┌──────────────────────┐
│ WIRED DETECTOR (×N) │ Ethernet (PoE)
│ │ ───────────────────────────► ┌──────────────────────┐
│ ICS-43434 mic │ MQTT / JSON │ HOME ASSISTANT │
│ FFT harmonic detect │ + REST API / OTA │ (auto-discovery) │
│ W5500 Ethernet │ └──────────────────────┘
└──────────────────────┘
LILYGO T-ETH-Lite S3
```
## ⚡ 快速开始(从源码构建)
```
# 克隆
git clone https://github.com/batear-io/batear.git && cd batear
# 构建 detector (将 sdkconfig.detector 替换为 sdkconfig.gateway 或
# sdkconfig.wired_detector 以适用于其他角色)
idf.py -B build_detector \
-DSDKCONFIG=build_detector/sdkconfig \
-DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.detector" \
set-target esp32s3
idf.py -B build_detector -DSDKCONFIG=build_detector/sdkconfig build
# 烧录 (替换 PORT)
idf.py -B build_detector -DSDKCONFIG=build_detector/sdkconfig -p PORT flash monitor
```
有关网关和有线检测器的设置以及详细说明,请参阅[完整构建指南](https://docs.batear.io/build-flash/)。
## 👤 维护者
Batear 是一个社区驱动的项目。我们欢迎各种形式的贡献,无论是代码、实地数据还是资金赞助。
标签:ESP32, UML, 声学传感器, 客户端加密, 无人机探测, 智能家居, 物理安全, 物联网, 边缘计算