
کارگاه طراحی سیستمهای نهفته مبتنی بر بردهای سیستم عامل دار مانند رزبری پای

کارگاه طراحی سیستمهای نهفته مبتنی بر بردهای سیستم عامل دار مانند رزبری پای
زمان شروع دوره: تابستان 1400
روزها و ساعت های برگزاری دوره: متعاقبا اعلام میگردد
محل برگزاری دوره: کارگاه برق دانشگاه صنعتی شریف
برای اطلاع از نحوه ثبت نام در این دوره به مراجعه فرمایید.
پیش نیاز های دوره:
آشنایی با یک زبان برنامه نویسی مثل C/C++ لازم است.
استاد: دکتر محمد جوادیان
دارای دکترای برق از دانشگاه صنعتی شریف
دارای بیش از 16 سال سابقه تدریس در دانشگاه های دولتی، آزاد، پیام نور، علمی کاربردی، و فنی حرفه ای
دارای مقام رباتیک خوارزمی و ایران اپن، و دارای سالها سابقه کار در زمینه طراحی الکترونیک، میکروکنترلر و برق صنعتی
دارای سالها سابقه تدریس میکروکنترلرها و ریزپردازنده ها در دانشگاه ها.
مدرک پایان دوره:
اعطای گواهینامه معتبر دو زبانه پایان دوره
مدت دوره:
48 ساعت
مخاطبین:
مخاطبین دوره علاقه مندان به طراحی سیستمهای نهفته.
علاقه مندان به یادگیری مقدماتی زبان پایتون برای سیستمهای نهفته Embedded.
علاقه مندان به یادگیری مقدماتی سیستم عامل لینوکس.
علاقه مندان به آشنایی با اصول و نحوه عملکرد بوردهای سیستم عامل دار.
فرقی ندارد که شما مهندس برق یا کامپیوتر باشید، حتی اگر هیچکدام اینها نباشید اما علاقه مند به پیاده سازی و ساخت ایده های خود هستید این دوره به شما کمک میکند. زیرا
رزپبری پای یک رایانه ارزان قیمت است که برای شما هر کاری که از یک رایانه توقع دارید را انجام میدهد. مثل مشاهده فیلم و فعالیت در شبکه های مجازی و اینترنت.
رزپبری پای یک محیط برنامه نویسی فوق العاده ساده با قابلیت برنامه نویسی به زبانهای مختلف برنامه نویسی را برای شما فراهم می آورد. قابلیت پیاده سازی وب سرور، الگوریتمهای هوش مصنوعی، الگوریتمهای پردازش صوت و تصویر و بینایی ماشین را نیز دارد
این دوره برای اساتید دانشگاه نیز بسیار مفید است زیرا مفاهیمی که در این دوره گفته میشود بسیار اصولی، پایه ای، جدید و بدیع بوده بطوریکه یک استاد دانشگاه با شرکت در این دوره میتواند اطلاعات و دانش خود را به روز نماید. حتی شما میتوانید ایده بگیرید و کلاسهای خود را با استفاده از این بوردها اجرا نموده و پیش ببرید.
ما همچنین برای راه اندازی کارگاه سیستم عامل و کارگاه برنامه نویسی و کارگاه سخت افزار میتوانیم ایده های خوبی به شما بدهیم.
اگر شما یک کارشناس شبکه های کامپیوتری هستید نیز این دوره میتواند برای شما مفید باشد. با استفاده ازRaspberry pi میتوانید بیشتر سرویس های معروف شبکه نظیر DNS,DHCP,SMB,WEBSERVER,FTP و را با هزینه بسیار کم راه اندازی نمایید، و میتوانید با یک کامپیوتر 25 دلاری وظایف یک سرور چند هزار دلاری را تا حدی اجرا و ساده نمایید .
اگر شما کارشناس برق هستید نیز این دوره میتواند در بحثهای هوشمندسازی ساختمان ایده های خوبی را برای شما به ارمغان بیاورد.
اگر شما یک کارشناس مکاترونیک یا علاقمند به ساخت ربات هستید میتوانید از بوردهای رزپبری پای برای رسیدن به آرزوهای خود استفاده نمایید.
در واقع دوره Raspberry pi برای تمام افرادی که فکرش را بکنید بسیار مفید است، یک کودک 7 ساله میتواند با Raspberry pi و نرم افزار Scratch کار کند و از طرفی یک مهندس برق خبره نیز میتواند از Raspberry pi بهره مند گردد، در واقع این دوره میتواند جهش عظیمی در زندگی شما پدید اورد چرا که شما را با امکانات جدیدی آشنا میکند که بسیار برایتان کارساز می باشد.
کاربرد ها، مهارت ها و توانایی های اکتسابی پس از گذراندن دوره:
شرکت کنندگان در این دوره با اصول کارکرد بوردهای سیستم عامل دار آشنا خواهند شد و توانایی کار کردن با انواع این بوردها را خواهند داشت.
همچنین شرکت کنندگان این دوره با زبان پایتون و چندین کتابخانه معروف آن آشنا خواهند شد.
شرکت کنندگان این دوره توانایی طراحی یک GUI مناسب برای طراحی های خود را بدست خواهند آورد.
توانایی کار با پورتهای مختلف بورد، توانایی کنترل بورد از راه دور، توانایی انجام پروژه های عملی و کاربردی مختلف
آشنایی با اصول اینترنت اشیاء و انجام پروژه های مربوطه مبتنی بر بوردهای رزپبری را بدست خواهند آورد.
شرکت کنندگان در این دوره با سیستم عامل لینوکس بصورت مقدماتی آشنا خواهند شد.
آشنایی با راه اندازی ماژول های پرکاربردی نظیر دماسنج ، فاصله سنج ، ماژول ارسال SMS و....
توانایی اجرای یک پروژه را از مرحله طرح سوال به اجرا بر روی رزبری پای و ارائه آن به مشتری.
افزایش قدرت درک خود از مفاهیم اینترنت اشیا و هوشمند سازی.
افزایش قدرت برنامه نویسی و دانش کار با ابزارهای تحت شبکه در دنیای اینترنت.
معرفی دوره:
سیستم های تعبیه شده (توکار یا Embedded) سیستمهای مکاترونیکی هستند که در داخل آنها از یک پردازنده الکترونیکی استفاده میشود. سیستمهای نهفته مبتنی بر رسپبری پای (Raspberry Pi) به عنوان یکی از موفق ترین سیستمهای تعبیه شده مبتنی بر میکروکنترلر ARM شناخته میشود که به کمک سیستم عامل لینوکس میتواند بستر مناسبی برای نمونه سازی و ساخت سیستمهای مکاترونیکی ایجاد نماید. زبان برنامه نویسی پایتون هم شاید بهترین گزینه جهت توسعه نرم افزاری کنترلی برای این بستر باشد.
امروزه، استفاده از بردهایی با اندازه کوچک دارای قابلیت های زیاد، روز به روز در حال گسترش می باشد. بطوریکه با ورود مینی کامپیوترها به بازار تمایل شدیدی از سمت شرکت ها و مهندسین برای استفاده از ان ها در محصولات نشان داده شد. زیرا هم دارای قیمت مناسب و هم دارای سادگی در طراحی و پیاده سازی هستند. همچنین قدرت بالای مینی کامپیوترها آن ها را تبدیل به یک ابزار مناسب برای اجرای پروژه های صنعتی نموده است. مینی کامپیوتر های زیادی نظیر Orange Pi , Banana Pi , beaglebone و... توسط شرکتهای مختلف ارائه شده اند که از میان آنها مینی کامپیوتر Raspberry Pi از نظر قدرت، قیمت و کارایی و پشتیبانی بسیار کارآمد است. برد رزبری پای دارای تعداد زیادی پایه های ورودی / خروجی (GPIO) می باشد که با استفاده از GPIO ها می توان قطعات الکترونیکی مختلف را به برد متصل کرده و آن ها را راه اندازی کرد. بیشترین کاربرد بردهای مذکور، در صنعت رباتیک، هوشمند سازی، اتوماسیون و طرح های پژوهشی و تحقیقی می باشد. شما همچنین می توانید مانند همه کیس های کامپیوتر به بورد رزپبری پای خود موس و کیبورد و انواع حافظه های جانبی و کابل LAN و دوربین و کابل صدا و … وصل کنید. این برد می تواند همان قابلیت های کیس کامپیوتر را با قدرت کمتر برای شما ارائه بدهد. با این برد می توان مثل کامپیوترهای معمولی صفحات وب را مرور کرد و فیلم HD تماشا کرد، برنامه نویسی کرد، انواع بازی ها را انجام داد و هر کار دیگری که می توان به وسیله یک کامپیوتر انجام داد را انجام داد.
در این دوره آموزشی نحوه استفاده از برد رزبری پای (Raspberry Pi) آموزش داده شده است. راه اندازی رزبری با استفاده از روش های مختلف بیان گردیده است، انواع ماژول ها و قطعات الکترونیکی مختلف با استفاده از رزبری پای راه اندازی شده است (مانند راه اندازی ماژول دوربین و تاچ(LCD) . ب
لازم به ذکر است که برای یادگیری این آموزش نیاز به پیش نیاز خاصی نمی باشد و برای افرادی که به مباحث اینترنت اشیا (IOT) و هوشمند سازی علاقه مند هستند، اشرکت در این دوره توصیه می گردد.
توسعه محصولات دیجیتال در جوامع انسانی و بروز فناوری نوظهور اینترنت اشیا ، از جمله مهمترین عواملی است که باعث افزایش مصرف میکروکنترلرها و پردازنده های تک منظوره در دنیا شده است . از طرفی با توجه به گستره کاربرد اینترنت در جوامع سعی می شود تا محصولات ارائه شده توسط شرکت ها هماهنگ و مطابق تکنولوژی روز باشد و قابلیت ارتباط با شبکه را نیز دارا باشد.
دوره آموزشی پیش رو با نام Raspberry pi Blueprint پاسخی است به رویاهای کودکی بیشتر ما که امروزه در دنیای فناوری اطلاعات فعالیت می کنیم و از کودکی آرزوی خلق یک اختراع بزرگ یا ساخت دستگاهی را در سرپرورانده ایم که بتواند کارهای خارق العاده ای را انجام دهد !
تدریس در فضای آموزشی کاملا آماده و همراه با بردهای آموزشی رزبری پای انجام می شود تا دانشجویان در طول دوره کارهای عملی با Raspberry Pi را بیشتر انجام دهند .
سرفصلهای کارگاه:
مقدمه: مقدمهای بر سیستمهای تعبیه شده
- معرفی انواع امبدد سیستمها
- ویژگیهای سیستمهای تعبیه شده
- معماری های سختافزار سیستمهای تعبیه شده
- نرمافزارهای تعبیه شده
درس یکم: آشنایی با برد رزبری پای (Raspberry Pi)
- معرفی Single Board Computer و کاربردهای آن در حوزه های تخصصی مثل Robotic، Home Automation و ….
- آشنایی با تاریخچه برد رزبری پای (Raspberry Pi)
- مقایسه انواع مختلف بردهای رزبری پای و بررسی مشخصات آن ها
- تشریح قسمت های مختلف برد رزبری پای به صورت کامل
- معرفی برخی از رقیب های برد رزبری پای و بررسی مزایا و معایب هر کدام از بردها
درس دوم: راه اندازی برد رزبری پای (Raspberry Pi)
- معرفی سخت افزارها و ادوات اولیه برای راه اندازی Raspberry Pi
- معرفی انواع سیستم عامل های قابل نصب بر روی Raspberry Pi و بررسی تفصیلی هر یک از آن ها
- آموزش نصب و راه اندازی اولیه سیستم عامل Raspbian
- آموزش نصب سیستم عامل و نحوه bootable کردن سیستم عامل روی SD Card
- آشنایی با محیط سیستم عامل رزبین و منوهای مربوطه
- کامل تنظیمات و پیکربندی برد رزبری پای بعد از نصب سیستم عامل
- معرفی محیط گرافیکی سیستم عامل رزبین
- مروری بر ساختار شبکه های کامپیوتری، آدرس دهی(استاتیک و دینامیک)، پروتکل ها و …
- معرفی DHCP و نحوه پیدا کردن آدرس IP در سیتم عامل Raspbian
- تنظیمات اولیه برد رزبری و راه اندازی شبکه، بلوتوث و …
- ریموت زدن به برد رزبری پای با استفاده از پروتکل SSH (Secure Shell) به صورت COMMAND LINE در لینوکس
- آموزش انتقال فایل از PC به رزبری پای از طریق SFTP
- ریموت زدن به برد رزبری با استفاده از Remote Desktop
- اتصال به برد رزبری با استفاده از نرم افزار MobaXTerm
- اتصال به برد رزبری با استفاده از نرم افزار VNC Viewer
- آموزش برقراری ارتباط Remote به صورت Desktop از طریق XRDP
- آشنایی و آموزش نرم افزار Putty
درس سوم: آشنایی با محیط رزبین و آموزش دستورات Linux Command Line
- معرفی لینوکس
- مروری بر دستورهای مقدماتی لینوکس
- آشنایی با خط فرمان لینوکس برای مدیریت رزبری پای
- ساختار فایل ها و دایرکتوری ها در سیستم های لینوکسی
- ساختار FHS در سیستم های لینوکسی
- دستورات خط فرمان برای کنترل رزبری پای
- دستورات استخراج مشخصات سیستم
- دستورات کار با فایل ها و دایرکتوری ها
- دستورات مربوط به خاموش کردن برد رزبری پای
- دستورات مربوط به شبکه
- دستورات مربوط به اعمال سطوح دسترسی و تعریف کاربران جدید
- دستورات مربوط به فشرده سازی فایل ها و پوشه ها
- دستورات مربوط به نصب نرم افزار ها و پکیج ها و کتابخانه در محیط ترمینال
- راه اندازی انواع LCD های گرافیکی توسط رزبری پای
درس چهارم: نصب نرم افزارهای کاربردی بر روی رزبری پای
- نصب و پیکربندی صفحه کلید مجازی
- نصب و پیکربندی Player مناسب برای رزبری
- برنامه نویسی برد آردوینو با استفاده از برد رزبری پای
- مقیم کردن برنامه های اجرایی و اسکریپت ها در برد رزبری پای
- بکاپ گیری از سیستم عامل برد رزبری پای
درس پنجم: برنامه نویسی در رزبری پای و آموزش زبان برنامه نویسی پایتون
- آشنایی با نحوه برنامه نویسی روی رزبری پای ، کامپایل و اجرای برنامه
- معرفی انواع زبان های برنامه نویسی برای کار با رزبری پای نظیر پایتون , C++ و ...
- شروع برنامه نویسی با پایتون
- عبارات ریاضی
- انواع داده ای
- متغیرها
- عبارت انتساب
- مقدمات توابع
- توابع Built-in
- رشته ها
- رشتههای چندخطی
- دستور print
- دریافت ورودی از کاربر
- پیمانه ها
- import کردن پیمانه ها
- اشیاء و متدها
- کنترل روند اجرای برنامه
- نحوه طراحی توابع
- تصمیم گیری
- دستور if switch
- تکرارحلقه for، while
- Break، continue
- ساختمان دادهها و الگوریتم ها
- معرفی کلکسیونهای داده در زبان برنامه نویسی Python شامل:
- لیستها، تاپلها، دیکشنری و رشته ها
- آموزش پیمایش کلکسیون های داده و دسترسی به عضوهای داده
- لیست ها
- لیست ها و اندیس ها
- مجموعه ها و دیکشنری ها
- مجموعه ها
- دیکشنری ها
- معکوس کردن یک دیکشنری
- ساخت انواع داده جدید
- معرفی مفاهیم شی گرایی، ارث بری در برنامه نویسی
- معرفی کلاس ها و ارث بری در زبان Python
- نحوه نوشتن و خواندن از فایل ها
- معرفی ویژگی قدرتمند Pickling در زبان Python
- معرفی ساختار Try/Except در Python برای مدیریت استثناها
- معرفی کتابخانه smtplib در پایتون برای ارسال و دریافت ایمیل
- استثناءها
درس ششم:: Tkinter and PyQT GUI Development
- معرفی ساختار برنامه های CLI و GUI
- معرفی کتابخانه Tk و رابط Tkinter
- معرفی کلاس های المان های گرافیکی در Tkinter
- معرفی کلاس Button و Label
- معرفی مفهوم رویداد(Event) در GUI وکنترل رویداد(Event Handling)
- معرفی QT Designer و طراحی GUI
- معرفی PyQT و توسعۀ GUI
- معرفی کلاس های کتابخانه Tkinter شامل:
- کنترل Frame
- کنترل Entry
- متد مدیریت هندسه gird
- کنترل Checkbutton
- کنترل ListBox
- کنترل Scrollbar
- کنترل Radiobutton
- کنترل Menu
- کنترل Canvas
درس هفتم: برنامه نویسی تعبیه شده با پایتون
- ویژگی های نرم افزارهای تعبیه شده
- واسط گرافیکی
- مروری بر نکات ایمنی ضروری در هنگام استفاده از پینهای GPIO در رزبری پای
- کنترل ورودی و خروجی پایه های GPIO
- معرفی پین های مربوط به GPIO در رزبری پای
- معرفی کتابخانه RPi.GPIO در پایتون برای استفاده از پین های GPIO
- آموزش تنظیمات مربوط به پایههای GPIO
- آموزش نحوه ارسال مقادیر خروجی به GPIO و خواندن از ورودی GPIO
- طراحی GUI پروژه روشن و خاموش کردن LED با استفاده از کلاس
- طراحی GUI پروژه کنترل شدت نور LED و کنترل سرعت موتور DC با PWM
- معرفی مکانیزم وقفه در رزبری پای و ویژگی وقفه ها در مینی کامپیوتر ها و تفاوت آن ها با میکروکنترلرها
- ارتباط سریال
- کنترل سختافزار
- وقفه ها
- معرفی مدولاسیون پهنای پالس (PWM) و نحوه تولید آن با پایه های GPIO در رزبری پای
- پروژه خواندن کلید با مکانیزم وقفه
- پروژه ۱ کنترل شدت نور LED با PWM
- انواع موتورها، DC، servo، Stepper
- پروژه کنترل دور و جهت موتور DC با آی سی L٢٩٨
درس هشتم: حسگر ها و عمل کننده ها
- حسگر ها
- ویژگی های حسگرها
- نمونه برداری
- خواندن دما و رطوبت با پایتون
- فراصوت ultrasonic
- پتانسیومتر
- فوتوسل
- عمل کننده ها
- معرفی و راه اندازی رله و کاربردها
- آموزش استفاده از ترانزیستور برای کاربرد Switching و تقویت جریان
- معرفی کلی روش ها ارتباط رزبری با ماژول های TTL
- معرفی روش های دسترسی سطح پایین به GPIO برای کاربرد های Real Time
- اسکریپ نویسی لینوکس برای کنترل GPIO
- نمایش گرها
- Buzzer
درس نهم: پردازش تصویر در رزبری پای
- اتصال دوربین به رزبری پای
- تنظیمات دوربین
- کدنویسی دوربین با پا
آموزش های مرتبط





