رویداد به پایان رسیده است!
دوره آموزشی مینی کامپیوترهای رزبری پای (پانزدهمین دوره) در تاریخپنج‌شنبه ۱۷ خردادبه پایان رسیده است. (جزئیات بیشتر)

دوره آموزشی مینی کامپیوترهای رزبری پای (پانزدهمین دوره)

شروع:
پنج‌شنبه ۳۰ فروردین ۹۷ ۰۸:۰۰
پایان:
پنج‌شنبه ۱۷ خرداد ۹۷ ۱۲:۰۰
دوره آموزشی مینی کامپیوترهای رزبری پای (پانزدهمین دوره)
برگزارکننده‌ی رویداد
مهلت ثبت‌نام برای این رویداد به پایان رسیده است.

توضیحات بیشتر

برای پانزدهمین بار در ایران مرکز رشد دانشگاه شاهد برگزار میکند:"دوره آموزشی مینی کامپیوترهای رزبری پای"

با ارائه مدرک معتبر (انگلیسی) از مرکز رشد دانشگاه شاهد

 

آموزش مباحث پیشرفته از جمله پایتون، امبد لینوکس، اینترنت اشیا، بینایی ماشین و پردازش تصویر با کتابخانه OpenCV، برنامه نویسی وب، برنامه نویسی سوکت، سنسور لیپ موشن، طراحی GUI با PyQT، پردازش فرمان صوتی برای کنترل اشیا (جدید) و ... پیاده سازی بیش از 50 پروژه الکترونیکی.

ویدیو پروژه کنترل موتور با لیپ موشن (اینجا کلیک کنید)

ویدیو پروژه تشخیص چهره و چشم با رزبری پای(اینجا کلیک کنید)

 

روز های برگزاری: پنج شنبه ها از ساعت 08:00 تا 12:00.

شروع دوره : 30 فروردین ماه سال 97

اتمام دوره: 17 خرداد ماه سال 97

کلاس در 8 جلسه (هر جلسه 4ساعت میباشد) برگزار خواهد شد.

 
سرفصل ها و پروژه هایی که در این دوره ارائه خواهد شد:

*** "سرفصل‌های جـــــلــــســــه اول" ***

2 ساعت اول:  Basics of Single Board Computer  و Setup and Management

    • معرفی Single Board Computer و کاربردهای آن در حوزه های تخصصی مثل Robotic، Home Automation و ….
    • آموزش نصب و راه اندازی اولیه رزبری پای
    • معرفی سخت افزارها و ادوات اولیه برای راه اندازی رزبری پای
    • معرفی انواع سیستم عامل های قابل نصب بر روی رزبری پای
    • آموزش نصب و راه اندازی اولیه سیستم عامل رزبیان
    • راه اندازی و بوت رزبری پای با پورت سریال (UART)
    • راه اندازی LCD و نصب درایور تاچ
    • آموزش نرم افزار git ، سیستم github و ZenHub جهت دانلود پروژه ها و حل تمارین کلاس
    • تنظیمات مقدماتی سیستم عامل رزبیان

  • 2 ساعت دوم: Raspberry Pi Networking
    • مروری بر ساختار شبکه های کامپیوتری، آدرس دهی(استاتیک و دینامیک)، پروتکل ها و …
    • معرفی DHCP و نحوه پیدا کردن آدرس IP در سیستم عامل رزبیان
    • معرفی پروتکل SSH برای برقرای ارتباط ریموت به صورت COMMAND LINE در لینوکس
    • آموزش برقراری ارتباط ریموت به صورت Desktop با نرم افزار VNC
    • آموزش برقراری ارتباط ریموت به صورت Desktop از طریق XRDP
    • آموزش برقرای ارتباط از طریق کابل(Ethernet) و بی سیم(WiFi و Bluetooth)
       پروژه های جلسه دوم:
    • ساخت Network Attach Storage با رزبری پای
    • ساخت Access Point با رزبری پای و به اشتراک گذاری اینترنت پورت Ethernet  از طریق وایفای و Accounting

 

*** "سرفصل‌های جـــــلــــســــه دوم" ***

  • 2 ساعت اول: Raspberry Pi GPIO Basic’s
    • معرفی پین های مربوط به GPIO در رزبری پای
    • مروری بر نکات ایمنی ضروری در هنگام استفاده از پین‌های GPIO در رزبری پای
    • معرفی کتابخانه RPi.GPIO در پایتون برای استفاده از پین های GPIO
    • معرفی روش های نام گذاری پین های GPIO در کتابخانه RPi.GPIO
    • آموزش تنظیمات مربوط به پایه‌های GPIO از جمله تنظیم جهت پایه‌ها به صورت ورودی/ خروجی و فعال کردن مقاومت های Pull-UP و Pull-Down
    • آموزش نحوه ارسال مقادیر خروجی به GPIO و خواندن از ورودی GPIO
    • معرفی و راه اندازی رله و کاربردها
    • آموزش استفاده از ترانزیستور برای کاربرد Switching و تقویت جریان
    • بررسی با جزئیات پایه های GPIO در چیپ BCM237
    • معرفی کلی روش ها ارتباط رزبری با ماژول های TTL
    • بررسی درایور های جریان  GPIO رزبری پای
    • معرفی روش های دسترسی سطح پایین به GPIO برای کاربرد های Real Time
    • دسترسی سطح پایین با استفاده از Software Driver
    • اسکریپ نویسی لینوکس برای کنترل GPIO
      1.  پروژه کنترل LED با GPIO(رابط نرم افزاری CLI)
      2. پروژه خواندن کلید با GPIO(رابط برنامه CLI)
      3. اسکریپت خاموش و روشن کردن LED (اسکریپت Bash)
      4. اسکریپت خواندن کلید و نمایش روی LED ( اسکریپت Bash)

 

  • 2 ساعت دوم: Python Basic’s
      • معرفی دستور Help در پایتون
      • تعریف متغییر، مقدار دهی، رشته ها، عملیات مقدماتی بر روی رشته
      • معرفی توابع کاربردی در پایتون برای کار با رشته ها
      • معرفی توابع برای دریافت ورودی و ارسال خروجی در محیط CLI
      • معرفی انواع عملگرهای زبان پایتون(عملگرهای ریاضی، منطقی،مقایسه ای،  slicing و …)
      • معرفی ساختار های شرطی(if – else – elif)
      • معرفی ساختارهای تکرار(while – for)
      • نحوه تعریف توابع در پایتون
      • ویژگی Optional Parameters در تعریف توابع پایتون
      • تعریف Documentation String در توابع
      • استفاده از دستور import
      • معرفی import search path
      • کار با فایل در پایتون (باز کردن فایل، نوشتن و خواندن از فایل)
      • مدیریت استثناها در پایتون (exception)
      • کاربرد ویژگی  __name__ در فایل های پایتونی
      • انواع DataType در پایتون
      • معرفی Boolean Types
      • معرفی Number Types (Integers, float, fractions, complex)
      • Number Types In Boolean Context

 

*** "سرفصل‌های جـــــلــــســــه سوم" ***

  • 2 ساعت اول: Python Containers
    • معرفی List در پایتون و ویژگی های آن(ordered، mutable)
    • عملگر index در لیست
    • معرفی تابع کاربردی len و استفاده از آن بر روی همه ی sequence ها در پایتون
    • اضافه کردن عنصر جدید به لیست با استفاده از توابع: insert، extend، append
    • حذف کردن از لیست با استفاده از: del operator، remove، pop
    • تجزیه رشته به لیست با استفاده از تابع split
    • پیمایش لیست با استفاده از ساختار for
    • معرفی توابع و عملگر های کاربردی روی لیست: enumerate، sort، slicing operator
    • جستجو در لیست با استفاده از توابع count، index و عملگر in
    • List In Boolean Context
    • معرفی Tuple در پایتون و ویژگی های آن(write protected ,ordered، immutable)
    • عملگر index در tuple
    • Tuple In Boolean Context
    • معرفی ویژگی Assigning Multiple Values At Once در tuple
    • استفاده از tuple در دستور return توابع و return کردن چند مقدار به صورت همزمان
    • معرفی Set در پایتون و ویژگی های آن(unique values، unordered)
    • اضافه کردن عنصر جدید به set با استفاده از توابع add، update
    • حذف کردن از set با استفاده از توابع discard، remove، pop و clear
    • استفاده از عملگر in روی set برای جستجو
    • معرفی توابع کاربردی: union، intersection، difference، symmetric_difference، issubset، issuperset
    • Set In Boolean Context
    • معرفی Dictionary در پایتون و ویژگی های آن(key-value pairs، unordered)
    • عملگر index در دیکشنری
    • پیمایش دیکشنری با استفاده از ساختار for
    • حذف عنصر از دیکشنری با استفاده از تابع pop
    • Dictionary In Boolean Context
    • معرفی None و NoneType در پایتون
    • None In Boolean Context

  • 2 ساعت دوم: 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

 

*** "سرفصل‌های جـــــلــــســــه چهارم" ***

  • 2 ساعت اول: Advanced Python
    • معرفی ماژول OS در پایتون
    • توابع کاربردی در ماژول OS برای Current Directory
    • توابع کاربردی در ماژول OS برای FileSystem و کار با Directory، File و Path
    • معرفی ماژول glob در پایتون برای جستجو File و Directory
    • نحوه دسترسی به File Metadata
    • معرفی List Comprehensions
    • اعمال فیلتر روی List Comprehensions
    • معرفی Dictionary Comprehensions
    • اعمال فیلتر روی Dictionary Comprehensions
    • معرفی تابع items روی دیکشنری
    • معرفی Set Comprehensions
    • معرفی تابع format از کلاس رشته ها در پایتون
    • معرفی مفاهیم شی گرایی، ارث بری در برنامه نویسی
    • معرفی کلاس ها و ارث بری در زبان پایتون
    • معرفی ماژول pickle در پایتون
    • معرفی ماژول urllib در پایتون و ایجاد http request
    • معرفی ماژول smtplib در پایتون برای ارسال و دریافت ایمیل
    • معرفی ماژول bottle در پایتون برای برنامه نویسی وب
      1. پروژه ارسال ایمیل
      2. پروژه ایجاد یک وب سرور ساده با رزبری پای

 

  • 2 ساعت دوم: Internet Of Things
    • معرفی مقدماتی ساختار سرویس وب در اینترنت
    • معرفی مقدماتی ساختار برنامه نویسی وب، سمت سرور و سمت کلاینت
    • برنامه نویسی وب (سمت کلاینت و سمت سرور): پیاده سازی چند پروژه کاربردی تحت وب برای کنترل اشیا و همچنین مانیتورینگ محیط، در این پروژه ها شما با وب سرور bottle در پایتون برای برنامه نویسی سمت سرور و همچنین با HTML و JavaScript برای برنامه نویسی سمت کلاینت آشنا خواهید شد.
    • معرفی سرویس dweet.io: یکی از پیاده سازی های پروتکل M2M (Machine To Machine) است، که میتوانید با استفاده از این سرویس به صوت real time در سرتاسر اینترنت بین دستگاه های خود به تبادل اطلاعات بپردازید، همچنین با استفاده از این سرویس به راحتی میتوانید اشیا را از طریق شبکه های اجتماعی، سایت، تلفن هوشمند و ... کنترل کنید.
      1-پروژه برنامه تحت وب برای کنترل LED و خواندن کلید ورودی
      2-پروژه کنترل اشیا از طریق اینترنت

 

 

*** "سرفصل‌های جـــــلــــســــه پنجم" ***

  • 2 ساعت اول: Tkinter and PyQT GUI Development
    • معرفی ساختار برنامه های CLI و GUI
    • معرفی کتابخانه Tk و رابط Tkinter
    • معرفی کلاس های المان های گرافیکی در Tkinter
    • معرفی کلاس Button و Label
    • معرفی مفهوم رویداد(Event) در GUI وکنترل رویداد(Event Handling)
    • معرفی کلاس های کتابخانه Tkinter شامل:
    • کنترل Frame
    • کنترل Entry
    • متد مدیریت هندسه gird
    • کنترل Checkbutton
    • کنترل ListBox
    • کنترل Scrollbar
    • کنترل Radiobutton
    • کنترل Menu
    • کنترل Canvas
    • معرفی QT Designer و طراحی GUI
    • معرفی PyQT و توسعه ی GUI

 

  • 2 ساعت دوم: Design GUI
    • طراحی GUI پروژه روشن و خاموش کردن LED
    • طراحی GUI پروژه کنترل شدت نور LED  و کنترل سرعت موتور DC با PWM
    • طراحی GUI پروژه کنترل LED RGB
      1. پروژه طراحی GUI خاموش روشن کردن LED
      2. پروژه طراحی GUI کنترل شدت نور LED و دور موتورDC
      3. پروژه طراحی GUI کنترل LED RGB
      4. پروژه طراحی GUI برای کنترل موتور DC

 

 

*** "سرفصل‌های جـــــلــــســــه ششم" ***

  • 2 ساعت اولInternet Of Things
    • معرفی دستورهای های سیستم عامل برای اندازی گیری دمای پردازنده رزبری پای
    • نمایش دما به صورت تحت وب به صورت پویا با استفاده از تکنولوژی AJAX
    • معرفی سرویس IFTTT  و ارسال ایمیل با استفاده از این سرویس
    • معرفی سرویس Thingspeak و ارسال اطلاعات سنسور به صورت Online
    • نمایش و پردازش آنلاین اطلاعات در سرویس Thingspeak
    • معرفی سرویس freeboard.io: با استفاده از این سرویس، اطلاعات ارسال شده از node ها متصل به اینترنت را در قالب ویجت های گرافیکی مختلف مثل guage، chart و ... به نمایش میزاریم.
    • معرفی سرویس  HiveMQ MQTT broker: این سرویس مبتنی بر پروتکل MQTT میباشد، یکی از پروتکل های سبک و متن باز برای اینترنت اشیا است، که ما به معرفی و کار با این سرویس میپردازیم، با استفاده از این سرویس دستگاه های متصل به اینترنت به صورت کاملا real time میتوانند در سطح اینترنت به تبادل اطلاعات بپردازند، همچنین این سریس را میتوان از طریق اپلیکیشن اندرویدی مربوطه استفاده کرد.
    • معرفی سرویس IFTTT.com: یکی از سرویس های محبوب و پرطرفدار برای اینترنت اشیا است، با این سرویس میتوان به راحتی به اطلاعات سرویس های اینترنتی و شبکه های اجتماعی مثل telegram، instagram، gmail، twitter و سرویس های weather، voice call، sms و ...دست یافت و از همه مهمتر بین این سرویس های ارتباط برقرار کرد.
    • معرفی سرویس thingspeak.com: یکی از محصولات شرکت mathworks است، که برای Data Acquisition و Analyse و Act استفاده میشود، با استفاده از این سرویس میتوانید اطلاعات را از سنسور ها به کانالتون بفرستید و در بخش Analyse میتوانید تمامی الگوریتم های نرم افزار متلب را بر روی داده های خود به صورت آنلاین اجرا کنید. 
      1. پروژه خواندن دمای پردازنده(رابط CLI)
      2. پروژه خواندن دمای پردازنده با برنامه تحت وب به صورت پویا(AJAX)
      3. پروژه مانیتورینگ دما به صورت آنلاین و نمایش با استفاده از سرویس freeboard
      4. پروژه مانیتورینگ دما به صورت آنلاین از طریق اینترنت(M2M)
      5. پروژه ارسال ایمیل با سرویس IFTTT
      6. پروژه ارسال اطلاعات سنسورها به سرویس Thingspeak و پردازش Online
      7. پروژه ارسال tweet با سرویس ThingSpeak
      8. پروژه پاسخ به tweet با استفاده از سرویس dweet و IFTTT

 

  • 2 ساعت دوم: Regex In Python
    • معرفی Regular Expression و کاربردها
    • معرفی ماژول re در پایتون
    • معرفی توابع کاربردی sub، search، group، compile در ماژول re
    • آموزش قواعد و عملگرهای کاربردی Regex با حل سه مساله کاربردی

*** "سرفصل‌های جـــــلــــســــه هفتم" ***

  • 2 ساعت اول : Sensor And Modules
    • معرفی ماژول فراصوت HCSR04 برای اندازه گیری دقیق فاصله
    • راه اندازی ماژول HCSR04 با برنامه CLI و GUI
    • معرفی صفحه کلید ماتریسی  راه اندازی با رزبری پای
    • معرفی موتور پله ای و راه اندازی با رزبری پای
    • معرفی رابط I2C رزبری پای و نصب کتابخانه های راه انداز
    • معرفی ماژول OLED و راه اندازی(رابط I2C) به همراه مثال های کاربردی
    • معرفی برنامه نویسی Socket
    • معرفی ماژول قدرتمند و متن باز Zero MQ
    • ماژول threading در پایتون برای برنامه نویسی multithread
    • معرفی Leap Motion و python SDK
    • کنترل اشیا با استفاده از Voice Command:  آموزش کتابخانه SpeechRecognition پایتون، این کتابخانه پایتونی برای تشخیص گفتار از engine های مختلفی استفاده میکند:

         -CMU Sphinx (works offline)
         -Google Speech Recognition
         -Google Cloud Speech API
         -Wit.ai
         -Microsoft Bing Voice Recognition
         -Houndify API
         -IBM Speech to Text
         -Snowboy Hotword Detection (works offline)

    •   پیاده سازی DataSteamNetwork با کتابخانه ZMQ: تبادل اطلاعات به صورت real time و با معماری Publisher/Subscriber را میتوان با استفاده از کتابخانه متن باز ZMQ در شبکه های Local پیاده سازی کرد.


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

 

2 ساعت دوم : Python Closures And Generators

  • معرفی مفهوم closures
  • معرفی closures در پایتون، به همراه مثال های کاربردی
  • معرفی Generator در پایتون و دستور yield
  • کاربرد تابع next در Generator ها
  • پیاده سازی مسئله فیبوناتچی با استفاده از Generator
  • معرفی مقدماتی iterator ها در پایتون

 

*** "سرفصل‌های جـــــلــــســــه هشتم" ***

  • 4 ساعت: Raspberry Pi Computer Vision
    • معرفی دوربین رزبری پای و کتابخانه های مرتبط برای راه اندازی
    • کتابخانه OpenCV برای پردازش تصویر
    • معرفی کاربردی از کتابخانه OpenCV شامل:
      الگوریتم تشخیص لبه
      الگوریتم تشخیص دایره
      الگوریتم تشخیص چهره، چشم
      تشخیص و ردیابی حرکت
      1. پروژه تشخیص چهره و چشم
      2. پروژه شمارش سکه ها با پردازش تصویر
      3. پروژه FaceRecognition و استفاده از چهره به عنوان پسورد
      4. پروژه ردیابی و تشخیص حرکت با پردازش تصویر

آدرس:تهران خیابان انقلاب - خیابان 12 فروردین - خیابان شهدای ژاندارمری - پلاک 99 - مرکز رشد دانشگاه شاهد