چگونه پنل کنترل سفینه فضایی استار ترک مورد علاقهام را ساختم
شرح ساخت یک رابط کاربری به سبک LCARS استار ترک برای اتوماسیون خانگی با استفاده از Home Assistant، ESPHome و LVGL به عنوان یک پروژه جانبی سرگرمکننده.
ساخت پنل کنترل استار ترک با اتوماسیون خانگی
یکی از سرگرمیهای ماندگار نویسنده در دوران قرنطینه، اتوماسیون خانگی بود که منجر به کشف پلتفرم Home Assistant شد. این پلتفرم متنباز و بسیار قابل تنظیم، ابزاری مفید برای مدیریت اختلال عملکرد اجرایی (ADHD) و همچنین ایجاد حس شادی خالص نردی بوده است. هدف نهایی این اشتیاق، ساخت یک رابط کاربری شبیه به سیستم کنترل رایانهای LCARS از عصر “Star Trek: The Next Generation” بود، که به دلیل زیباییشناسی بصری آن، از سنین پایین توجه نویسنده را جلب کرده بود.
رابطهای کاربری LCARS در سریالها بیشتر جنبه نمایشی داشتند و هدفشان ایجاد جلوهای سازمانیافته در پسزمینه بود، نه کاربرد عملی. با وجود اینکه تمهای آمادهای برای Home Assistant وجود داشت که شبیه LCARS بودند، اما به دلیل عدم دقت در تناسبات و شکستگی دکمهها، نویسنده تصمیم گرفت رابط اختصاصی خود را بسازد. برای این کار، از کتابخانه گرافیکی LVGL (Light and Versatile Graphics Library) استفاده شد که امکان ایجاد رابطهای گرافیکی بسیار سفارشیتر و پیشرفتهتر را فراهم میکند. برای متصل کردن LVGL به Home Assistant، از فریمورک میانافزار متنباز ESPHome استفاده شد.
- ESPHome به برنامهنویسی میکروکنترلرهای مجهز به وایفای (مانند ESP32) با استفاده از زبان مارکآپ ساده YAML اجازه میدهد و ارتباط عمیقی با Home Assistant دارد.
- نویسنده یک نمایشگر لمسی ۷ اینچی مجهز به میکروکنترلر ESP32-S3 تهیه کرد و طراحی مورد نظر را با الهام از پنلهای LCARS سریالهایی مانند “Star Trek: Voyager” در Adobe Illustrator به عنوان مرجع دقیق ساخت.
- طراحی در ESPHome با استفاده از YAML انجام شد، که برای افراد آماتور نسبت به زبان C (زبان اصلی LVGL) بخشندهتر است. بیشتر اشکال به جای تصاویر واقعی با ویجتهای داخلی LVGL ساخته شدند تا منابع محدود ESP32 کمتر مصرف شود.
- برای ساخت اشکال نامنظم مانند دکمههای نیمهگرد، از ترفندی شامل قرار دادن یک دکمه مربعی و یک دایره همرنگ روی آن استفاده شد تا ظاهر یکپارچه به دست آید.
در نهایت، پنل ایجاد شده برای کنترل لامپهای اتاق نشیمن تنظیم شد. دکمهها برای روشن/خاموش کردن و تنظیم روشنایی تنظیم شدند، و یکی از نمایشگرهای دایرهای شکل، روشنایی لامپها را نمایش و کنترل میکرد. این پروژه از نظر عملی بودن مورد تأیید قرار نگرفت اما به دلیل خلق یک دستگاه زیبا و مطابق با آرمانهای دوران کودکی، شادی بسیار زیادی برای سازنده به ارمغان آورد و او را قادر ساخت تا خانهاش را مانند قهرمانان دوران کودکیاش کنترل کند.




