
معرفی پروژه
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 |
|---|---|
| CS | GPIO4 |
| DC | GPIO5 |
| RST | GPIO16 |
| SCLK / SCL | GPIO14 |
| MOSI / SDA | GPIO13 |
| VCC | مطابق مشخصات ماژول |
| GND | GND |
پیش از اتصال برق، شماره پایه ها، سطح ولتاژ مجاز و مشخصات دقیق ماژول نمایشگر را بررسی کنید.
نرم افزار و کتابخانه ها
برای کامپایل و بارگذاری برنامه به Arduino IDE و بسته بردهای ESP8266 نیاز دارید.
کتابخانه های اصلی:
- ArduinoJson با API سازگار با نسخه 6
- Adafruit GFX Library
- Adafruit GC9A01A
کتابخانه های ESP8266WiFi، ESP8266HTTPClient، WiFiClientSecure، ESP8266WebServer و EEPROM از طریق بسته برد ESP8266 در دسترس هستند.
راه اندازی اولیه
- بسته برد ESP8266 و کتابخانه های مورد نیاز را در Arduino IDE نصب کنید.
- فایل
ARDUnia_Fly_Radar.inoرا باز کنید. - برد مناسب ESP8266 و درگاه ارتباطی آن را انتخاب کنید.
- برنامه را روی برد بارگذاری کنید.
- در راه اندازی اولیه، به شبکه بی سیم
ARDUnia-Fly-Radar-Setupمتصل شوید. - در مرورگر، نشانی
http://192.168.4.1را باز کنید. - شبکه Wi-Fi مورد نظر را انتخاب کرده و رمز آن را وارد کنید.
- مرکز رادار را با مختصات جغرافیایی یا گزینه جستجوی نام شهر تنظیم کنید.
- تنظیمات را ذخیره کنید و پس از راه اندازی مجدد، عملکرد دستگاه را بررسی کنید.
نحوه دریافت اطلاعات پرواز
داده های هواپیما از سرویس ADS-B.fi Open Data API دریافت می شوند. برای تبدیل نام شهر به مختصات جغرافیایی نیز از سرویس OpenStreetMap Nominatim استفاده شده است.
عملکرد رادار به اتصال اینترنت، دسترس پذیری سرویس های آنلاین و وجود گزارش های پروازی در منطقه انتخاب شده وابسته است. اطلاعات ممکن است با تاخیر، ناقص یا موقتا غیرقابل دسترس باشند. این دستگاه گیرنده مستقل ADS-B نیست؛ بلکه اطلاعات گزارش شده توسط سرویس آنلاین را نمایش می دهد.
تنظیمات قابل تغییر
- شعاع رادار: 40 مایل دریایی
- فاصله به روزرسانی اطلاعات: حدود 15 ثانیه
- مرکز رادار: عرض و طول جغرافیایی ذخیره شده
- شبکه Wi-Fi: اطلاعات ذخیره شده در EEPROM
تغییر ثابت های برنامه باید با توجه به محدودیت حافظه ESP8266، مقیاس نمایشگر و نحوه درخواست اطلاعات انجام شود.
نکات امنیتی
در نسخه فعلی، نقطه دسترسی راه اندازی اولیه بدون رمز عبور است و ارتباطات HTTPS با استفاده از WiFiClientSecure::setInsecure() انجام می شوند؛ بنابراین اعتبار گواهی سرور بررسی نمی شود. این پیاده سازی را نباید یک راهکار امنیتی تقویت شده در نظر گرفت. هنگام پیکربندی اولیه، از دستگاه در محیطی قابل اعتماد استفاده کنید.
هشدار ایمنی سخت افزار
این پروژه برای اهداف آموزشی و آزمایشی ارائه شده است. مونتاژ، سیم کشی، تغییر یا استفاده نادرست از مدار می تواند به برد، نمایشگر، سایر قطعات یا تجهیزات متصل آسیب وارد کند. مسئولیت خسارت های سخت افزاری، خرابی قطعات، اشتباهات سیم کشی، مشکلات منبع تغذیه و سایر پیامدهای ناشی از ساخت یا استفاده از پروژه بر عهده سازنده و استفاده کننده است و نویسنده مسئولیتی در این زمینه نمی پذیرد.
پیش از روشن کردن مدار، اتصالات، قطبیت، سطح ولتاژ و نیاز جریان تمام قطعات را بررسی کنید.
نویسنده و منابع
طراح پروژه: حمیدرضا میلانی نیا
- وب سایت پروژه های ARDUnia: https://ardunia.ir
- وب سایت شخصی: https://hrmnia.com
- مخزن GitHub: https://github.com/ARDUnia/ARDUnia-Fly-Radar
مجوز
این پروژه تحت مجوز MIT منتشر شده است. برای متن کامل مجوز، فایل LICENSE در مخزن GitHub را مشاهده کنید.
قطعات و تجهیزات
- برد توسعه ESP8266 NodeMCU
- نمایشگر گرد TFT مدل GC9A01 با وضوح 240×240 پیکسل
- کابل USB و منبع تغذیه مناسب
- سیم های اتصال و تجهیزات مونتاژ
اتصالات و راه اندازی
نمایشگر GC9A01 از رابط SPI سخت افزاری ESP8266 استفاده می کند.
| سیگنال نمایشگر | شماره GPIO |
|---|---|
| CS | GPIO4 |
| DC | GPIO5 |
| RST | GPIO16 |
| SCLK | GPIO14 |
| MOSI | GPIO13 |
| VCC | طبق مشخصات ماژول |
| GND | GND |
برای راه اندازی، برنامه ARDUnia_Fly_Radar_v1_5.ino را با Arduino IDE و کتابخانه های مورد نیاز کامپایل و روی برد بارگذاری کنید. سپس به شبکه ARDUnia-Fly-Radar-Setup متصل شوید و نشانی http://192.168.4.1 را در مرورگر باز کنید. شبکه Wi-Fi و مرکز جغرافیایی رادار را تنظیم و ذخیره کنید.
