ใช้ ESP32-S3 รับสัญญาณ ADS-B และแสดงข้อมูลเครื่องบินผ่านเว็บ

GLOBALBYTE / MAKER PROJECTS / ESP32-S3 / RADIO

ADS-B คืออะไร? ESP32-S3 รับข้อมูลเครื่องบินได้อย่างไร

เวลามีเครื่องบินบินผ่านเหนือบ้าน เคยสงสัยไหมว่าเป็นเครื่องบินลำไหน กำลังบินไปทางไหน และอยู่สูงแค่ไหน? ข้อมูลบางส่วนเหล่านี้รับได้จากสัญญาณ ADS-B และมี Maker ทดลองสร้างเครื่องรับขนาดเล็กด้วยบอร์ด ESP32-S3 เพื่อนำข้อมูลมาแสดงบนแผนที่ผ่านเว็บเบราว์เซอร์

โปรเจกต์ของ thefatmoop ใช้บอร์ด Meshnology W12 ที่มี ESP32-S3 และวิทยุ LR2021 จับสัญญาณเครื่องบินที่ความถี่ 1090 MHz ก่อนประมวลผลแล้วแสดงบน Web Dashboard โดยไม่ต้องใช้ Raspberry Pi หรือ SDR Dongle แยกสำหรับการรับสัญญาณ มาดูกันว่าระบบนี้ทำงานอย่างไร และมีข้อจำกัดอะไรที่ต้องรู้ก่อนลองทำตาม

ตัวเครื่อง ESP32-S3 ADS-B Receiver ที่ประกอบจากบอร์ด Meshnology W12 พร้อมจอ OLED และเคส
เครื่องรับ ADS-B ที่ประกอบเสร็จของผู้สร้าง — ภาพจาก GitHub ต้นฉบับ

ADS-B คืออะไร? ทำไมเราถึงรับข้อมูลเครื่องบินได้

ADS-B (Automatic Dependent Surveillance–Broadcast) เป็นระบบที่อากาศยานซึ่งติดตั้งอุปกรณ์รองรับใช้กระจายข้อมูลเกี่ยวกับการบินออกมา ทำให้เครื่องรับภาคพื้นดินที่อยู่ในระยะสัญญาณสามารถนำข้อมูลไปประมวลผลได้

สำหรับคนเริ่มต้น ให้นึกภาพเหมือนเครื่องบินกำลังส่งข้อความบอกตำแหน่งและสถานะของตัวเองเป็นระยะ เครื่องรับ ADS-B มีหน้าที่ฟังข้อความเหล่านั้น แล้วแปลงให้กลายเป็นข้อมูลที่อ่านเข้าใจง่าย เช่น หมายเลขระบุเครื่องบิน ชื่อเรียกขาน ความสูง ความเร็ว หรือทิศทาง

ต่างจากการเปิดแผนที่เที่ยวบินบนบริการออนไลน์ โปรเจกต์นี้เน้น รับสัญญาณวิทยุจากเครื่องบินด้วยอุปกรณ์ของเราเอง แต่จะมองเห็นเฉพาะข้อมูลที่ระบบรับได้จริง ไม่ได้หมายความว่าจะตรวจพบเครื่องบินทุกลำที่บินอยู่บนท้องฟ้า

ESP32-S3 กับ LR2021 ทำงานร่วมกันอย่างไร?

โครงการเลือกใช้ Meshnology W12 ซึ่งรวม ESP32-S3 กับ LR2021 ไว้บนบอร์ดเดียว หน้าที่ของอุปกรณ์แต่ละส่วนแตกต่างกัน และนั่นคือหัวใจที่ทำให้เกิดเครื่องรับ ADS-B ขนาดเล็กนี้

  1. เสาอากาศ รับสัญญาณวิทยุจากเครื่องบินที่ใช้ ADS-B 1090 MHz
  2. LR2021 จับข้อมูลสัญญาณแบบ OOK/Manchester ที่ใช้ในโปรเจกต์
  3. ESP32-S3 ตรวจสอบ CRC ถอดรหัสข้อความ และจัดการรายการเครื่องบินที่ได้รับ
  4. Web UI และ OLED แสดงข้อมูลที่รับได้ให้ผู้ใช้ดูผ่านเว็บเบราว์เซอร์หรือหน้าจอบนบอร์ด
จุดเด่นสำหรับ Maker: ผู้สร้างทำให้เครื่องรับประมวลผลข้อมูลได้ภายในตัว ไม่ต้องมีคอมพิวเตอร์หรือบริการบน Cloud คอยถอดรหัสข้อความ ADS-B ให้ตลอดเวลา อย่างไรก็ตาม การเปิดหน้าเว็บจากโทรศัพท์หรือคอมพิวเตอร์ยังต้องเชื่อมต่อเครือข่ายภายในที่เข้าถึงตัวเครื่องรับได้

โปรเจกต์นี้ต้องใช้อุปกรณ์อะไรบ้าง?

แม้ชื่อโปรเจกต์จะมีคำว่า ESP32-S3 แต่ไม่ได้หมายความว่า ESP32-S3 ทุกรุ่นจะทำแทนกันได้ เพราะความสามารถรับสัญญาณส่วนนี้ขึ้นอยู่กับบอร์ดและภาครับวิทยุด้วย

อุปกรณ์ หน้าที่ สิ่งที่ควรรู้
Meshnology W12 บอร์ดหลักที่มี ESP32-S3R8 และ LR2021 Firmware นี้ออกแบบสำหรับ W12 ตาม Revision ที่ผู้สร้างอ้างอิง ไม่ใช่ ESP32 หรือ LoRa Board ทุกรุ่น
เสาอากาศ ADS-B 1090 MHz รับสัญญาณจากเครื่องบิน README แนะนำเสา 50 Ω สำหรับ 1090 MHz แม้การทดลองระยะไกลจะใช้เสา 915 MHz
RF Pigtail / Adapter เชื่อมเสาอากาศกับขั้ว RF บนบอร์ด ต้องตรวจชนิดขั้วและด้าน SMA ให้ตรงกับอุปกรณ์จริง
สาย USB-C สำหรับ Data และไฟ 5V แฟลช Firmware และจ่ายไฟ สายที่ชาร์จได้อย่างเดียวอาจแฟลช Firmware ไม่ได้
GNSS Module ที่เข้ากันได้ ระบุตำแหน่งของเครื่องรับ อุปกรณ์เสริม ไม่จำเป็นต่อการรับ ADS-B
เคสและอุปกรณ์ติดตั้ง จัดวางบอร์ดและอุปกรณ์ มีไฟล์ STL สำหรับพิมพ์เคส 2 ชิ้น

รายละเอียด Board Revision, Pinout และการดัดแปลง RF ให้ยึด Hardware Guide ของผู้สร้าง และ เอกสาร Meshnology W12 เป็นหลัก

รับสัญญาณไกล 278 กม. จริงไหม? และทำไมต้องดัดแปลง Filter

ในข่าว Hackaday ผู้สร้างรายงานว่ารับข้อมูลจากเครื่องบินได้ไกลถึง 150 ไมล์ทะเล หรือประมาณ 278 กิโลเมตร ด้วยเสาอากาศ 915 MHz ภายในอาคาร แต่ผลนี้เกิดจากบอร์ด W12 ที่ผ่านการปรับปรุงเส้นทางรับสัญญาณ RF แล้ว ไม่ใช่ระยะที่รับประกันว่าจะทำได้เหมือนกันทุกสถานที่

เหตุผลคือเส้นทางรับสัญญาณ LF/sub-GHz เดิมบน W12 มีตัวกรอง SAW ที่ออกแบบสำหรับช่วง 902–928 MHz ซึ่งลดทอนสัญญาณ ADS-B 1090 MHz ผู้สร้างจึงทำการ Bypass ตัวกรองที่ตำแหน่ง U12 สำหรับชุดที่ทดสอบ และระบุว่า HF/2.4 GHz Input รับได้โดยไม่ต้องดัดแปลงตำแหน่งนี้ แต่ระยะรับในผลทดสอบด้อยกว่ามาก

ภาพประกอบตำแหน่ง SAW Filter U12 บนบอร์ด Meshnology W12
ภาพระบุตำแหน่ง U12 จากคู่มือ Hardware ของผู้สร้าง เป็นภาพประกอบการประกอบ — ดูรูปต้นฉบับ
ภาพประกอบการ Bypass SAW Filter U12 ด้วยสายเชื่อม Pad บนบอร์ด W12
ภาพประกอบแนวทาง Bypass Filter จากเอกสารโครงการ ไม่ใช่ภาพถ่ายรอยบัดกรีจริง — ดูรูปต้นฉบับ

ข้อมูลเครื่องบินแสดงบน Web Dashboard ได้อย่างไร?

หลัง ESP32-S3 ถอดรหัสข้อความสำเร็จ เครื่องรับจะแสดงรายการและตำแหน่งเครื่องบินบนหน้าเว็บที่เปิดจากอุปกรณ์ในเครือข่ายเดียวกัน มีข้อมูลอย่าง Callsign ความสูง ความเร็ว ทิศทาง และสถานะการรับสัญญาณ พร้อมจอ OLED บนตัวบอร์ดสำหรับดูสถานะเบื้องต้น

ตัวอย่าง Dashboard แผนที่ติดตามเครื่องบินของ ESP32-S3 ADS-B Receiver บนคอมพิวเตอร์
ตัวอย่าง Web Dashboard บน Desktop — ภาพจากผู้สร้างใช้ข้อมูลเครื่องบินจำลองและตำแหน่งเครื่องรับตัวอย่าง ดูรูปต้นฉบับ
ตัวอย่าง Web Dashboard ของเครื่องรับ ADS-B เมื่อเปิดบนหน้าจอมือถือ
มุมมอง Web UI บนมือถือ (ข้อมูลจำลอง) — ดูรูปต้นฉบับ
ภาพหน้าตัวอย่างข้อมูลเครื่องบินที่แสดงในระบบ Web UI ของเครื่องรับ ADS-B
รายละเอียดการแสดงข้อมูลเครื่องบินใน Web UI จากโครงการ (ข้อมูลตัวอย่าง) — ดูรูปต้นฉบับ

จำเป็นต้องต่ออินเทอร์เน็ตตลอดเวลาหรือไม่?

ไม่จำเป็นสำหรับการรับ ADS-B, ระบบวินิจฉัย และแผนที่ออฟไลน์ที่บรรจุมาใน Firmware แต่ แผนที่ออฟไลน์เป็นข้อมูลสหรัฐอเมริกา รวมถึง Alaska และ Hawaii ไม่ใช่แผนที่ประเทศไทย ส่วนแผนที่ออนไลน์และการค้นหารุ่น/ภาพเครื่องบินจากบริการภายนอกต้องใช้อินเทอร์เน็ต

Firmware v1.0.1 อัปเดตข้อมูลจากเครื่องรับที่ 2 Hz และใช้การแสดงผลเคลื่อนไหวบน Browser เพื่อให้ดูต่อเนื่องขึ้น ภาพเคลื่อนไหวหรือการคาดการณ์ตำแหน่งระหว่างสัญญาณขาดช่วงไม่ใช่ตำแหน่งที่วัดใหม่จากเครื่องบินทุกเฟรม

ถ้าอยากทดลอง ADS-B Receiver ต้องเริ่มตรงไหน?

สำหรับคนที่เพิ่งรู้จักโครงการนี้ ควรเริ่มจากตรวจรายการอุปกรณ์และอ่านข้อจำกัดก่อน ไม่จำเป็นต้องเริ่มจากการบัดกรีทันที โดยลำดับภาพรวมที่ผู้สร้างแนะนำมีดังนี้

  1. ตรวจบอร์ด: ต้องเป็น W12 รุ่นและ Revision ที่ตรงกับเอกสาร ไม่ใช่บอร์ด ESP32 LoRa ทั่วไป
  2. ศึกษาเส้นทางสัญญาณ RF: เลือกวิธีใช้ LF ที่ดัดแปลงตามคู่มือหรือ HF Input ที่ผู้สร้างระบุว่ารับได้แต่มีข้อจำกัดด้านระยะ
  3. ตรวจอุปกรณ์รับ: เตรียมเสาอากาศและสายเชื่อมต่อที่เหมาะกับพอร์ตจริง
  4. ติดตั้ง Firmware: ดาวน์โหลด Release และทำตามเอกสาร Installation ของผู้สร้าง
  5. เปิด Web UI: ตั้งค่า Wi-Fi ในเครือข่ายที่เชื่อถือได้ แล้วดู IP เครื่องรับจากจอ OLED เพื่อเปิด Dashboard
  6. ตรวจผล: ดูข้อมูลที่รับได้และ Receiver Diagnostics โดยไม่สรุปผลจากจำนวนข้อความในช่วงเวลาสั้น ๆ เพียงอย่างเดียว
ก่อน Flash: คำสั่งติดตั้งแบบ Factory ที่ผู้สร้างให้มีขั้นตอนลบ Flash ซึ่งจะลบการตั้งค่าที่บันทึกไว้ รวมถึงข้อมูล Wi-Fi เดิม ต้องสำรองข้อมูลที่ต้องการเก็บ และอ่าน คู่มือ Flashing & Setup ให้ครบ ไม่ควรใช้ไฟล์ Firmware นี้กับ ESP32-S3 หรือบอร์ดวิทยุรุ่นอื่นโดยไม่ตรวจความเข้ากันได้

ตัวอย่างคำสั่งจากเอกสารโครงการ

ผู้สร้างให้คำสั่งติดตั้งเครื่องมือ Esptool สำหรับคอมพิวเตอร์ไว้ในเอกสารอย่างเป็นทางการ ส่วนคำสั่งลบ/เขียน Flash ต้องอ่านข้อกำหนดและตรวจอุปกรณ์ก่อนใช้งาน

ติดตั้ง Esptool — จาก docs/INSTALL.md
python -m pip install esptool

คำสั่งด้านบนเป็นเพียงการติดตั้งเครื่องมือ ไม่ได้ Flash Firmware ลงบอร์ด การใช้งานขั้นต่อไปให้ยึด คำสั่งต้นฉบับใน Installation Guide

ข้อควรระวังด้านเครือข่าย: Web UI และ TCP Listener ของโปรเจกต์ไม่ได้ออกแบบให้เปิดเผยสู่ Public Internet โดยตรง ให้ใช้งานภายในเครือข่ายที่เชื่อถือได้

อยากทำเป็นเครื่องใช้งานจริง? มีเคส 3D Print ให้ดาวน์โหลด

ผู้สร้างมีไฟล์ lid.stl และ back.stl สำหรับเคสสองส่วน เพื่อจัดวางบอร์ด จอ OLED และอุปกรณ์ภายใน โดยภาพประกอบแสดงตำแหน่งโมดูล GNSS และเสาอากาศภายในของชุดต้นแบบ

ภาพภายในเคส 3D Print ของเครื่องรับ ADS-B ESP32-S3 ที่แสดงการจัดวางบอร์ดและโมดูล
ภาพด้านในเคสต้นแบบจากผู้สร้าง — ดูรูปต้นฉบับ

คู่มือระบุการใช้สกรู M3×8 มม. หนึ่งตัวร่วมกับสกรูจากฝาครอบ OLED เดิม แต่ไฟล์ที่เผยแพร่เป็น STL Mesh ไม่ใช่ Editable CAD และ Source ไม่ได้ระบุ Slicer Profile, Layer Height, Infill หรืออุณหภูมิพิมพ์ที่รับรองผลไว้ จึงต้องตรวจขนาดและความพอดีของอุปกรณ์จริงก่อนผลิต

รวมไฟล์ Firmware, STL, Schematic และ Source Code

โครงการเผยแพร่ Source Code และไฟล์ติดตั้งผ่าน GitHub เพื่อให้ผู้ที่มีอุปกรณ์ตรงตามข้อกำหนดศึกษาต่อได้ ดาวน์โหลดจากหน้าที่ผู้สร้างเผยแพร่โดยตรง และตรวจชื่อเวอร์ชันทุกครั้งก่อนใช้

Firmware v1.0.1 (26 ตุลาคม 2026)

ไฟล์เก่าและเอกสารทางเทคนิค

เกี่ยวกับวิดีโอ: README และรายการไฟล์ต้นฉบับที่ตรวจสอบไม่มีลิงก์วิดีโอสาธิตจากผู้สร้างที่ยืนยันได้ บทความจึงใช้ภาพจริงและเอกสารของโปรเจกต์แทน ไม่ฝังวิดีโอจากโครงการอื่นเพื่อให้ผู้อ่านเข้าใจผิด

Maker ได้เรียนรู้อะไรจากโปรเจกต์นี้?

สิ่งที่น่าสนใจของงานนี้ไม่ใช่แค่การแสดงตำแหน่งเครื่องบิน แต่เป็นการทดลองนำวิทยุที่ไม่ได้ออกแบบมาเป็นเครื่องรับ ADS-B โดยตรง มาศึกษาการถอดรหัสสัญญาณ การจัดการข้อมูลบน Microcontroller และการพัฒนา Web UI ภายในอุปกรณ์เดียวกัน

ในมุม Maker โปรเจกต์นี้เป็นตัวอย่างของการอ่าน Datasheet ให้ตรงกับฮาร์ดแวร์จริง การตรวจข้อจำกัดของภาครับ RF การออกแบบเคสด้วย 3D Printing และการแยก ผลการทดลองของผู้สร้าง ออกจาก ประสิทธิภาพที่ผู้ผลิตรับรอง ซึ่งสำคัญไม่แพ้การทำให้วงจรทำงานได้

FAQ — คำถามที่พบบ่อยเกี่ยวกับ ADS-B Receiver

1. ADS-B Receiver ใช้ทำอะไร?

ใช้รับข้อความ ADS-B ที่เครื่องบินซึ่งติดตั้งระบบรองรับส่งออกมา แล้วนำมาถอดรหัสและแสดงข้อมูลที่รับได้ เช่น ตำแหน่ง ความสูง ความเร็ว และทิศทาง

2. ใช้ ESP32-S3 ธรรมดารับ ADS-B ได้เลยไหม?

ไม่ได้ตามรูปแบบของโครงการนี้ เพราะต้องมีภาครับวิทยุที่เหมาะสมด้วย ผู้สร้างใช้ Meshnology W12 ที่มีทั้ง ESP32-S3 และ LR2021 ไม่ใช่ ESP32-S3 เพียงลำพัง

3. เครื่องรับนี้ทำงานที่ความถี่เท่าไร?

โปรเจกต์รับข้อมูล ADS-B ที่ 1090 MHz ซึ่งอยู่นอกช่วงรับที่ผู้ผลิต LR2021 และภาครับ W12 ประกาศรองรับตามปกติ

4. รับเครื่องบินได้ไกล 278 กม. ทุกครั้งหรือไม่?

ไม่ใช่ ระยะประมาณ 278 กม. เป็นผลทดลองที่ผู้สร้างรายงานจากบอร์ดดัดแปลงและเสา 915 MHz ภายในอาคาร ระยะจริงขึ้นอยู่กับตำแหน่ง เสาอากาศ สิ่งกีดขวาง และปัจจัยอื่น

5. ต้องใช้ Raspberry Pi หรือ SDR Dongle ไหม?

ไม่จำเป็นสำหรับโปรเจกต์นี้ เพราะ W12 รับและประมวลผลข้อมูลด้วย ESP32-S3 และ LR2021 ตามที่ผู้สร้างออกแบบ

6. ต้องมีอินเทอร์เน็ตตลอดเวลาหรือไม่?

ไม่ต้องมีอินเทอร์เน็ตสำหรับการรับสัญญาณและแผนที่ USA แบบออฟไลน์ แต่การเปิด Dashboard จากอุปกรณ์อื่นยังต้องเชื่อมต่อเครือข่ายภายใน ส่วนแผนที่ออนไลน์ต้องใช้อินเทอร์เน็ต

7. แผนที่ใน Firmware มีประเทศไทยไหม?

แผนที่ออฟไลน์ที่มาพร้อม Firmware เป็นแผนที่สหรัฐอเมริกา Source ไม่ได้ระบุว่ามีแผนที่ประเทศไทยแบบออฟไลน์ติดตั้งมาด้วย

8. จำเป็นต้องติด GNSS Module หรือไม่?

ไม่จำเป็นต่อการรับ ADS-B แต่สามารถเพิ่มโมดูล GNSS ที่รองรับ เพื่อระบุตำแหน่งของเครื่องรับบนแผนที่ได้

9. ต้องดัดแปลง SAW Filter หรือไม่?

ผู้สร้างระบุว่าการใช้ LF Path เพื่อให้ได้ผลการรับที่ดีกว่าตามการทดสอบ ต้อง Bypass U12 ส่วน HF Input รับได้โดยไม่ทำจุดนั้น แต่มีระยะต่ำกว่าในผลทดสอบ ต้องอ่านคู่มือและความเสี่ยงก่อนตัดสินใจ

10. โหลด Firmware และ Source Code ได้จากไหน?

สามารถดาวน์โหลดไฟล์ Firmware v1.0.1 ได้จาก GitHub Releases และอ่าน Source Code จาก Repository ของผู้สร้าง โดยเลือกไฟล์ให้ตรงกับวิธีติดตั้งหรืออัปเดต

11. มีไฟล์เคส 3D Print ให้ทำตามไหม?

มีไฟล์ lid.stl และ back.stl แต่ Source ไม่ได้ให้ไฟล์ CAD ที่แก้ไขพารามิเตอร์ได้ หรือ Slicer Profile ที่ระบุการตั้งค่าพิมพ์ครบถ้วน

12. สามารถใช้ Firmware นี้กับบอร์ด SX1262 หรือ W15 ได้ไหม?

ผู้สร้างระบุว่า Firmware นี้ทำมาสำหรับ Meshnology W12 ตามข้อกำหนดของโครงการ ไม่ใช่ Firmware ที่ใช้แทนกันได้กับ W15 หรือบอร์ด SX1262 ทั่วไป

สรุป: บอร์ดขนาดเล็กช่วยให้เราเข้าใจสัญญาณจากเครื่องบินได้

ESP32-S3 ADS-B Receiver ของ thefatmoop เป็นโปรเจกต์ที่ผสมงาน RF, Embedded Systems และ Web Dashboard เข้าด้วยกันได้อย่างน่าสนใจ ทำให้เห็นว่าการทดลองกับฮาร์ดแวร์ Open Source สามารถต่อยอดไปสู่เครื่องมือรับข้อมูลจริงได้อย่างไร

แต่ความสำเร็จของชุดทดลองไม่ได้หมายความว่าทุกบอร์ดจะรับ 1090 MHz ได้เหมือนกัน ก่อนลงมือควรตรวจข้อมูล Hardware Revision การรับสัญญาณนอกช่วงที่ผู้ผลิตระบุ และข้อจำกัดด้านความปลอดภัยควบคู่ไปกับไฟล์ Firmware และเคส 3D Print

References / แหล่งข้อมูลต้นฉบับ

  1. Hackaday — Building An ADS-B Receiver For Less Than You Think (ข่าววันที่ 1 พฤศจิกายน 2026)
  2. thefatmoop — ESP32s3 LR2021 ADSB Receiver (GitHub) (README, ภาพ, Source Code และ Firmware)
  3. Project Hardware Guide (ข้อจำกัดภาค RF และตำแหน่ง U12)
  4. Project Installation Guide (การติดตั้งและอัปเดต Firmware)
  5. Project Enclosure Documentation (STL และการประกอบเคส)
  6. Meshnology — W12 Official Documentation (ข้อมูลผลิตภัณฑ์และข้อกำหนดบอร์ด)

ชอบโปรเจกต์ ESP32 และงาน RF แบบนี้?

GlobalByte ชวนทุกคนมาแลกเปลี่ยนไอเดีย Embedded, ESP32, RF Module และโปรเจกต์ DIY รวมถึงสามารถสอบถามทีมเกี่ยวกับการเลือกอุปกรณ์หรือการประเมินงานพิมพ์ 3D จากไฟล์ STL ได้ โดยยังไม่ได้ยืนยันว่าสินค้าเฉพาะรุ่น Meshnology W12 มีในสต็อก

 

แท็ก


Blog posts