ADS-B چیست؟ (مبتدی)
ADS-B (Automatic Dependent Surveillance-Broadcast) سیستمی است که تمام هواپیماهای تجاری موقعیت GPS، ارتفاع، سرعت، و شناسه خود را روی فرکانس ۱۰۹۰MHz به صورت رادیویی پخش میکنند. این سیگنالها رمزنگاری ندارند و با یک RTL-SDR ساده قابل دریافت هستند!
نرمافزار Dump1090 این سیگنالها را دیکود میکند و یک وبسرور محلی با نقشه هواپیماها میسازد. این پروژه یکی از جذابترین کاربردهای SDR است و درک خوبی از پروتوکلهای هوانوردی میدهد.
محصولی که میسازید
یک ایستگاه ردیابی ADS-B خانگی با نقشه زنده هواپیماهای منطقه.
- هزینه: RTL-SDR ۱۵-۳۰ دلار + نرمافزار رایگان
- برد: ۲۰۰-۴۰۰km با آنتن مناسب
- نمایش: نقشه زنده + اطلاعات پرواز
نصب Dump1090 روی Linux/Raspberry Pi
# نصب وابستگیها:
sudo apt update
sudo apt install -y git build-essential rtl-sdr
# کلون و کامپایل Dump1090:
git clone https://github.com/flightaware/dump1090.git
cd dump1090 && make
# اجرا با نقشه وب:
./dump1090 --interactive --net --net-http-port 8080
# مرورگر را باز کنید:
# http://localhost:8080/
# اجرا در پسزمینه:
./dump1090 --quiet --net --net-http-port 8080 &
# برای Raspberry Pi با Bullseye:
sudo apt install -y dump1090-fa
sudo systemctl enable dump1090-fa
sudo systemctl start dump1090-fa
دیکود دستی ADS-B با Python
import pyModeS as pms
import socket
# اتصال به Dump1090 Beast mode:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("127.0.0.1", 30003)) # CSV output port
for line in s.makefile('r'):
parts = line.strip().split(',')
if len(parts) >= 15 and parts[0] == 'MSG':
icao = parts[4]
callsign = parts[10].strip()
altitude = parts[11]
speed = parts[12]
lat = parts[14]
lon = parts[15] if len(parts)>15 else ''
if lat and lon:
print(f"{callsign} ({icao}): {lat},{lon} ALT:{altitude}ft")
چکلیست آنتن و راهاندازی
| بررسی | توضیح |
|---|---|
| آنتن ¼λ برای 1090MHz؟ | طول = ۶.۸۷cm سیم مستقیم |
| آنتن در بالاترین نقطه ممکن؟ | هر ۱۰m ارتفاع = برد بیشتر |
| Gain در RTL-SDR تنظیم شده؟ | dump1090 –gain 49.6 |
| پیامهای MSG در لاگ؟ | هر چند ثانیه |