دوره آموزش Raspberry pi (فعال)

گروه 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
      1.  پروژه کنترل LED با GPIO(رابط نرم افزاری CLI)
      2. اسکریپت خاموش و روشن کردن LED (اسکریپت لینوکس)
      3. اسکریپت خواندن کلید و نمایش روی LED ( اسکریپت لینوکس )
      4. پروژه خواندن کلید با GPIO(رابط برنامه CLI)
      5. پروژه کنترل LED با GPIO(رابط برنامه GUI)
      6. پروژه کنترل 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
      1. پروژه کنترل ۶ LED با ۳ پایه GPIO با روش Charlieplexing
      2. پروژه خواندن کلید با مکانیزم وقفه
      3. پروژه ۱ کنترل شدت نور LED با PWM
      4. پروژه ۲ کنترل شدت نور LED با PWM
      5. پروژه کنترل دور موتور DC با PWM
      6. پروژه کنترل دور و جهت موتور DC با آی سی L298

  • ۲ ساعت: Advanced Python
    • معرفی تابع format از کلاس رشته ها در python
    • معرفی مفاهیم شی گرایی، ارث بری در برنامه نویسی
    • معرفی کلاس ها و ارث بری در زبان Python
    • نحوه نوشتن و خواندن از فایل ها
    • معرفی ویژگی قدرتمند Pickling در زبان Python
    • معرفی ساختار Try/Except در Python برای مدیریت استثناها
    • معرفی کتابخانه smtplib در پایتون برای ارسال و دریافت ایمیل
    • معرفی سنسور HCSR501 برای تشخیص حرکت
    • معرفی کتابخانه bottle در پایتون برای برنامه نویسی وب
      1. پروژه تشخیص حرکت با سنسور HCSR501 و ارسال ایمیل
      2. پروژه ساخت یک وب سرور ساده با رزبری پای

  • ۲ ساعت: 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
      1. پروژه طراحی GUI خاموش روشن کردن LED
      2. پروژه طراحی GUI کنترل شدت نور LED و دور موتورDC
      3. پروژه طراحی GUI کنترل LED RGB
      4. پروژه تغییر 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
      1. پروژه خواندن دمای پردازنده(رابط CLI)
      2. پروژه خواندن ذمای پردازنده با برنامه تحت وب به صورت پویا(AJAX)
      3. پروژه ارسال ایمیل با سرویس IFTTT
      4. پروژه ارسال اطلاعات به سرویس Thingspeak و پردازش Online

  • ۴ ساعت:Raspberry Pi Sensors

    • معرفی ماژول فراصوت HCSR04 برای اندازه گیری دقیق فاصله
    • راه اندازی ماژول HCSR04 با برنامه CLI و GUI
    • معرفی صفحه کلید ماتریسی  راه اندازی با رزبری پای
    • معرفی موتور پله ای و راه اندازی با رزبری پای
    • معرفی رابط I2C رزبری پای و نصب کتابخانه های راه انداز
    • معرفی ماژول OLED و راه اندازی(رابط I2C) به همراه مثال های کاربردی
      1. پروژه راه اندازی ماژول فراصوت برای اندازه گیری فاصله(رابط CLI)
      2. پروژه راه اندازی ماژول فراصوت برای اندازه گیری فاصله(رابط GUI)
      3. پروژه راه اندازی صفحه کلید ماتریسی
      4. پروژه راه اندازی موتور پله ای
      5. پروژه نمایش ساعت روی OLED
      6. پروژه بارگذاری و نمایش تصویر روی OLED
      7. پروژه رسم اشکال مختلف(مستطیل، دایره، چندضلعی و …)  روی OLED
      8. پروژه نمایش متن به صورت انیمیشن سینوسی روی OLED

  • ۲ ساعت:Raspberry Pi Computer Vision
    • معرفی اجمالی CMake و ابزار های مرتبط برای برای برنامه نویسی Cross Platform
    • معرفی اجمالی پروتکل RSTP و Live555 برای انتقال stream ویدیو در شبکه
    • معرفی یک پروژه ساخت IP CCTV Camera با رزبری پای
    • معرفی دوربین رزبری پای و کتابخانه های مرتبط برای راه اندازی
    • معرفی کتابخانه SimpleCV برای پردازش تصویر
    • معرفی یکسری توابع مهم و کاربردی از کتابخانه SimpleCV شامل:
      الگوریتم تشخیص لبه
      الگوریتم تشخیص دایره
      الگوریتم تشخیص چهره
      تشخیص و ردیابی حرکت

      1. پروژه ساخت IP CCTV Camera با رزبری پای
      2. پروژه شمارش سکه ها با پردازش تصویر
      3. پروژه ردیابی و تشخیص حرکت با پردازش تصویر
      4. پروژه تشخیص چهره و OCR

  • ۲ساعت : Internet Of Things

    • معرفی برنامه نویسی Socket
    • معرفی کتابخانه قدرتمند و متن باز Zero MQ
    • معرفی کتابخانه ncurse و pdcurse برای طراحی رابط CLI
    • معرفی کتابخانه pthread برای MultiThreading
    • پروژه کاربردی ارسال اطلاعات سنسور توسط رزبری در شبکه(publisher)
    • پروژه کاربردی دریافت اطلاعات سنسور رزبری توسط کلاینت های شبکه و ارسال فرمان(subscriber)
    • معرفی Leap Motion و C++ SDK
      1. پروژه کاربردی ارسال اطلاعات سنسور توسط رزبری در شبکه(sensor و console)
      2. پروژه کاربردی دریافت اطلاعات سنسور رزبری توسط کلاینت های شبکه و ارسال فرمان(پروژه کامپایل شده برای ویندوز)
      3. کتابخانه pthread برای ویندوز
      4. کتابخانه ZMQ برای ویندوز
      5. کتابخانه pdcurse برای ویندوز
      6. پروژه راه اندازی Leap Motion  و کنترل LED با استفاده از ZeroMQ     
0 دیدگاه

دیدگاه خود را بنویسید: