Военные и кустарные FPV-дроны часто управляются по радиоканалу в диапазонах 433, 868 или 915 МГц. Один из самых популярных протоколов — ELRS — работает поверх LoRa. А LoRa — это дёшево, просто и отлично ловится даже на коленке.
В этой статье — как собрать детектор сигнала управления дрона на ESP32 и модуле SX1278. Это не «радар» в военном смысле, но он сообщит, что рядом кто-то передаёт по LoRa — а в тишине полей это почти наверняка дрон.
Итого: ~900–1500 ₽. Если есть ESP32 — выходит ещё дешевле.
SX1278 ESP32 ------ ------ GND ———> GND 3.3V ———> 3.3V (!не 5V!) MISO ———> GPIO19 MOSI ———> GPIO23 SCK ———> GPIO18 NSS ———> GPIO5 DIO0 ———> GPIO2 RST ———> GPIO14 (опционально, можно к 3.3V)
Используем библиотеку arduino-LoRa от Sandeep Mistry. Установи её в Arduino IDE через «Скетч → Подключить библиотеку → Управлять библиотеками…».
Код работает в режиме CAD (Channel Activity Detection) — это когда LoRa-модуль не пытается прочитать пакет, а просто ловит факт передачи в эфире.
// Детектор LoRa-активности (например, ELRS от дрона)
// Пины подключения SX1278 к ESP32
#define SCK 18
#define MISO 19
#define MOSI 23
#define SS 5
#define RST 14
#define DI0 2
#include <SPI.h>
#include <LoRa.h>
void onCadDone(bool signalDetected) {
if (signalDetected) {
Serial.println("⚠️ LoRa-сигнал обнаружен!");
// Можно включить пищалку, LED или отправить по WiFi
}
// Сразу запускаем новый поиск
LoRa.cad();
}
void setup() {
Serial.begin(115200);
while (!Serial);
Serial.println("LoRa Drone Detector запущен...");
LoRa.setPins(SS, RST, DI0);
if (!LoRa.begin(915E6)) { // Измени на 433E6, если у тебя 433 МГц
Serial.println("Ошибка инициализации LoRa!");
while (1);
}
LoRa.onCadDone(onCadDone);
LoRa.cad(); // Запуск первого сканирования
}
void loop() {
// Всё обрабатывается в прерывании
delay(1000);
}
// Подходит для обнаружения ELRS-дронов
#define SCK 18
#define MISO 19
#define MOSI 23
#define SS 5
#define RST 14
#define DI0 2
#include <SPI.h>
#include <LoRa.h>
const int RSSI_HISTORY_SIZE = 5; // Сколько замеров хранить
int rssiHistory[RSSI_HISTORY_SIZE];
int historyIndex = 0;
bool historyFull = false;
// Порог активности (ниже — шум)
const int RSSI_THRESHOLD = -90; // dBm, зависит от антенны и местности
void updateRssiTrend(int rssi) {
rssiHistory[historyIndex] = rssi;
historyIndex = (historyIndex + 1) % RSSI_HISTORY_SIZE;
if (historyIndex == 0) historyFull = true;
if (!historyFull) return;
// Простой тренд: сравниваем начало и конец окна
int startAvg = 0, endAvg = 0;
for (int i = 0; i < RSSI_HISTORY_SIZE/2; i++) {
startAvg += rssiHistory[i];
endAvg += rssiHistory[RSSI_HISTORY_SIZE/2 + i];
}
startAvg /= (RSSI_HISTORY_SIZE/2);
endAvg /= (RSSI_HISTORY_SIZE/2);
Serial.print("RSSI: ");
Serial.print(rssi);
Serial.print(" dBm | тренд: ");
if (endAvg - startAvg > 3) {
Serial.println("🟢 ПРИБЛИЖАЕТСЯ");
} else if (startAvg - endAvg > 3) {
Serial.println("🔴 УДАЛЯЕТСЯ");
} else {
Serial.println("⏸️ НЕИЗВЕСТНО");
}
}
void onCadDone(bool signalDetected) {
if (signalDetected) {
// Быстро включаем приём, чтобы получить RSSI
LoRa.receive(); // Переключаемся в приём
delay(2); // Даём чуть времени (ELRS пакеты короткие)
int rssi = LoRa.packetRssi(); // Читаем RSSI последнего "почти пакета"
if (rssi > RSSI_THRESHOLD) {
updateRssiTrend(rssi);
}
}
// Сразу возобновляем CAD
LoRa.cad();
}
void setup() {
Serial.begin(115200);
while (!Serial);
Serial.println("LoRa Drone Detector v2 (с оценкой приближения)");
LoRa.setPins(SS, RST, DI0);
// Настройка под ELRS: SF=9, BW=500kHz, CR=4/6 — но для детекции можно и дефолт
if (!LoRa.begin(915E6)) { // ← МЕНЯЙ НА 433E6, ЕСЛИ НАДО
Serial.println("Ошибка LoRa!");
while (1);
}
// Опционально: настройка под ELRS-совместимость (не обязательна для детекции)
// LoRa.setSignalBandwidth(500E3);
// LoRa.setSpreadingFactor(9);
// LoRa.setCodingRate4(6);
LoRa.onCadDone(onCadDone);
LoRa.cad();
}
void loop() {
delay(100); // Почти ничего не делаем — всё в прерывании
}
Но! Если в твоём регионе FPV-дроны летают на 915 МГц по ELRS (а так почти везде вне Европы), — этот детектор будет работать.
Ниже — список доступных на рынке RF-модулей, которые можно использовать для детекции или анализа эфира. Все продаются без лицензии в РФ и СНГ, если мощность ≤ 10 мВт (в большинстве случаев).
| Модуль / Чип | Диапазон | Цена (RUB) | Протоколы | Подходит для детекции? |
|---|---|---|---|---|
| SX1278 | 433 / 868 / 915 МГц | 300–600 ₽ | LoRa, FSK | ✅ Да (LoRa-сигналы: ELRS, LoRaWAN) |
| ESP32 (встроенный Wi-Fi/BT) | 2.4 ГГц | 400–700 ₽ | Wi-Fi, Bluetooth | ⚠️ Только если дрон использует Wi-Fi (редко у FPV) |
| nRF24L01+ | 2.4 ГГц | 100–200 ₽ | Proprietary 2.4G, ShockBurst | ⚠️ Может ловить некоторые дешёвые игрушечные дроны, но не FPV |
| CC1101 | 300–1000 МГц | 250–400 ₽ | OOK, ASK, FSK, GFSK | ✅ Да! FrSky, FlySky, DSMX, некоторые пульты |
| Si4432 / Si4463 | 433 / 868 / 915 МГц | 400–700 ₽ | FSK, GFSK, OOK | ✅ Хорош для FrSky, но сложнее в настройке |
| RTL-SDR Blog V3 | 24 МГц – 1.7 ГГц | 1900–2500 ₽ | Любой сигнал в диапазоне | ✅✅ Отлично! Универсальный детектор (кроме 5.8 ГГц) |
| RX5808 | 5.8 ГГц | 400–700 ₽ | Аналоговое FPV (AM) | ⚠️ Только если сканировать каналы вручную (медленно) |
| HopeRF RFM69 | 433 / 868 / 915 МГц | 350–500 ₽ | FSK, GFSK | ⚠️ Может ловить некоторые протоколы, но не ELRS |
Примечания:
Это не военный радар. Это индикатор радиоактивности в эфире. Если в тишине полей вдруг загорелся — стоит насторожиться. Особенно если ты рядом с линией фронта, лагерем или заброшенным полигоном.
Но за 1500 рублей и пару часов пайки — это уже настоящий DIY-сигнал-разведчик.
Паяльник не обязателен — можно собрать на макетке.
LoRa — тихий, дальнобойный, устойчивый к помехам. Именно поэтому его выбирают для дронов. И именно поэтому его легко поймать — даже на коленке в окопе.
Собирай, тестируй, модифицируй. И не забывай: если сигнал есть — где-то рядом пилот.
Блог только запустил, все статьи генерирую через нейросеть т.к. лень, возможны ошибки. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
Если у вас есть вопросы, или Нашли неточность? пишите в коментах — вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.
Комментарии
Пока нет комментариев. Будьте первым!