Картографирование дронов с поддержкой Remote ID с использованием модулей ESP32-C3/S3 и Meshtastic LoRa

Mesh Mapper от Colonel Panic — проект для отслеживания дронов, транслирующих Remote ID FAA по Wi-Fi или Bluetooth с данными о местоположении, высоте, позиции оператора и идентификацией.

В проекте используется ESP32-C3 или ESP32-S3 для захвата передач Remote ID в пределах досягаемости, после чего данные передаются в веб-приложение Python Flask, входящее в Mesh Mapper, обеспечивающее визуализацию и логирование в реальном времени. Meshtastic позволяет нескольким узлам детекции обмениваться информацией через mesh-сеть, что дает возможность развернуть несколько устройств ESP32 в зоне и получать оповещения о пролетах дронов над частной территорией или районом.

Mesh Detect ESP32-S3 LoRaWAN board

Хотя можно использовать собственные платы ESP32-C3/S3 и оборудование Meshtastic, Colonel Panic разработал плату расширения для XIAO ESP32C3 или ESP32S3 модуля Wi-Fi & Bluetooth и Heltec LoRa 32 V3 с последовательным соединением для упрощения сборки. Устройства вроде XIAO ESP32S3 for Meshtastic & LoRa devkit также подойдут, но их совместимость с Mesh Mapper не тестировалась.

Mesh Detect Breakout board
Плата расширения Mesh Detect

Модуль ESP32 работает с прошивкой Mesh Mapper для передачи данных Remote ID дронов по Wi-Fi/Bluetooth в Meshtastic, а Heltec LoRa использует стандартную прошивку Meshtastic. Исходный код прошивки и ресурсы доступны на GitHub .

Установка и запуск сервера Mesh Mapper выполняется просто. Процесс для Ubuntu 24.04:

git clone https://github.com/colonelpanichacks/drone-mesh-mapper/
cd drone-mesh-mapper
python3 -m venv venv
source venv/bin/activate
pip3 install Flask Flask-SocketIO pyserial requests urllib3 python-socketio eventlet
python3 mesh-mapper.py

Вывод или последняя команда:

Updated session KML: /home/jaufranc/edev/sandbox/drone-mesh-mapper/detections_20250605_100520.kml
Updated cumulative KML: /home/jaufranc/edev/sandbox/drone-mesh-mapper/cumulative.kml
2025-06-05 10:05:20,320 - INFO - __main__ - No saved webhook URL file found
2025-06-05 10:05:20,320 - INFO - __main__ - Session state cleared - fresh session initialized
2025-06-05 10:05:20,321 - INFO - __main__ - Starting Drone Mapper...
2025-06-05 10:05:20,321 - INFO - __main__ - Headless mode: False
2025-06-05 10:05:20,321 - INFO - __main__ - Auto-start enabled: True
2025-06-05 10:05:20,321 - INFO - __main__ - Port monitoring interval: 10s
2025-06-05 10:05:20,321 - INFO - __main__ - === DRONE MAPPER STARTUP ===
2025-06-05 10:05:20,321 - INFO - __main__ - Loading previously saved ports...
2025-06-05 10:05:20,321 - INFO - __main__ - Loading previously saved webhook URL...
2025-06-05 10:05:20,321 - INFO - __main__ - No previously saved ports found.
2025-06-05 10:05:20,321 - INFO - __main__ - Starting port monitoring thread...
2025-06-05 10:05:20,321 - INFO - __main__ - Port monitoring thread started
2025-06-05 10:05:20,322 - INFO - __main__ - WebSocket broadcaster thread started
2025-06-05 10:05:20,322 - INFO - __main__ - === STARTUP COMPLETE ===
2025-06-05 10:05:20,322 - INFO - __main__ - Cleanup timer started
2025-06-05 10:05:20,322 - INFO - __main__ - Starting web interface on port 5000
2025-06-05 10:05:20,322 - INFO - __main__ - Access the interface at: http://localhost:5000
2025-06-05 10:05:20,326 - INFO - __main__ - Port availability changed. Current ports: {'/dev/ttyS8', '/dev/ttyS10', '/dev/ttyS25', '/dev/ttyS1', '/dev/ttyS29', '/dev/ttyS14', '/dev/ttyS20', '/dev/ttyS11', '/dev/ttyS2', '/dev/ttyS31', '/dev/ttyS13', '/dev/ttyS15', '/dev/ttyS26', '/dev/ttyS17', '/dev/ttyS9', '/dev/ttyS22', '/dev/ttyS12', '/dev/ttyS18', '/dev/ttyS7', '/dev/ttyS30', '/dev/ttyS6', '/dev/ttyS27', '/dev/ttyS23', '/dev/ttyS21', '/dev/ttyS19', '/dev/ttyS4', '/dev/ttyS16', '/dev/ttyS28', '/dev/ttyS24', '/dev/ttyS0', '/dev/ttyS5', '/dev/ttyS3'}

Указано, что веб-интерфейс доступен по адресу http://localhost:5000:

Mesh Mapper Web UI Без физического оборудования можно имитировать дроны с помощью «Arizona Desert Test Suite» в mapper_test:

(venv) jaufranc@CNX-LAPTOP-5:~/edev/sandbox/drone-mesh-mapper/mapper_test$ python3 mapper_test.py 
Initialized Desert Eagle (MAC: AA:BB:CC:DD:EE:01) at lat 33.540246, lng -111.792698
Initialized Cactus Hawk (MAC: AA:BB:CC:DD:EE:02) at lat 33.617131, lng -112.015625
Initialized Saguaro Scout (MAC: AA:BB:CC:DD:EE:03) at lat 33.587863, lng -112.063868
Initialized Mesa Phantom (MAC: AA:BB:CC:DD:EE:04) at lat 33.684548, lng -111.828421
Initialized Sonoran Surveyor (MAC: AA:BB:CC:DD:EE:05) at lat 33.363335, lng -111.948921

============================================================
ARIZONA DESERT DRONE TEST CONFIGURATION
============================================================
Test Area: Arizona Sonoran Desert
Center: 33.494200, -111.926100
Bounds: N33.700 S33.300 E-111.700 W-112.200
Area Size: ~50km x 50km

Drone 1: Desert Eagle
  MAC: AA:BB:CC:DD:EE:01
  Basic ID: AZTEST001
  Start Position: 33.540246, -111.792698
  Pilot Position: 33.510668, -111.798463
  Flight Pattern: circular
  FAA Registration: DJI Phantom 4

Drone 2: Cactus Hawk
  MAC: AA:BB:CC:DD:EE:02
  Basic ID: AZTEST002
  Start Position: 33.617131, -112.015625
  Pilot Position: 33.599272, -112.022477
  Flight Pattern: circular
  FAA Registration: Skydio Air 2S

Drone 3: Saguaro Scout
  MAC: AA:BB:CC:DD:EE:03
  Basic ID: AZTEST003
  Start Position: 33.587863, -112.063868
  Pilot Position: 33.553873, -112.032204
  Flight Pattern: search_pattern
  FAA Registration: Parrot ANAFI

Drone 4: Mesa Phantom
  MAC: AA:BB:CC:DD:EE:04
  Basic ID: AZTEST004
  Start Position: 33.684548, -111.828421
  Pilot Position: 33.700000, -111.789722
  Flight Pattern: linear
  FAA Registration: Yuneec Phantom 4

Drone 5: Sonoran Surveyor
  MAC: AA:BB:CC:DD:EE:05
  Basic ID: AZTEST005
  Start Position: 33.363335, -111.948921
  Pilot Position: 33.319650, -111.935694
  Flight Pattern: circular
  FAA Registration: Skydio Phantom 4

✓ Successfully connected to mesh-mapper at http://localhost:5000

🏜️  Starting Arizona Desert Drone Simulation
   Duration: 30 minutes
   Update interval: 2.0 seconds
   Test area: {'north': 33.7, 'south': 33.3, 'east': -111.7, 'west': -112.2}
   Number of drones: 5
============================================================
Started simulation thread for Desert Eagle
Started simulation thread for Cactus Hawk
Started simulation thread for Saguaro Scout
Started simulation thread for Sonoran Surveyor
Started simulation thread for Mesa Phantom
🛩️  Desert Eagle: lat 33.497462, lng -111.916647, alt 158.9m, RSSI -50.2dBm
🛩️  Cactus Hawk: lat 33.502284, lng -111.931986, alt 358.1m, RSSI -52.5dBm
🛩️  Saguaro Scout: lat 33.587862, lng -112.063868, alt 296.6m, RSSI -45.6dBm
🛩️  Mesa Phantom: lat 33.684547, lng -111.828422, alt 152.3m, RSSI -47.1dBm
🛩️  Sonoran Surveyor: lat 33.484349, lng -111.927819, alt 270.4m, RSSI -56.7dBm
🛩️  Desert Eagle: lat 33.497318, lng -111.916599, alt 157.0m, RSSI -47.2dBm

В веб-интерфейсе отображаются пять дронов с обновлением местоположения в реальном времени.

Mesh Mapper Drone Simluation В симуляции показываются MAC-адреса дронов, но можно задать псевдонимы для удобочитаемых имен. Подробные инструкции и скриншоты Colonel Panic опубликовал на Hackster.io .

Mesh Mapper Map drone detection

На скриншоте выше показана карта с пятью дронами из симуляции, а ниже — увеличенный фрагмент с деталями об одном из дронов и его операторе.

Mesh Mapper Remote ID Drone Mapping

Тестирование с оборудованием выявило диапазон обнаружения до 5 км в городских условиях и 10–15 км на открытой местности при использовании качественных антенн и перекрывающегося покрытия нескольких устройств, исключающего мертвые зоны.

Проект полезен для образования, исследований, защиты конфиденциальности и личной безопасности: мониторинг активности вокруг чувствительных объектов, таких как дом или бизнес. Плата расширения Mesh Detect продается на Tindie за $15 , а собранный комплект — за $100.

В примечании указано, что видео FAA о Remote ID относится к большинству гражданских дронов. Многие пользователи выражают недовольство из-за проблем конфиденциальности и необходимости дооснащения существующих дронов модулем Remote ID , увеличивающим их вес. Отмечается, что аналогичные требования действуют не только в США: Европейский союз имеет свои правила Remote ID , как и другие страны (Япония, Австралия и т.д.).

Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments