گروه NCCS آماده برگزاری دوره آموزش Raspberrypi برای علاقمندان به این حوزه می باشد.شامل ۳۲ ساعت آموزش مینی کامپیوترهای رزبری پای ،آموزش مباحث پیشرفته از جمله اینترنت اشیا، بینایی ماشین و پردازش تصویر، برنامه نویسی وب،برنامه نویسی پایتون و …
۳۲ ساعت آموزش مینی کامپیوترهای رزبری پای
با ارائه مدرک معتبر
آموزش مباحث پیشرفته از جمله اینترنت اشیا، بینایی ماشین و پردازش تصویر، برنامه نویسی وب، برنامه نویسی Native لینوکس با زبان C، برنامه نویسی سوکت و…
پروژه راه اندازی Leap Motion با رزبری پای، طراحی GUI با PyQT ، کنترل وسایل خانه از طریق تلگرام، رمز الکترونیکی با شناسایی چهره و ریموت کامپایل پروژه با ویژوال استودیو ۲۰۱۷ به سرفصل های این دوره اضافه شد.
روز های برگزاری: جمعه ها از ساعت ۰۸:۰۰ تا ۱۲:۰۰٫ (جلسات به صورت ۴ ساعتی و در ۸ هفته برگزار خواهد شد)
شروع دوره : متعاقبا علام خواهد شد
اتمام دوره: ۸ هفته متوالی پس از شروع دوره
سرفصل ها و پروژه هایی که در این دوره ارائه خواهد شد:
۲ ساعت: Basics of Single Board Computer و Setup and Management
-
- معرفی Single Board Computer و کاربردهای آن در حوزه های تخصصی مثل Robotic، Home Automation و ….
- مروری بر روشهای پیاده سازی سخت افزار در سیستمهای تعبیه شده
- آموزش نصب و راه اندازی اولیه Raspberry Pi
- معرفی سخت افزارها و ادوات اولیه برای راه اندازی Raspberry Pi
- معرفی انواع سیستم عامل های قابل نصب بر روی Raspberry Pi
- آموزش نصب و راه اندازی اولیه سیستم عامل Raspbian
- ۲ ساعت: Raspberry Pi Networking
- مروری بر ساختار شبکه های کامپیوتری، آدرس دهی(استاتیک و دینامیک)، پروتکل ها و …
- معرفی DHCP و نحوه پیدا کردن آدرس IP در سیتم عامل Raspbian
- معرفی پروتکل SSH برای برقرای ارتباط Remote به صورت COMMAND LINE در لینوکس
- آموزش برقراری ارتباط Remote به صورت Desktop با نرم افزار VNC
- آموزش برقراری ارتباط Remote به صورت Desktop از طریق XRDP
- آموزش برقرای ارتباط از طریق کابل(Ethernet) و بی سیم(WiFi و Bluetooth)
پروژه جلسه دوم: ساخت Network Attach Storage با رزبری پای
- ۲ ساعت:Raspberry Pi GPIO Basic’s
- معرفی پین های مربوط به GPIO در رزبری پای
- مروری بر نکات ایمنی ضروری در هنگام استفاده از پینهای GPIO در رزبری پای
- معرفی کتابخانه RPi.GPIO در پایتون برای استفاده از پین های GPIO
- معرفی روش های نام گذاری پین های GPIO در کتابخانه RPi.GPIO
- آموزش تنظیمات مربوط به پایههای GPIO از جمله تنظیم جهت پایهها به صورت ورودی/ خروجی و فعال کردن مقاومت های Pull-UP و Pull-Down
- آموزش نحوه ارسال مقادیر خروجی به GPIO و خواندن از ورودی GPIO
- معرفی و راه اندازی رله و کاربردها
- آموزش استفاده از ترانزیستور برای کاربرد Switching و تقویت جریان
- بررسی با جزئیات پایه های GPIO در چیپ BCM235
- معرفی کلی روش ها ارتباط رزبری با ماژول های TTL
- بررسی درایور های جریان GPIO رزبری پای
- معرفی روش های دسترسی سطح پایین به GPIO برای کاربرد های Real Time
- دسترسی سطح پایین با استفاده از Software Driver
- اسکریپ نویسی لینوکس برای کنترل GPIO
- پروژه کنترل LED با GPIO(رابط نرم افزاری CLI)
- اسکریپت خاموش و روشن کردن LED (اسکریپت لینوکس)
- اسکریپت خواندن کلید و نمایش روی LED ( اسکریپت لینوکس )
- پروژه خواندن کلید با GPIO(رابط برنامه CLI)
- پروژه کنترل LED با GPIO(رابط برنامه GUI)
- پروژه کنترل LED با GPIO(رابط برنامه web)
- ۲ ساعت: Python Basic’s
- معرفی زبان برنامه نویس Python و ویژگی های این زبان(Interpreted-Weakly Typed-…)
- آموزش مقدماتی زبان Python از جمله:
- تعریف متغییر، مقدار دهی، رشته ها، عملیات مقدماتی بر روی رشته
- معرفی یکسری توابع Built in در python برای دستکاری در رشته ها
- معرفی توابع برای دریافت ورودی و ارسال خروجی در محیط CLI
- معرفی انواع عملگرهای زبان Python(عملگرهای ریاضی، منطقی،مقایسه ای، Extrat و …)
- معرفی ساختار های شرطی(if – else – elif)
- معرفی ساختارهای تکرار(while – for)
- نحوه تعریف توابع در python
- ۲ ساعت: Python List and Dictionary’s
- معرفی کلکسیونهای داده در زبان برنامه نویسی Python شامل:
- لیستها، تاپلها، دیکشنری و رشته ها
- معرفی توابع کاربردی برای کار با کلکسیون های داده در Python
- آموزش پیمایش کلکسیون های داده و دسترسی به عضوهای داده
- ۲ ساعت: Controlling Hardware
- معرفی متد Charlieplexing برای کنترل سخت افزار برای حداقل استفاده از پایه های GPIO
- معرفی مکانیزم وقفه در رزبری پای و ویژگی وقفه ها در مینی کامپیوتر ها و تفاوت آن ها با میکروکنترلرها
- معرفی مدولاسیون پهنای پالس (PWM) و نحوه تولید آن با پایه های GPIO در رزبری پای
- معرفی کاربردهای PWM در کنترلر شدت نور و کنترلر دور موتور DC
- آموزش راه اندازی موتور DC و کنترل سرعت و جهت موتور با استفاده از آی سی های L298 و L293D
- پروژه کنترل ۶ LED با ۳ پایه GPIO با روش Charlieplexing
- پروژه خواندن کلید با مکانیزم وقفه
- پروژه ۱ کنترل شدت نور LED با PWM
- پروژه ۲ کنترل شدت نور LED با PWM
- پروژه کنترل دور موتور DC با PWM
- پروژه کنترل دور و جهت موتور DC با آی سی L298
- ۲ ساعت: Advanced Python
- معرفی تابع format از کلاس رشته ها در python
- معرفی مفاهیم شی گرایی، ارث بری در برنامه نویسی
- معرفی کلاس ها و ارث بری در زبان Python
- نحوه نوشتن و خواندن از فایل ها
- معرفی ویژگی قدرتمند Pickling در زبان Python
- معرفی ساختار Try/Except در Python برای مدیریت استثناها
- معرفی کتابخانه smtplib در پایتون برای ارسال و دریافت ایمیل
- معرفی سنسور HCSR501 برای تشخیص حرکت
- معرفی کتابخانه bottle در پایتون برای برنامه نویسی وب
- پروژه تشخیص حرکت با سنسور HCSR501 و ارسال ایمیل
- پروژه ساخت یک وب سرور ساده با رزبری پای
- ۲ ساعت: Internet Of Things
- معرفی مقدماتی ساختار سرویس وب در اینترنت
- معرفی مقدماتی ساختار برنامه نویسی وب، سمت سرور و سمت کلاینت
- معرفی مقدماتی زبان های HTML، JAVA Script برای طراحی صفحات وب
- معرفی وب سرور bottle وبرنامه نویسی تحت وب در پایتون
- معرفی مکانیزم پیشرفته Poll در برنامه نویسی Native لینوکس و کتابخانه Poll.h
- ایجاد پروژه های لینوکسی برای پردازنده های ARM با استفاده از ویژوال استودیو ۲۰۱۷(جدید)
- ریموت دیباگ و ریموت کامپایل با ویژوال استودیو ۲۰۱۷ روی رزبری پای(جدید)
۱-پروژه برنامه تحت وب برای کنترل LED و خواندن کلید ورودی
۲-پروژه خواندن GPIO با مکانیزم پیشرفته Poll و پیاده سازی پروژه با ویژوال استودیو ۲۰۱۷(جدید)
- ۲ ساعت: Tkinter and PyQT GUI Development
- معرفی ساختار برنامه های CLI و GUI
- معرفی کتابخانه Tk و رابط Tkinter
- معرفی کلاس های المان های گرافیکی در Tkinter
- معرفی کلاس Button و Label
- معرفی مفهوم رویداد(Event) در GUI وکنترل رویداد(Event Handling)
- معرفی QT Designer و طراحی GUI(جدید)
- معرفی PyQT و توسعه ی GUI(جدید)
- ۲ ساعت: Raspberry Pi GPIO
- طراحی GUI پروژه روشن و خاموش کردن LED با استفاده از کلاس
- طراحی GUI پروژه کنترل شدت نور LED و کنترل سرعت موتور DC با PWM
- طراحی GUI پروژه کنترل LED RGB
- معرفی روش Direct Register Access برای دسترسی به رجیسترهای GPIO
- معرفی کتابخانه mman.h
- معرفی و نحوه استفاده از تابع mmap() برای map کردن رجیسترها در برنامه کاربر
- معرفی فضای آدرس دهی RAM در رزبری پای(BCM2837)
- معرفی رجیسترهای GPPUP و GPPUDCLK0/1 برای تغییرات Pullup/Down
- مثال کاربردی تغییر Pullup/Down با روش Direct Register Access
- پروژه طراحی GUI خاموش روشن کردن LED
- پروژه طراحی GUI کنترل شدت نور LED و دور موتورDC
- پروژه طراحی GUI کنترل LED RGB
- پروژه تغییر Pullup/Down با روش Direct Register Access
- ۲ ساعت: Tkinter GUI Development
- معرفی کلاس های کتابخانه Tkinter شامل:
- کنترل Frame
- کنترل Entry
- متد مدیریت هندسه gird
- کنترل Checkbutton
- کنترل ListBox
- کنترل Scrollbar
- کنترل Radiobutton
- کنترل Menu
- کنترل Canvas
- ۲ ساعت: Internet Of Things
- معرفی کتابخانه های سیستم عامل برای اندازی گیری دمای پردازنده رزبری پای
- نمایش دما به صورت تحت وب به صورت پویا با استفاده از تکنولوژی AJAX
- معرفی سرویس IFTTT و ارسال ایمیل با استفاده از این سرویس
- معرفی سرویس Thingspeak و ارسال اطلاعات سنسور به صورت Online
- نمایش و پردازش Online اطلاعات در سرویس Thingspeak
- پروژه خواندن دمای پردازنده(رابط CLI)
- پروژه خواندن ذمای پردازنده با برنامه تحت وب به صورت پویا(AJAX)
- پروژه ارسال ایمیل با سرویس IFTTT
- پروژه ارسال اطلاعات به سرویس Thingspeak و پردازش Online
- ۴ ساعت:Raspberry Pi Sensors
- معرفی ماژول فراصوت HCSR04 برای اندازه گیری دقیق فاصله
- راه اندازی ماژول HCSR04 با برنامه CLI و GUI
- معرفی صفحه کلید ماتریسی راه اندازی با رزبری پای
- معرفی موتور پله ای و راه اندازی با رزبری پای
- معرفی رابط I2C رزبری پای و نصب کتابخانه های راه انداز
- معرفی ماژول OLED و راه اندازی(رابط I2C) به همراه مثال های کاربردی
- پروژه راه اندازی ماژول فراصوت برای اندازه گیری فاصله(رابط CLI)
- پروژه راه اندازی ماژول فراصوت برای اندازه گیری فاصله(رابط GUI)
- پروژه راه اندازی صفحه کلید ماتریسی
- پروژه راه اندازی موتور پله ای
- پروژه نمایش ساعت روی OLED
- پروژه بارگذاری و نمایش تصویر روی OLED
- پروژه رسم اشکال مختلف(مستطیل، دایره، چندضلعی و …) روی OLED
- پروژه نمایش متن به صورت انیمیشن سینوسی روی OLED
- ۲ ساعت:Raspberry Pi Computer Vision
- معرفی اجمالی CMake و ابزار های مرتبط برای برای برنامه نویسی Cross Platform
- معرفی اجمالی پروتکل RSTP و Live555 برای انتقال stream ویدیو در شبکه
- معرفی یک پروژه ساخت IP CCTV Camera با رزبری پای
- معرفی دوربین رزبری پای و کتابخانه های مرتبط برای راه اندازی
- معرفی کتابخانه SimpleCV برای پردازش تصویر
- معرفی یکسری توابع مهم و کاربردی از کتابخانه SimpleCV شامل:
الگوریتم تشخیص لبه
الگوریتم تشخیص دایره
الگوریتم تشخیص چهره
تشخیص و ردیابی حرکت- پروژه ساخت IP CCTV Camera با رزبری پای
- پروژه شمارش سکه ها با پردازش تصویر
- پروژه ردیابی و تشخیص حرکت با پردازش تصویر
- پروژه تشخیص چهره و OCR
- ۲ساعت : Internet Of Things
- معرفی برنامه نویسی Socket
- معرفی کتابخانه قدرتمند و متن باز Zero MQ
- معرفی کتابخانه ncurse و pdcurse برای طراحی رابط CLI
- معرفی کتابخانه pthread برای MultiThreading
- پروژه کاربردی ارسال اطلاعات سنسور توسط رزبری در شبکه(publisher)
- پروژه کاربردی دریافت اطلاعات سنسور رزبری توسط کلاینت های شبکه و ارسال فرمان(subscriber)
- معرفی Leap Motion و C++ SDK
- پروژه کاربردی ارسال اطلاعات سنسور توسط رزبری در شبکه(sensor و console)
- پروژه کاربردی دریافت اطلاعات سنسور رزبری توسط کلاینت های شبکه و ارسال فرمان(پروژه کامپایل شده برای ویندوز)
- کتابخانه pthread برای ویندوز
- کتابخانه ZMQ برای ویندوز
- کتابخانه pdcurse برای ویندوز
- پروژه راه اندازی Leap Motion و کنترل LED با استفاده از ZeroMQ