رادار زنده هواپیماها

ARDUnia Fly Radar؛ رادار زنده هواپیماها با ESP8266

ARDUnia Fly Radar یک پروژه سخت افزاری و نرم افزاری برای نمایش موقعیت زنده هواپیماهای اطراف است که با برد ESP8266 و نمایشگر گرد GC9A01 ساخته شده است. این دستگاه اطلاعات پرواز را از سرویس ADS-B.fi دریافت می کند و هواپیماهای گزارش شده در شعاع ۴۰ مایل دریایی از موقعیت انتخاب شده را روی صفحه رادار نمایش می دهد. این پروژه نمونه ای عملی از ترکیب میکروکنترلر ESP8266، نمایشگر گرافیکی، ارتباط Wi-Fi، رابط وب و داده های آنلاین هوانوردی است.

سطح پیشرفته

معرفی پروژه

ARDUnia Fly Radar یک رادار نمایشی برای مشاهده موقعیت هواپیماهای اطراف است که با برد ESP8266 و نمایشگر گرد GC9A01 با وضوح 240×240 پیکسل طراحی شده است. دستگاه با اتصال به اینترنت، داده های پرواز را از سرویس ADS-B.fi دریافت می کند و هواپیماهای قابل گزارش در شعاع 40 مایل دریایی از مرکز انتخاب شده را روی صفحه رادار نشان می دهد.

این پروژه علاوه بر نمایشگر، یک رابط وب داخلی دارد که راه اندازی اولیه، انتخاب شبکه Wi-Fi و تنظیم موقعیت جغرافیایی رادار را ساده می کند.

قابلیت های اصلی

  • نمایش موقعیت هواپیماها در یک صفحه رادار دایره ای
  • نمایش حلقه های فاصله، جهت های جغرافیایی و نشانگر هواپیماها
  • نمایش جهت حرکت هواپیما در صورت موجود بودن اطلاعات مسیر
  • پوشش اسمی 40 مایل دریایی از مرکز رادار
  • به روزرسانی داده ها در فاصله زمانی تقریبی 15 ثانیه
  • راه اندازی اولیه از طریق نقطه دسترسی Wi-Fi دستگاه
  • جستجو و انتخاب شبکه های Wi-Fi در رابط وب
  • تنظیم مرکز رادار با مختصات عرض و طول جغرافیایی یا نام شهر
  • ذخیره تنظیمات و اطلاعات شبکه در EEPROM
  • صفحه اطلاعات دستگاه و امکان پاک کردن تنظیمات شبکه ذخیره شده
  • رابط گرافیکی فیروزه ای با هویت بصری ARDUnia

قطعات و تجهیزات مورد نیاز

  • برد توسعه ESP8266 NodeMCU
  • نمایشگر گرد TFT مدل GC9A01 با وضوح 240×240 پیکسل
  • کابل USB و منبع تغذیه مناسب
  • سیم های اتصال و تجهیزات لازم برای مونتاژ

اتصالات نمایشگر

پایه های زیر بر اساس شماره GPIO مورد استفاده در برنامه تعریف شده اند؛ این شماره ها لزوما با برچسب های D روی برد یکسان نیستند.

پایه نمایشگر GC9A01پایه ESP8266
CSGPIO4
DCGPIO5
RSTGPIO16
SCLK / SCLGPIO14
MOSI / SDAGPIO13
VCCمطابق مشخصات ماژول
GNDGND

پیش از اتصال برق، شماره پایه ها، سطح ولتاژ مجاز و مشخصات دقیق ماژول نمایشگر را بررسی کنید.

نرم افزار و کتابخانه ها

برای کامپایل و بارگذاری برنامه به Arduino IDE و بسته بردهای ESP8266 نیاز دارید.

کتابخانه های اصلی:

  • ArduinoJson با API سازگار با نسخه 6
  • Adafruit GFX Library
  • Adafruit GC9A01A

کتابخانه های ESP8266WiFi، ESP8266HTTPClient، WiFiClientSecure، ESP8266WebServer و EEPROM از طریق بسته برد ESP8266 در دسترس هستند.

راه اندازی اولیه

  1. بسته برد ESP8266 و کتابخانه های مورد نیاز را در Arduino IDE نصب کنید.
  2. فایل ARDUnia_Fly_Radar.ino را باز کنید.
  3. برد مناسب ESP8266 و درگاه ارتباطی آن را انتخاب کنید.
  4. برنامه را روی برد بارگذاری کنید.
  5. در راه اندازی اولیه، به شبکه بی سیم ARDUnia-Fly-Radar-Setup متصل شوید.
  6. در مرورگر، نشانی http://192.168.4.1 را باز کنید.
  7. شبکه Wi-Fi مورد نظر را انتخاب کرده و رمز آن را وارد کنید.
  8. مرکز رادار را با مختصات جغرافیایی یا گزینه جستجوی نام شهر تنظیم کنید.
  9. تنظیمات را ذخیره کنید و پس از راه اندازی مجدد، عملکرد دستگاه را بررسی کنید.

نحوه دریافت اطلاعات پرواز

داده های هواپیما از سرویس ADS-B.fi Open Data API دریافت می شوند. برای تبدیل نام شهر به مختصات جغرافیایی نیز از سرویس OpenStreetMap Nominatim استفاده شده است.

عملکرد رادار به اتصال اینترنت، دسترس پذیری سرویس های آنلاین و وجود گزارش های پروازی در منطقه انتخاب شده وابسته است. اطلاعات ممکن است با تاخیر، ناقص یا موقتا غیرقابل دسترس باشند. این دستگاه گیرنده مستقل ADS-B نیست؛ بلکه اطلاعات گزارش شده توسط سرویس آنلاین را نمایش می دهد.

تنظیمات قابل تغییر

  • شعاع رادار: 40 مایل دریایی
  • فاصله به روزرسانی اطلاعات: حدود 15 ثانیه
  • مرکز رادار: عرض و طول جغرافیایی ذخیره شده
  • شبکه Wi-Fi: اطلاعات ذخیره شده در EEPROM

تغییر ثابت های برنامه باید با توجه به محدودیت حافظه ESP8266، مقیاس نمایشگر و نحوه درخواست اطلاعات انجام شود.

نکات امنیتی

در نسخه فعلی، نقطه دسترسی راه اندازی اولیه بدون رمز عبور است و ارتباطات HTTPS با استفاده از WiFiClientSecure::setInsecure() انجام می شوند؛ بنابراین اعتبار گواهی سرور بررسی نمی شود. این پیاده سازی را نباید یک راهکار امنیتی تقویت شده در نظر گرفت. هنگام پیکربندی اولیه، از دستگاه در محیطی قابل اعتماد استفاده کنید.

هشدار ایمنی سخت افزار

این پروژه برای اهداف آموزشی و آزمایشی ارائه شده است. مونتاژ، سیم کشی، تغییر یا استفاده نادرست از مدار می تواند به برد، نمایشگر، سایر قطعات یا تجهیزات متصل آسیب وارد کند. مسئولیت خسارت های سخت افزاری، خرابی قطعات، اشتباهات سیم کشی، مشکلات منبع تغذیه و سایر پیامدهای ناشی از ساخت یا استفاده از پروژه بر عهده سازنده و استفاده کننده است و نویسنده مسئولیتی در این زمینه نمی پذیرد.

پیش از روشن کردن مدار، اتصالات، قطبیت، سطح ولتاژ و نیاز جریان تمام قطعات را بررسی کنید.

نویسنده و منابع

طراح پروژه: حمیدرضا میلانی نیا

مجوز

این پروژه تحت مجوز MIT منتشر شده است. برای متن کامل مجوز، فایل LICENSE در مخزن GitHub را مشاهده کنید.

قطعات و تجهیزات

  • برد توسعه ESP8266 NodeMCU
  • نمایشگر گرد TFT مدل GC9A01 با وضوح 240×240 پیکسل
  • کابل USB و منبع تغذیه مناسب
  • سیم های اتصال و تجهیزات مونتاژ

اتصالات و راه اندازی

نمایشگر GC9A01 از رابط SPI سخت افزاری ESP8266 استفاده می کند.

سیگنال نمایشگرشماره GPIO
CSGPIO4
DCGPIO5
RSTGPIO16
SCLKGPIO14
MOSIGPIO13
VCCطبق مشخصات ماژول
GNDGND

برای راه اندازی، برنامه ARDUnia_Fly_Radar_v1_5.ino را با Arduino IDE و کتابخانه های مورد نیاز کامپایل و روی برد بارگذاری کنید. سپس به شبکه ARDUnia-Fly-Radar-Setup متصل شوید و نشانی http://192.168.4.1 را در مرورگر باز کنید. شبکه Wi-Fi و مرکز جغرافیایی رادار را تنظیم و ذخیره کنید.

→ بازگشت به پروژه ها