Colonel Panic’s Mesh Mapper เป็นโครงการที่ออกแบบมาเพื่อทำแผนที่ของโดรนที่ส่งสัญญาณ Remote ID ของ FAA ผ่าน WiFi หรือ Bluetooth โดยสามารถบันทึกข้อมูลตำแหน่ง ความสูง ตำแหน่งของผู้ควบคุม และข้อมูลระบุตัวตนของโดรนได้
โครงการนี้ใช้ ESP32-C3 หรือ ESP32-S3 ในการดักจับสัญญาณ Remote ID ของโดรนที่อยู่ในระยะ แล้วส่งข้อมูลไปยังเว็บแอปพลิเคชัน Python Flask ซึ่งเป็นส่วนหนึ่งของ Mesh Mapper เพื่อแสดงผลและบันทึกข้อมูลแบบเรียลไทม์ Meshtastic ช่วยให้โหนดตรวจจับหลายตัวสามารถแลกเปลี่ยนข้อมูลกันผ่านเครือข่ายแบบ mesh ได้ ดังนั้นจึงสามารถติดตั้ง ESP32 หลายจุดในพื้นที่ เพื่อรับการแจ้งเตือนเมื่อมีโดรนบินเข้ามาในบริเวณบ้านหรือละแวกของคุณได้
แม้ว่าคุณจะสามารถใช้บอร์ด ESP32-C3/S3 และฮาร์ดแวร์ Meshtastic ของคุณเองสำหรับโปรเจกต์นี้ได้ แต่ Colonel Panic ได้ออกแบบ breakout board สำหรับโมดูล XIAO ESP32C3 หรือ ESP32S3 (WiFi & Bluetooth) และ Heltec LoRa 32 V3 ที่เชื่อมต่อผ่านพอร์ต serial เพื่อให้ใช้งานได้ง่ายขึ้น อุปกรณ์อย่าง XIAO ESP32S3 for Meshtastic & LoRa devkit ก็อาจใช้งานได้เช่นกัน แต่เท่าที่ทราบยังไม่มีการทดสอบกับ Mesh Mapper โดยตรง

โมดูล ESP32 จะทำงานด้วยเฟิร์มแวร์ Mesh Mapper สำหรับส่งต่อข้อมูล Remote ID ของโดรนผ่าน WiFi/Bluetooth ไปยัง Meshtastic ส่วนโมดูล Heltec LoRa จะรันเฟิร์มแวร์ Meshtastic เท่านั้น คุณสามารถหาโค้ดต้นฉบับของเฟิร์มแวร์และทรัพยากรที่จำเป็นสำหรับเริ่มต้นใช้งานได้บน GitHub.
การติดตั้งและใช้งานเซิร์ฟเวอร์ Mesh Mapper นั้นทำได้ง่าย ขั้นตอนที่เราทำบน Ubuntu 24.04 มีดังนี้:
1 2 3 4 5 6 |
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 |
นี่คือผลลัพธ์จากคำสั่งสุดท้าย:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
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, ดังนั้นเรามาลองเปิดดูเลย:
ถ้าคุณยังไม่มีฮาร์ดแวร์อยู่ในมือ คุณสามารถจำลองโดรนได้ด้วย “Arizona Desert Test Suite” ที่อยู่ใน mapper_test มาลองใช้งานกัน:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
(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 |
ตอนนี้เราสามารถเห็นโดรนห้าลำบนหน้าเว็บ โดยมีการอัปเดตตำแหน่งแบบเรียลไทม์แล้ว
MAC addresses ของโดรนจะแสดงอยู่ในหน้าจอจำลอง แต่คุณสามารถสร้างชื่อเล่น (alias) เพื่อให้แสดงชื่อที่อ่านง่ายและเข้าใจมากขึ้นได้ Colonel Panic ยังได้แชร์คำแนะนำที่ละเอียดกว่า พร้อมภาพหน้าจอบางส่วนไว้บน on Hackster.io. So let’s have a quick look.
ภาพหน้าจอด้านบนแสดงแผนที่ที่มีโดรนห้าลำจากการจำลอง ส่วนภาพด้านล่างเป็นการซูมเข้ามาและแสดงรายละเอียดเกี่ยวกับโดรนหนึ่งลำและผู้ควบคุมโดรนนั้น
การทดสอบด้วยฮาร์ดแวร์จริงแสดงให้เห็นว่าระยะตรวจจับอยู่ที่ประมาณ 5 กิโลเมตรในสภาพแวดล้อมในเมือง และ 10 ถึง 15 กิโลเมตรในพื้นที่เปิดกว้าง โดยใช้เสาอากาศที่ดีและมีการครอบคลุมซ้อนทับกันเพื่อขจัดจุดบอดเมื่อใช้หลายอุปกรณ์ร่วมกัน
โครงการนี้มีประโยชน์สำหรับการศึกษา การวิจัย การปกป้องความเป็นส่วนตัว และความปลอดภัยส่วนบุคคล เช่น การติดตามกิจกรรมรอบ ๆ สถานที่ที่มีความสำคัญ เช่น บ้านหรือธุรกิจของคุณ หากคุณต้องการใช้ฮาร์ดแวร์ Mesh Detect สำหรับโครงการนี้ Breakout board สามารถซื้อได้ที่ Tindie ในราคา $15 (~500฿) และชุดอุปกรณ์ที่ประกอบเสร็จพร้อมใช้งานราคา $100 (~3,300฿)
มีวิดีโอของ FAA เกี่ยวกับระบบ Remote ID ไว้ด้วย และจากความคิดเห็นใน YouTube พบว่ากฎนี้ครอบคลุมโดรนพลเรือนทุกลำ หลายคนไม่ค่อยพอใจเรื่องนี้เพราะกังวลเรื่องความเป็นส่วนตัว และเพราะโดรนที่มีอยู่เดิมต้องติดตั้งโมดูล Remote ID module, เพิ่มเติมทำให้น้ำหนักเพิ่มขึ้นต้องบอกว่ากฎนี้ไม่จำกัดเฉพาะในสหรัฐฯ เท่านั้นเพราะในสหภาพยุโรปมีข้อบังคับ Remote ID ของตัวเอง รวมถึงประเทศอื่น ๆ เช่น ญี่ปุ่น ออสเตรเลีย ส่วนประเทศไทยขณะนี้ยังไม่มีการบังคับใช้ระบบ Remote ID สำหรับโดรนอย่างเป็นทางการ
;
แปลจากบทความภาษาอังกฤษ : Map Remote ID-enabled drones with ESP32-C3/S3 and Meshtastic LoRa modules

บรรณาธิการข่าวและบทความภาษาไทย CNX Software ได้มีความสนใจในด้านเทคโนโลยี โดยเฉพาะ Smart Home และ IoT