قلب اکثر سیستم‌های مکاترونیکی، یک سیستم تعبیه شده (توکار) است که بتواند ادراک و عمل سیستم را به وسیله یک نرم‌افزار کنترلی به یکدیگر ارتباط دهد. رسپبری پای (Raspberry Pi) به عنوان یکی از موفق ترین سیستم‌های تعبیه شده مبتنی بر میکروکنترلر ARM شناخته می‌شود که به کمک سیستم عامل لینوکس می‌تواند بستر مناسبی برای نمونه سازی و ساخت سیستم‌های مکاترونیکی ایجاد نماید. زبان برنامه نویسی پایتون هم شاید بهترین گزینه جهت توسعه نرم افزاری کنترلی برای این بستر باشد.

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


محتوا: مباحث مورد نیاز برای طراحی سیستم‌های تعبیه شده یا توکار (Embedded Linux) به کمک لینوکس، پایتون و رسپبری پای


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


مدت دوره: ۴۸ ساعت کمپ (۵۲ ساعت عادی)

تاریخ برگزاری:

لطفا به تقویم آموزشی مراجعه نمایید.


پیش نیاز: برای شرکت در این دوره تنها به دانش در سطح LPIC-1 نیاز است.


سرفصلهای دوره:

 بخش اول: مقدمه‌ای بر سیستم های تعبیه شده (Embedded)

1-1-  مقدمه‌ای بر سیستم‌های تعبیه شده

1-1-1 تعریف

2-1-1 ویژگی‌های سیستم‌های تعبیه شده

3-1-1 انواع سیستم‌های تعبیه شده

4-1-1  معماری های سخت‌افزار سیستم‌های تعبیه شده

5-1-1 نرم‌افزارهای تعبیه شده

2-1  برد رسپبری پای (Raspberry Pi)

1-2-1 معرفی رسپبری پای

2-2-1 مشخصات سخت افزاری

3-2-1 نرم افزارهای رسپبری پای

4-2-1 شبکه بندی

3-1 مروری بر مبانی برق و الکترونیک

1-3-1 مدارهای الکتریکی

2-3-1 الکترونیک نیمه رسانا

3-3-1 اندازه‌گیری الکتریکی

4-3-1 دیودها

5-3-1  ترانزیستورها

6-3-1 مدارات مجتمع

7-3-1 سیگنال ها

8-3-1 مدارات تغذیه

9-3-1  راه انداز ها

10-3-1 Data sheets

 

بخش دوم: لینوکس تعبیه شده (Embedded Linux)

1-2 مقدمه ای بر لینوکس

1-1-2 معرفی لینوکس

2-1-2 مروری بر دستورهای مقدماتی لینوکس

2-2 کار با لینوکس تعبیه شده (Embedded Linux)

1-2-2 ویژگی‌های لینوکس تعبیه شده

2-2-2 انتخاب نسخه لینوکس تعبیه شده یا توکار

1-2-2-2 Raspbian

2-2-2-2 Pidora

3-2-2-2 RASPBMC

4-2-2-2 OPENELEC

 3-2-2 نصب لینوکس بر روی رسپبری پای

4-2-2 کامپایل و سفارشی سازی هسته لینوکس برای رسپبری پای

 

بخش سوم: مقدمات برنامه نویسی پایتون

1-3 مقدمه

1-1-3 برنامه‌ها  و برنامه نویسی

2-1-3 نصب پایتون

3-1-3 IDLE

2-3- شروع برنامه نویسی با پایتون

1-2-3 عبارات ریاضی

2-2-3 انواع داده ای

3-2-3 متغیرها

4-2-3 عبارت انتساب

5-2-3 مقدمات توابع

6-2-3 توابع Built-in

3-3- رشته ها

1-3-3 مبانی

2-3-3 کاراکترهای خروج

3-3-3- رشته‌های چندخطی

4-3-3 دستور print

5-3-3 قالب بندی print

6-3-3 دریافت ورودی از کاربر

4-3 پیمانه ها

1-4-3 import کردن پیمانه ها

2-4-3 تعریف پیمانه های دلخواه

3-4-3 اشیاء و متدها

 

بخش چهارم: کنترل روند اجرای برنامه

1-4 مباحث تکمیلی توابع

1-1-4 نحوه طراحی توابع

2-1-4 Docstrings

3-1-4 توابع به عنوان آرگومان

4-1-4 مقادیر پیش‌فرض پارامتر

2-4 تصمیم گیری

1-2-4 منطق بولی

2-2-4 دستور if

3-2-4 دستور switch

3-4 تکرار

1-3-4 حلقه for

2-3-4 حلقه while

3-3-4 کنترل حلقه ها

1-3-3-4 Break

2-3-3-4 continue  

 

بخش پنجم: ساختمان داده‌ها و الگوریتم ها

1-5 لیست ها

1-1-5 لیست ها و اندیس ها

2-1-5 تغییر دادن لیست ها

3-1-5 استفاده از توابعbuilt-in روی لیست ها

4-1-5 پردازش اقلام لیست

5-1-5 Slicing

6-1-5 Aliasing

7-1-5 متدهای لیست

8-1-5 لیست های تودرتو

2-5 مجموعه ها و دیکشنری ها

1-2-5 مجموعه ها

2-2-5 دیکشنری ها

3-2-5 معکوس کردن یک دیکشنری

3-5 الگوریتم ها

1-3-5 تحلیل زمانی کد

2-3-5 مسأله جستجو

1-2-3-5 جستجوی خطی

2-2-3-5 جستجوی دودویی

3-3-5 مسأله مرتب سازی

1-3-3-5 مرتب سازی حبابی

2-3-3-5 مرتب سازی ادغامی

 

بخش ششم: مباحث تکمیلی

1-6 آزمون خودکار نرم افزار

1-1-6 Doctest

2-1-6 Unittest

2-6 ساخت انواع داده جدید

1-2-6 مقدمه‌ای بر برنامه نویسی شیءگرا

2-2-6 کلاس‌ها در پایتون

3-2-6 مقدمه‌ای بر ارث بری

4-2-6 استثنا‌ءها

3-6 برنامه نویسی تعبیه شده با پایتون

1-3-6 ویژگی های نرم افزارهای تعبیه شده

2-3-6 برنامه‌های پایه برای کار با رسپبری پای

3-3-6 واسط گرافیکی

4-3-6 مبانی GPIO

1-4-3-6 ورودی و خروجی

2-4-3-6 ارتباط سریال

4-6 کنترل سخت‌افزار

1-4-6 وقفه ها

2-4-6 PWM

 

بخش هفتم: حسگر ها و عمل کننده ها

1-7 حسگرها

1-1-7 ویژگی های حسگرها

1-1-1-7 نمونه برداری

2-1-1-7 فراصوت

3-1-1-7 مادون قرمز

4-1-1-7 پتانسیومتر

5-1-1-7 فوتوسل

6-1-1-7 صفحه‌کلید

7-1-1-7 ماوس

8-1-1-7 سوئیچ ها

2-7 عمل کننده ها

1-2-7 موتورها

1-1-2-7 انواع موتورها و ویژگی‌های آن‌ها

2-1-2-7 موتورهای DC

3-1-2-7 موتورهای سروو

4-1-2-7 موتورهای پله ای

1-4-1-2-7 نمایش گرها

2-4-1-2-7 Buzzer

2-2-7 برد Arduino

1-2-2-7 معرفی

2-2-2-7 مشخصات سخت افزاری

3-2-2-7 مثالی از برنامه نویسی آردوئینو

4-2-2-7 ترکیب آردوئینو و رسپبری پای برای داشتن سیستم‌هایی قدرتمند تر

1-4-2-2-7 پروتوکل Firmata

2-4-2-2-7 فریم ها در ارتباط سریال