بخش پنجم دوره EVS0 : آشنایی با سیستم های نهفته ( Embedded ) و بی درنگ ( Real-Time )

بازگشت به آموزشگاه

اگر با فلوچارت دوره های ما آشنایی ندارید >>این لینک<< را مشاهده کنید.

دسترسی سریع به بخش های قبلی دوره :


مقدمه

در عصر حاضر دو مفهوم کلیدی جدید وجود دارد که باعث بوجود آمدن نسل جدیدی از سیستم های پر کاربرد شده است. این دو مفهوم یکی “سیستم های نهفته” یا Embedded Systems و دیگری “سیستم های بی درنگ” یا Real-Time Systems می باشند. در اکثر اوقات این دو سیستم به صورت تلفیقی و تحت عنوان “سیستم های نهفته بی درنگ” یا Real-Time Embedded Systems مورد استفاده قرار می گیرند. این سیستم ها توانایی کنترل گستره وسیعی از وسایل مکانیکی و الکترونیکی را دارا می باشند. اگر به اطراف خود نگاهی بیاندازید ، انواع مختلف آن ها را مشاهده می کنید. تلویزیون ، لوازم منزل و آشپزخانه ، تلفن های همراه هوشمند ، سیستم های کنترل اتومبیل ، سیستم های کنترل ترافیک ، سیستم های اتوماسیون صنعتی و ربات ها ، موشک های نظامی و … همه و همه مثال هایی از این سیستم ها می باشند. در این بخش از آموزش به معرفی و بررسی این دو نوع سیستم خواهیم پرداخت.


سیستم های نهفته چیست ؟

سیستم‌های نهفته که به آن ها سیستم های تعبیه شده یا توکار نیز گفته می شود ، سیستم‌هایی کامپیوتری هستند که شامل اجزای الکترونیکی و یا مکانیکی می‌باشند و وظیفه‌ی مشاهده ( مانیتو Monitor ) ، پاسخ دادن ( Respond ) و کنترل ( Control ) محیط خارجی سیستم را بر عهده دارند. این محیط خارجی بوسیله ورودی/خروجی هایی نظیر سنسورها ( Sensors ) ، عمل کننده ها ( Actuators ) و … با سیستم نهفته ارتباط دارد. علت نامگذاری سیستم های نهفته این است که در گذشته با نگاه کردن به درون یک سیستم ( مثل PC یا Laptop ) میتوانستیم اجزای فیزیکی داخلی آن نظیر RAM ، CPU و … را ببینیم اما در سیستم های نهفته این اجزا درون آی سی هستند و روی بورد الکترونیکی به نوعی پنهان شده است و به صورت مجزا قابل تشخیص نیست.

بر خلاف کامپیوترهای همه منظوره ( به عنوان مثال کامپیوترهای شخصی ) که برای رفع نیازهای عمومی طراحی شده‌اند، سیستم‌های نهفته به گونه‌ای طراحی می‌شوند که برای یک کاربرد خاص با کمترین هزینه بهترین کارایی را از خود نشان دهند. امروزه درون اکثر وسایل و دستگاه‌های پیرامون ما ( خودپرداز ، تلفن‌همراه ، اتومبیل و ماشین لباسشویی ) سیستم نهفته‌ای قرار دارد. شکل زیر یک سیستم امنیتی را در دو شکل نهفته و PC Based ( مبتنی بر PC ) نشان می دهد.

سیستم‌ های نهفته دارای هسته‌ های پردازشی هستند که می‌ توانند هر پردازنده RISC یا CISC نظیر میکروکنترلر ( μC ) ، میکروپروسسور ( μP ) یا پردازنده سیگنال‌های دیجیتال ( DSP ) باشند. پردازنده یک واحد مهم در سخت‌افزار یک سامانه‌ی نهفته است. مشخصه‌ی کلیدی این سیستم‌ها، طراحی اختصاصی برای انجام یک کار مشخص است. به این دلیل که سیستم‌ های نهفته برای یک کار مشخص اختصاص یافته‌ اند، مهندسین طراح می‌توانند محصول را برای کاهش اندازه و قیمت بهینه کرده و اطمینان پذیری و کارایی آن را بالا ببرند. برخی از سیستم‌های نهفته با بهره‌گیری از مزیت‌های تولید با تعداد بالا، به شکل انبوه تولید شده‌اند.

در یک سیستم نهفته کامل تر میتوان از یک FPGA در کنار یک CPU ( میکروکنترلر یا میکروپرسسور ) استفاده کرد. اما بعد از پردازنده که مهمترین بخش سیستم های نهفته می باشد ، نرم افزار ، سنسور ها ، مبدل های آنالوگ به دیجیتال ، مبدل های دیجیتال به آنالوگ ، فعال کننده ها و … استفاده کرد که در شکل زیر مشاهده می کنید.


سیستم های بی درنگ چیست ؟

در علم کامپیوتر ، محاسبات بی درنگ ( RTC : Real-Time Computing ) و یا محاسبات واکنشی ( Reactive Commuting ) ، سیستم­ های نرم­ افزاری و سخت­ افزاری را توصیف می­ کند که زمان در آن ها اهمیت دارد و بایستی این تضمین را حاصل کنند که خروجی صحیح سیستم ، در یک بازه مشخصی حتما تولید شود؛ چرا که تولید این خروجی در خارج از این بازه، حتی اگر صحیح نیز باشد ، مطلوب نخواهد بود. این آستانه­ های زمانی، سرحد زمانی یا Deadline نامیده می شوند. پاسخ ­های سیستم­ های بی ­درنگ به رویدادها معمولا در حدود میلی­ ثانیه و میکروثانیه هستند.

سیستم های بی درنگ در عمل بر دو نوع تقسیم بندی می شوند. یکی سیستم های بی درنگ نرم ( Soft ) و دیگری سیستم های بی درنگ سخت ( Hard ) که در شکل زیر آن ها را مشاهده می کنید.

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


سیستم های نهفته بی درنگ چیست ؟

مفهوم سیستم­ بی­ درنگ نهفته ( Real Time Embedded Systems ) ، یک مفهوم علمی است که علوم متفاوتی را الزاما در برمی گیرد. این سیستم ها ، همان طور که از نامش پیداست ، تلفیقی از دو سیستم نهفته و بی درنگ می باشند. یک سیستم نهفته بی درنگ را معمولا اینگونه تعریف می کنند : “سیستمی که محیط را از طریق دریافت داده ­ها ، پردازش آنها و سپس برگرداندن سریع تاثیر پردازش این داده­ ها به محیط، کنترل می­ کند”.

به طور کلی ویژگی های مهم در سیستم های نهفته بی درنگ عبارت است از :

  • قابلیت اطمینان ( Reliability ) : سیستم نهفته بی درنگ باید مطمئن باشد زیرا هرگونه خرابی هزینه های زیادی را باعث می شود.
  • محدودیت در منابع ( Limited Resources ) : به علت کاهش در هزینه تمام شده سیستم ، دسترسی به منابعی نظیر حافظه ( memory ) ، شبکه ( Network ) و … محدود است و باید مدیریت شود.
  • پاسخ سریع ( Real Time ) : از ویژگی اساسی یک سیستم نهفته بی درنگ ، پاسخ سریع به ورودی تا قبل از یک زمان مشخص ( Deadline ) می باشد.
  • صحت ( Correctness ) : نتیجه مطلوب باید صحیح بوده و در زمان مناسب ، در جهت صحیح و در صورت استفاده از منابع مشخصی بوجود آید.
  • قابلیت کارکرد برای همیشه ( Running Forever ) : یک سیستم نهفته بی درنگ باید توانایی روشن بودن برای همیشه و نیز کارکردن در بدترین شرایط را داشته باشد.
  • قابلیت پیش بینی ( Predictability ) : تمامی عملیات ها باید قابل پیش بینی باشد یعنی زمان اجرای یک پروسه خاص کاملا مشخص باشد. برای مثال از عملیاتی نظیر جستجو یک عبارت خاص در یک پایگاه داده که نمیتوان زمان دقیق انجام آن را پیش بینی کرد ، استفاده نشود.

سیستم عامل بی درنگ چیست ؟

در صورتی از سیستم عامل در سیستم های نهفته استفاده می کنیم که پردازنده کارهای زیادی برای انجام دادن داشته باشد. سیستم عامل کارهای پردازنده را در بازه های زمانی کوچکتر طوری کنترل و مدیریت می کند که به همه آن ها در آن واحد رسیدگی شود. اما زمانی که سیستم ما یک سیستم نهفته بی درنگ باشد نوع سیستم عامل اهمیت بیشتری دارد و باید سیستم عامل هم بی درنگ باشد تا بتواند سریع پاسخ دهد.

سیستم‌عامل بی‌ درنگ یا RTOS ( مخفف Real Time Operation System ) نوعی سیستم‌عامل است که در آن “زمان” پارامتر کلیدی است. برای مثال در سیستم‌های کنترل فرآیند ، رایانه‌ های بی‌درنگ باید داده‌ های فرآیند تولید را جمع‌ آوری کرده و به کمک آن ماشین‌ های داخل کارخانه را کنترل کنند. خیلی اوقات باید فرجه زمانی ( deadline ) به‌طور دقیق برآورد شود ؛ یعنی باید کارها در لحظات خاصی از زمان انجام گیرد. برای مثال اگر یک خودرو در خط مونتاژ در حال حرکت باشد و ربات جوشکاری خیلی زود یا خیلی دیر جوش دهد، خودرو خرابی تولید خواهد شد.

زمانی از یک سیستم بی‌درنگ استفاده می‌ شود که لازم باشد عملیات پردازنده یا جریان داده در زمان کاملاً مشخصی انجام شود ؛ بنابراین یک سیستم بی‌درنگ اغلب به‌عنوان ابزار کنترلی در یک کاربرد خاص استفاده می‌ شود. سیستم‌ هایی که آزمایش‌ های علمی را کنترل می‌ کنند، سیستم‌ های تصویربرداری پزشکی ، سیستم‌های کنترل صنعتی ، و نیز برخی از موتورهای انژکتوری در خودرو ، کنترلرهای لوازم خانگی و سیستم‌ های جنگ‌ افزاری ، سیستم‌ های بی‌ درنگ هستند. این سیستم‌ ها برای آن که به‌ درستی کار کنند باید پاسخ درست را در فرجه زمانی از پیش تعیین شده باز گردانند در صورتی که در سیستم‌ عامل های دیگر مطلوب است ( ولی اجباری نیست ) که سریع پاسخ دهند.

برنامه نویسی سیستم در حالت دارای سیستم عامل بی درنگ با حالت بدون آن تفاوت زیادی دارد. سیستم عامل نقش حیاتی در سیستم دارد به طوری که اگر در یک سیستم نهفته ، از سیستم عامل بی درنگ استفاده کنیم ، به یک سیستم نهفته بی درنگ تبدیل می شود. شکل زیر محل قرار گرفتن سیستم عامل بی درنگ ( RTOS ) را در یک سیستم بی درنگ نشان می دهد.


کرنل ( Kernel ) چیست؟

هر سیستم عامل دارای کرنل ( Kernel ) می باشد. کرنل یک نرم افزار سطح پایین است که وظیفه کنترل درخواست‌های خروجی یا ورودی از طرف نرم افزارهای دیگر (و همچنین سخت افزارها) را دارد. کرنل سیستم عامل مهمترین قسمت یک سیستم عامل و در اصل مغز آن است و وظیفه آن، مدیریت درخواست‌های داده شده از طرف اپلیکیشن‌های دیگر به منابع سخت افزاری و بلعکس را دارد. درواقع اگر سیستم عامل را به یک ماشین تشبیه کنیم، هسته سیستم عامل موتور آن خواهد بود که بدون این موتور، ماشین قادر به انجام کاری نخواهد بود.

کرنل درواقع رابط بین اپلیکیشن‌ها و منابع سخت افزاری (نظیر هارد دیسک‌ها، مموری‌ها و…) است. هر برنامه و اپلیکیشنی که بخواهد از منابع سیستم (System Resources) استفاده کند، درخواست خود را به کرنل می‌فرستد (برنامه، خود این درخواست‌ها را ارسال نمی‌کند بلکه با استفاده از منابع و رابط‌های سیستم عامل این کار را می‌کند). این درخواست System Call نام دارد.

هسته سیستم عامل به منابع سخت افزاری دسترسی مستقیم دارد؛ یعنی می‌تواند برای داده‌های اپلیکیشن‌ها در حافظه دسترسی تصادفی (رم یا RAM) آدرس دهی کند، به آن‌ها اجازه دسترسی به حافظه‌های دیگر را بدهد، داده‌ها را بر روی حافظه‌های جانبی (مانند هارد دیسک‌ها) ذخیره کند، دستورات به ترتیب برای پردازش به CPU بفرستد، منابع سخت افزاری را مدیریت کند و … . این موارد فقط تعداد اندکی از دسترسی‌هایی است که یک هسته سیستم عامل می‌تواند داشته باشد.

بنابراین هسته سیستم عامل یک وظیفه کلی دارد و آن واسطه گری میان منابع نرم افزاری و منابع سخت افزاری است. شکل زیر درون کرنل RTOS و بخش های مختلف آن را نشان می دهد.

کرنل سیستم های نهفته بی درنگ به زبان های برنامه نویسی مختلفی نوشته شده اند. شکل زیر درصد استفاده از زبان های برنامه نویسی مختلف برای سیستم های نهفته بی درنگ را در سال های 2010 تا 2013 نشان می دهد.


انواع سیستم عامل های نهفته

سیستم عامل های نهفته به دو دسته بی درنگ یا RTOS با پاسخ سریع و سیستم عامل های همه منظوره یا GPOS ( مخفف General Purpose Operating System ) با پاسخ غیر سریع تقسیم بندی می شوند. سیستم عامل در یک سیستم نهفته نقش مهمی دارد و در برخی از سیستم های نهفته این قابلیت وجود دارد که کرنل هر دو نوع سیستم عامل ذکر شده ، نصب و راه اندازی شود. اگر از یک سیستم عامل بی درنگ در یک سیستم نهفته استفاده شود ، یک سیستم نهفته بی درنگ بوجود می آید که میتواند در کاربردهای نیازمند پاسخ سریع نظیر خودروسازی ، صنعتی ، پزشکی و نظامی استفاده شود. اما در سیستم عامل های همه منظوره رابط کاربری ( user interface ) اهمیت زیادی دارد که باعث می شود از این سیستم عامل ها در کاربردهای معمولی و عمومی نظیر ذخیره و مدیریت فایل ها ، ساعت ، تقویم و آلارم ، ماشین حساب ، وب گردی ، بازی و سرگرمی و … استفاده شود.

شکل زیر انواع این سیستم عامل ها را به همراه میزان استفاده از آن ها در سال های 2012 و 2013 نشان می دهد.

همانطور که مشاهده می کنید در اکثر کاربرد ها از سیستم عامل های Custom ( یعنی شخصی سازی شده ) استفاده می شود. سیستم عامل اندروید و اوبونتو که بر اساس کرنل های لینوکسی هستند نیز در جایگاه بعدی قرار دارند. سیستم عامل FreeRTOS که یک سیستم عامل بی درنگ و رایگان است در جایگاه بعدی قرار دارد.

سه سیستم عامل مشهور و پرکاربرد در “سیستم عامل های نهفته بی درنگ” عبارت است از :

  1. Keil RTX : که توسط شرکت ARM طراحی شده است و مخصوص میکروکنترلرهای ARM Cortex M در نرم افزاری به نام Keil می باشد.
  2. Micrium uC/OS : که توسط شرکت Micrium طراحی و ساخته شده است و دارای ورژن های مختلفی می باشد و برای اکثر میکروکنترلرها در نرم افزار های مختلف مورد استفاده می باشد.
  3. embOS نیز یک سیستم عامل RTOS می باشد که توسط شرکت Segger برای انواع میکروکنترلرها و میکروپرسسورها ساخته شده است که با قدرت و توانایی های بالا بخش گسترده ای را پوشش می دهد.

مقایسه بین سیستم عامل های RTOS و GPOS

تفاوت اصلی بین این دو نوع سیستم عامل به ماهیت طراحی آن ها بر می گردد. طراحی یک سیستم عامل RTOS به گونه ای است که زمان بحرانی ( Time Critical ) هستند یعنی در آن ها زمان اهمیت دارد. برای مثال یک دستگاه خودپرداز ( ATM ) را در نظر بگیرید. در این سیستم کاربر بعد از تایید و زدن دکمه برداشت از حساب باید بتواند حداکثر ظرف مدت 5 ثانیه پول مورد نظر خود را دریافت نماید. یعنی در این حالت سرعت انجام کار مهم است و کاربر نمی خواهد برای این کار 1 دقیقه زمان بگذرد و منتظر بماند. بنابراین سیستم ATM یک سیستم زمان بحرانی است. حال یک کامپیوتر را در نظر بگیرید. کامپیوتر یک سیستم زمان بحرانی نیست چون برای کاربر اولویت ندارد که یک فایل را در عرض چند دقیقه دانلود کند یا اینکه کپی کردن فایل ها حتما زیر 1 دقیقه انجام شود.

تفاوت مهم دیگر این دو سیستم عامل در اولویت بندی انجام کار ها است. در RTOS کلیه کارها همیشه بر اساس اولویت است. اولویت کارهای مختلف ابتدا در یک جدول نوشته می شود و سپس کارهای با اولویت بالاتر زودتر انجام می شود. در برخی از حالت ها پروسه با اولویت پایین تا اتمام پروسه دارای اولویت انجام نمی شود و به کلی مکث می شود. اما در GPOS اینگونه نیست و اولویت کارها به صورت پویا ( dynamic ) توسط خود سیستم عامل مدیریت می شود. همچنین در RTOS ها میتوان در وسط برنامه بنا به دلایلی این اولویت ها را تغییر داد اما در GPOS به هیچ وجه نمیتوان این کار را انجام داد.

تفاوت دیگر در سیستم های مبتنی بر این دو سیستم عامل می باشد. در سیستم های مبتنی بر سیستم عامل RTOS میتوان کرنل سیستم عامل را متوقف نمود و عملیات را بدون سیستم عامل ادامه داد اما در سیستم های مبتنی بر GPOS این کار نمیتواند عملی شود و همواره باید توسط سیستم عامل کلیه کارها انجام و مدیریت شود.

تمامی کارها در سیستم عامل RTOS قابل پیش بینی می باشد اما در GPOS اینگونه نیست. برای مثال باز کردن یک برنامه ( اپلیکشن ) در یک سیستم عامل GPOS برای اولین بار خیلی طول می کشد اما در دفعات بعدی سریع تر است.


معرفی انواع بورد های نهفته

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

1- آردوینو ( Arduino ) :

آردوینو یک پلتفورم تک بوردی ارزان و متن باز ( Open Sourcce ) مبتنی بر میکروکنترلر است که دارای نرم افزار و سخت افزار خاص خود می باشد. در ساخت این بوردها اکثرا از پردازنده های 8 بیتی AVR و بعضا از پردازنده های 32 بیتی ARM استفاده شده است. آردوینو تقریبا از هر نوع سنسوری پشتیبانی می‌کند و می توانید از کارهای ساده تا پیچیده را با آن انجام دهید. دو تا از پر مصرف‌ترین سخت‌ افزارهای آردوینو ، Arduino UNO و Arduino Mega2560 می باشد که در بسیاری از پروژه‌های دانشجویی، رباتیک و پروژه‌های تحقیقاتی کاربرد دارد. برای آشنایی بیشتر با این پلتفورم >> این لینک << را مشاهده نمایید.

2- رزبری پای ( Raspberry pi ) :

رزبری پای نوعی رایانه تک-بردی ( Single-board computer ) یا مینی کامپیوتر است که توسط بنیاد رزبری پای طراحی و ساخته شده است. سپبری پای بر اساس هسته های ARM سری Cortex A ساخته شدند که قوی تر بوده و مصرف توان کمتری دارند. این بوردها به علت قابلیت نصب بسیاری از سیستم عامل ها و پشتیبانی از انواع زبان های برنامه نویسی سطح بالا ( نظیر جاوا ، سی پلاس پلاس ، پایتون ، سی شارپ و … ) جزو بوردهای کاربردی محسوب می شود. این یک رایانه بسیار کوچک و ارزان با تمام قابلیتهای یک رایانه واقعی است که می‌توان از آن در سیستم های رباتیک ، اتوماسیون ، اینترنت اشیاء ( IOT ) و… استفاده کرد. طراحان سیستم های نهفته از رزبری پای برای طراحی دستگاه های مختلفی از پروژه های کوچک گرفته تا پروژه های بزرگ استفاده می کنند. برای آشنایی بیشتر با این پلتفورم >> این لینک << را مشاهده نمایید.


رزبری پای یا آردوینو ؟ مقایسه جامع تفاوت های بین این دو پلتفورم

اگرچه رزبری پای و آردوینو تفاوت هایی در برخی ویژگی ها با هم دارند اما هر دو با یک هدف مشابه یعنی آموزش برای دانشجویان و دانش آموزان تولید شده اند. مخترعان هر دو آن ها معلمانی هستند که آن ها را به عنوان ابزاری برای یادگیری دانش آموزان طراحی کرده اند. رزبری پای برای اولین بار در سال ۲۰۱۲ معرفی شد در حالی که آردوینو از سال ۲۰۰۵ به کار گرفته شد.

تفاوت های کلی بین این دو پلتفورم عبارت است از :

  • رزبری پای از اکثر زبان های برنامه نویسی پشتیبانی می کند و میتوان برنامه کاربردی خود را به زبان های مختلف و حتی ترکیبی از چند زبان نوشت اما آردوینو تنها یک زبان منحصر به فرد خود را دارد.
  • رزبری پای دارای پردازنده های جدید ARM Cortex با قدرت پردازشی بالاتر ، حافظه بیشتر ، پورت های USB ، پورت اترنت و … است و برای انجام بسیاری از کارها نیازی به سخت افزار خارجی ندارد. اما آردوینو با هسته پردازشی قدیمی و ضعیف تر و حافظه کمتر بوده و باید با اضافه کردن بوردهای کمکی ( یا شیلد sheild ) قابلیت هایی نظیر وای فای و اترنت را ایجاد کرد.
  • رزبری پای ۴۰ برابر از آردوینو سریع تر است و در نتیجه با استفاده از رزبری پای می توانید به راحتی ایمیل ارسال کنید، موسیقی گوش دهید، فیلم اجرا کنید، وارد اینترنت شوید و ده ها کار دیگر انجام دهید که در آردوینو ممکن نیست.
  • آردوینو دارای سخت افزار و نرم افزار بسیار ساده می باشد و برای راه اندازی نیازی به نصب سیستم عامل ندارد اما رزبری پای از نظر سخت افزاری و نرم افزاری کمی پیچیده تر بوده و برای استفاده از آن حتما باید یک سیستم عامل روی آن نصب کرد.
  • هر چند که رزبری پای هسته پردازشی قوی تری دارد اما از سیستم عامل های بی درنگ ( RTOS ) پشتیبانی نمی کند. همچنین در آردوینو خیلی به مسئله بی درنگ بودن اهمیت داده نشده است اما با این حال این پلتفورم از FreeRTOS پشتیبانی می کند و این یک ضعف بزرگ در این دو پلتفورم است.
  • توان مصرفی آردوینو پایین بوده و برای کار کردن نیاز به یک منبع تغذیه بسیار ساده دارد در نتیجه برای کاربرد های قابل حمل مناسب تر است اما توان مصرفی رزبری پای به مراتب بیشتر است و برای کارکردن نیاز به منبع تغذیه مناسب دارد و در نتیجه برای کاربردهای قابل حمل مناسب نمی باشد.
  • رزبری پای با استفاده از یک سیستم عامل اجرا می شود بنابراین باید قبل از قطع ارتباط آن با منبع تغذیه، به درستی خاموش (shut down) شود چون در غیر اینصورت ممکن است سیستم عامل و برنامه های آن آسیب ببینند. در حالیکه آردوینو دستگاهی است که می تواند در هر زمان نصب و استفاده شود و بدون هیچ خطری روشن و خاموش گردد. آردوینو می تواند بعد از روشن شدن، شروع به اجرای مجدد کد بارگذاری شده نماید.
  • برای راه اندازی و کار کردن با رزبری پای باید از وسایلی نظیر نمایشگر و صفحه کلید و ماوس و اسپیکر استفاده کرد اما کار کردن با آردوینو هیچ لوازم جانبی نیاز ندارد.
  • آردوینو به علت سادگی قیمت بسیار پایین تری نسبت به رزبری پای دارد.

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

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

شما باید رزبری پای را انتخاب کنید، اگر:
• پروژه ی شما پیچیده است و شبکه در آن درگیر است.
• پروژه ی شما بیشتر شبیه یک برنامه ی نرم افزاری است ، مانند یک سرور VPN یا یک وب سرور.
• هنوز دانش چندانی از الکترونیک ندارید.
• اطلاعات خوبی در مورد لینوکس و نرم افزارها دارید.

اگرچه هر دو برد دارای نقاط مثبت و منفی هستند، اما می توانند برای دست یابی به یک نتیجه بهتر با هم مورد استفاده قرار گیرند. مثلا می توانید با استفاده از رزبری پای داده ها را از روی شبکه جمع آوری کنید و به آردوینو دستور دهید تا یک عمل مانند چرخاندن یک موتور را انجام دهد.

توجه : با توجه عدم پشتیبانی کامل از RTOS در این بوردها و سیستم عامل هایی نظیر RTX و Micrium ، استفاده از این پلتفورم های آماده در بسیاری از پروژه های حرفه ای مقرون به صرفه نمی باشد و بهتر است در این گونه از پروژه ها از سخت افزار و نرم افزار طراحی شده توسط خودتان استفاده کنید.


پایان بخش پنجم. بخش بعدی به محض قرار گرفتن در کانال تلگرام الکترو ولت اطلاع رسانی می گردد.


در صورتی که این مطلب مورد پسندتان واقع شد لایک و اشتراک گذاری فراموش نشود.

20+

دیدگاه (4)

  • yassi پاسخ

    سلام . لطفا در مورد پایگاه داده های بی درنگ هم مطلب بزارین.مرسی

    2018-05-06 در 11:19
    • ادمین الکترو ولت پاسخ

      سلام دوست عزیز در مورد این مبحث احتمالا در دوره IOT صحبت خواهد شد با ما همراه باشید

      2019-04-03 در 21:37
  • pasargad_sys پاسخ

    سلام ..
    مبحث جالب و خوبی بود اگر امکانش هست مباحث رو ادامه دهید…
    تشکر … رسولی .. دانشجوی مهندسی سخت افزار

    2019-01-04 در 15:29
    • ادمین الکترو ولت پاسخ

      سلام دوست عزیز ممنون از حسن نظرتون حتما ادامه خواهم داد

      2019-04-03 در 21:31

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

1 × 1 =

بازگشت به آموزشگاه