در این آموزش با ملزومات سیستمهای گرافیکی و کاربردهای آنها آشنا خواهید شد و در ادامهی آن به معرفی سیستم گرافیکی LVGL و بررسی ویژگیهای آن میپردازیم. پس تا پایان این قسمت ما را همراهی کنید.
رابط کاربری گرافیکی (GUI) یک رابط گرافیکی است که نمایشی بصری از اطلاعات به کاربر است و هدف آن تعامل آسان با دستگاه است. این رابط کاربری شامل نمایش گرافیکی مانند دکمهها، نمادها و نمودارها میباشد و برقراری ارتباط با کاربر از طریق آنها انجام میشود و تعامل با این آیتمها بهجای ارتباطهای رایج مبتنی بر متن یا خط فرمان است.
سیستمهای گرافیکی برای راهاندازی اولیه نیاز به یک سری ملزومات دارند تا بتوان آنها را بهصورت سختافزاری پیادهسازی کرد.
اولین مورد پردازنده است؛ در اینجا شما نیاز به یک پردازنده دارید که سیستم گرافیکی روی آن پیادهسازی شود؛ این پردازنده میتواند میکروکنترلر، میکروپروسسور یا حتی سیستمعامل ویندوز یا لینوکس باشد.
وظیفهی اصلی پردازنده پیادهسازی سیستم گرافیکی بر اساس یک زبان برنامهنویسی است که در سیستم گرافیکی LVGL زبان برنامهنویسی C است.
یکی دیگر از ملزومات موردنیاز سیستمهای گرافیکی، صفحهنمایش است؛ یعنی باید یک چارچوب یا یک قاب نمایشی وجود داشته باشد که بتواند این سیستم گرافیکی را به شما نمایش دهد.
از طرف دیگر، این سیستمهای گرافیکی تعدادی ورودی دارند که این ورودیها باید توسط کاربر به سیستم گرافیکی ارائه شوند. اطلاعات ورودی میتوانند از طریق صفحهی تاچ یا از طریق کلیدهای سختافزاری به ورودیها اعمال شوند و یا حتی اطلاعات بهصورت شبکه یا وایفای وارد سیستم شود. بهصورت کلی، این دادهها از جاهای مختلفی میتوانند وارد شوند؛ اما پرکاربردترین ورودیهایی که کاربران برای کار با سیستم گرافیکی به آن نیاز دارند صفحهی تاچ و دکمههای سختافزاری میباشد که به کمک آنها با سیستم گرافیکی ارتباط برقرار میکنند همانند جابهجایی بین صفحات یا تغییر مقادیر ورودی در یک صفحه.
خب تا اینجا دو مورد را بررسی کردیم، پردازنده و صفحهنمایش.
مورد سوم، نرمافزارهای طراحی به شما کمک میکنند که پروژه خود را با سرعت بیشتری انجام پیش ببرید و باعث صرفهجویی در زمان، در مرحلهی طراحی بستر گرافیکی پروژه شما میشود.
این نرمافزارها اصولاً به این شکل هستند که شما یک محیط بهصورت گرافیکی طراحی میکنید و آن را بهصورت کد برای شما برمیگرداند و سپس میتوانید آن را به پروژه خود اضافه کنید.
پس با داشتن این سه پیشنیاز میتوان یک سیستم گرافیکی راهاندازی کرد.
بهطورکلی شما هر زمان یک شغل، مشکل و یا فرایندی داشته باشید که نیاز به یک سری اطلاعات نمایشی داشته باشد، میتوانید از این سیستمهای گرافیکی استفاده کنید.
در اینجا کاربردهای سطح بالای این سیستمها را ذکر میکنیم؛ مثلاً در خودروها، سیستمهای پرداخت، لوازمخانگی مثل یخچال، ماشین لباسشویی، سیستمهای هوشمندسازی ساختمان، آبگرمکنهای جدید و شوفاژها و بهطورکلی هر کجا که نیاز باشد از کاربر اطلاعاتی دریافت شود، این سیستمها کاربرد دارند.
همچنین، یک نکته حائز اهمیت دیگر در خصوص سیستمهای گرافیکی این است که این سیستمها فقط اینگونه نیستند که کاربر بتواند با آنها کار کند و به آنها یک سری اطلاعات ورودی بدهد، بلکه آنها میتوانند فقط نمایشگر باشند؛ یعنی فقط حالت مانیتورینگ داشته باشند و کاربر بتواند آن اطلاعات را مشاهده کند.
بهطورکلی LVGL مخفف عبارت Light and Versatile Graphics Library میباشد.
از جمله مهمترین ویژگیهای سیستم گرافیکی LVGL عبارتاند از:
یکی از مهمترین دلایلی که ما سیستم LVGL را انتخاب کردیم، بحث رایگان (Open source) بودن این سیستم میباشد؛ یعنی شما بهراحتی میتوانید بخشهای مختلف این سیستم گرافیکی را دستکاری کنید و تغییرات موردنظر خود را در سیستم گرافیکی اعمال کنید.
یکی از ویژگیهای سیستم گرافیکی LVGL که بهواسطه Open Source آن به وجود میآید، جدید بودن آن است؛ یعنی دائماً بهروزرسانی میشود. این سرعت بالای بهروزرسانی کمک میکند که سیستم گرافیکی LVGL شما همیشه بروز باشد و تغییرات جدید در آن اعمال شود.
ساختار برنامهنویسی این سیستم گرافیکی بر اساس زبان C است و کافی است شما یک پیشنیاز مقدماتی زبان C گذرانده باشید تا بتوانید با این سیستم گرافیکی کار کنید.
علاوه بر این، سیستم گرافیکی LVGL با زبان پایتون (Python) نیز کار میکند؛ یعنی شما هم با زبان C و هم با زبان پایتون (Python) میتوانید با سیستم گرافیکی LVGL کار کنید. اما مبنای آموزش ما در این دوره، بر اساس زبان C هست.
یک نکته مهم در این سیستم گرافیکی، شیءگرایی بودن این سیستم است؛ مانند بیشتر سیستمهای گرافیکی پیشرفته، فرایند شیءگرایی در این سیستم گرافیکی هم هست؛ یعنی شما میتوانید یک سری ویژگیها را جدا تعریف کنید و به یک شی نسبت دهید.
یکی دیگر از ویژگیهای خوب سیستم گرافیکی LVGL این است که نرمافزار اختصاصی دارد؛ مثل نرمافزار اختصاصی طراحی GUI که شما میتوانید با استفاده از این نرمافزار، محیط موردنظر خود را طراحی کنید.
ویژگی مهم دیگر این سیستم، پشتیبانی از نرمافزارهای کامپیوتری است؛ یعنی اگر شما یک سیستم گرافیکی داشته باشید و بخواهید قبل از پیادهسازی روی سختافزار، آن را روی کامپیوتر شبیهسازی کنید، این سیستم به شما کمک میکند که بتوانید روند انجام پروژه را با سرعت بیشتری پیش ببرید.
ویژگی دیگر این سیستم، پشتیبانی از پردازندههای مختلف است. منظور از پردازندههای مختلف همان محیطهایی است که قرار است این سیستمهای گرافیکی روی آن پیادهسازی شود. اصولاً به این ویژگی Multi Platform (مولتی پلتفرم) میگویند؛ یعنی این سیستم گرافیکی را میتوان روی سیستمهای مختلف مانند ویندوز، لینوکس، میکروکنترلر و… اجرا و از آن استفاده کرد.
یکی دیگر از ویژگیهای مهم سیستمهای گرافیکی LVGL، استفاده بهینه از حافظه رم (RAM) است.
آخرین ویژگی این سیستمها که بسیار ضروری هم هست، پشتیبانی آنها از زبان فارسی است.
عالی
سلام.
درود بر استاد شکراللهی عزیز بابت این آموزش، امیدوارم ادامه دار باشه و بتونیم از تجربیات و آموزش هاتون استفاده کنیم.
خدا شما و تیم سیسوگ رو حفظ کنه
سلامت باشید. ممنون
مقاله شما رو در مورد کتابخانه گرافیکی LVGL خوندم و خیلی خوب بود. این مقاله شروع خوبی برای یادگیری LVGL هست. مقاله شما به خوبی نوشته شده و آموزنده هست. از اینکه به ویژگیهای کلیدی LVGL پرداختهاید، ممنونم. این کمک میکنه که خوانندهها درک خوبی از کتابخانه داشته باشند.
فکر میکنم افزودن مثالهای کد بیشتر برای نشان دادن نحوه استفاده از ویژگیهای LVGL مفید خواهد بود. این کمک میکنه که خوانندهها نحوه کارکرد کتابخانه رو در عمل ببینند. من همچنین فکر میکنم بحث در مورد نحوه استفاده از LVGL برای ایجاد انواع مختلف GUI مفید خواهد بود. این کمک میکنه که خوانندهها ببینند کتابخانه چگونه میتونه در پروژههای مختلف استفاده شود.
در مجموع، فکر میکنم این یک مقاله عالی برای یادگیری LVGL هست. من اون رو به هرکسی که علاقهمند به یادگیری این کتابخانه هست، توصیه میکنم.
سلام ممنون بات نظر خوب تون.
انشاالله در ادامه آموزش وارد بحث کد نویسی شدیم تمام توضیحات همراه با کد خواهد بود.
ممنون بابت توصیه به علاقمندان سیستم گرافیکی.
جقدر خوب که این موضوع به زبان فارسی داره آموزش داده میشه. بی صبرانه منتظر قسمتهای بعدی هستم.
ممنون حتما😇
آیا برای کارهای شخصی میشه از squareatudi به صورت نامحدود استفاده کرد؟
سلام… در مورد نرم افزار گرافیکی Squareline، شما میتونید یک محیط گرافیکی با تمام امکانت نرم افزار استفاده کنید محدودیت نداشتن لایسنس رده بالا و با داشتن لایسنس رایگان شما فقط در تعداد ویجت و اسکرین محدود هستید که در ورژن جدید امسال به تعداد 150 ویجت و 10 صفحه رسیده که برای انجام پروژه میتواند کارتون راه بیاندازد اما اگر کارتون تجاری هستش خرید لایسنس تجاری عدد خیلی بالایی نیست.
سپاس از شما بابت نشر این مطلب 🙏
سلامت باشید
عالی
ممنون
نویسنده شو !
سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.