اینترنت اشیا - IOTرزبری پای - Raspberry PIمعرفی و مقایسه

آموزش میکروپایتون قسمت 1

جلسه ۱: مقدمه‌ای بر میکروپایتون و میکروکنترلرها

اهداف آموزش

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

1. میکروپایتون چیست؟

میکروپایتون (MicroPython) یک پیاده‌سازی سبک‌وزن و بهینه‌شده از زبان برنامه‌نویسی پایتون ۳ است که برای اجرا روی میکروکنترلرها و سیستم‌های نهفته (Embedded Systems) طراحی شده است. این زبان به شما امکان می‌دهد با استفاده از سینتکس ساده و خوانای پایتون، سخت‌افزار را کنترل کنید.

چرا میکروپایتون؟

  • سادگی: یادگیری آسان برای مبتدیان و برنامه‌نویسان پایتون
  • تعامل سریع: امکان اجرای دستورات لحظه‌ای (REPL) و ارتباط مستقیم با برد
  • قابلیت حمل: کد نوشته‌شده روی بردهای مختلف با تغییرات جزئی قابل اجرا است
  • جامعه کاربری گسترده: منابع آموزشی و کتابخانه‌های متنوع

2. تفاوت میکروپایتون با پایتون استاندارد

اگرچه میکروپایتون بسیار شبیه پایتون معمولی است، اما محدودیت‌های سخت‌افزاری باعث ایجاد تفاوت‌هایی شده:

ویژگی پایتون استاندارد میکروپایتون
حافظه رم و حافظه بالا محدود (چند کیلوبایت تا چند مگابایت)
کتابخانه استاندارد کامل و گسترده زیرمجموعه‌ای کوچک و بهینه‌شده
نوع داده تمام انواع داده برخی انواع محدود شده‌اند (مثلاً int با اندازه ثابت)
سیستم عامل اجرا روی ویندوز، لینوکس، مک اجرای مستقیم روی سخت‌افزار (بدون سیستم عامل)
مدیریت حافظه جمع‌آوری زباله (Garbage Collector) دارد، اما با کارایی بالا
دسترسی به سخت‌افزار از طریق کتابخانه‌های جانبی دسترسی مستقیم به پین‌ها، پروتکل‌ها و وقفه‌ها

نکته: کدهای پایتون معمولی را نمی‌توان مستقیماً روی میکروکنترلر اجرا کرد، اما با کمی تغییر (مثلاً جایگزینی کتابخانه‌ها) می‌توان بسیاری از الگوریتم‌ها را منتقل کرد.


3. میکروکنترلرهای پشتیبانی‌کننده از میکروپایتون

میکروپایتون روی طیف گسترده‌ای از میکروکنترلرها اجرا می‌شود. انتخاب برد مناسب به نیاز پروژه، بودجه و سطح تجربه شما بستگی دارد.

 

برد توسعه RP2040-Zero دارای ورودی USB Type-C

برد توسعه RP2040-Zero دارای ورودی USB Type-C

🛒 خرید از ECA

رزبری پای پیکو Raspberry Pi Pico 2 با ورودی Micro USB

رزبری پای پیکو Raspberry Pi Pico 2 با ورودی Micro USB

🛒 خرید از ECA

برد توسعه ESP32-C3 Super Mini دارای WiFi و بلوتوث

برد توسعه ESP32-C3 Super Mini دارای WiFi و بلوتوث

🛒 خرید از ECA

 

الف) ESP32

  • مشخصات: پردازنده دو هسته‌ای، Wi-Fi و بلوتوث داخلی، رم ۵۲۰ کیلوبایت
  • مزایا: قیمت مناسب، قابلیت‌های ارتباطی قوی، مناسب برای پروژه‌های IoT
  • معایب: مصرف انرژی نسبتاً بالا، ولتاژ کاری ۳٫۳ ولت

ب) ESP8266

  • مشخصات: تک هسته‌ای، Wi-Fi داخلی، رم ۸۰ کیلوبایت
  • مزایا: بسیار ارزان، مناسب برای پروژه‌های ساده IoT
  • معایب: حافظه کم، تعداد پین‌های محدود

ج) Raspberry Pi Pico

  • مشخصات: پردازنده RP2040، دو هسته‌ای، رم ۲۶۴ کیلوبایت
  • مزایا: قیمت پایین، مستندات عالی، قابلیت برنامه‌ریزی با C/C++ و میکروپایتون
  • معایب: بدون Wi-Fi و بلوتوث داخلی (با ماژول جانبی قابل اضافه شدن)

د) Pyboard (برد رسمی میکروپایتون)

  • مشخصات: پردازنده STM32، رم ۱۹۲ کیلوبایت، حافظه فلش ۱ مگابایت
  • مزایا: پایداری بالا، پشتیبانی رسمی، مناسب برای پروژه‌های صنعتی
  • معایب: قیمت بالاتر نسبت به رقبا

ه) سایر بردها:

  • BBC micro:bit: مناسب برای آموزش، دارای سنسور و LED ماتریسی
  • Teensy: قدرتمند برای پروژه‌های پیشرفته
  • M5Stack: دارای صفحه نمایش و باتری داخلی

توصیه برای شروع: اگر به اینترنت اشیا علاقه دارید، ESP32 انتخاب ایده‌آلی است. برای یادگیری پایه‌ای و پروژه‌های ساده، Raspberry Pi Pico گزینه مناسبی است.


4. ابزارها و قطعات مورد نیاز برای شروع

برای اجرای اولین برنامه میکروپایتون، به موارد زیر نیاز دارید:

الف) برد میکروکنترلر (یکی از موارد بالا)

ب) کابل USB

  • برای اتصال برد به کامپیوتر (معمولاً USB به micro-USB یا USB-C)
  • اطمینان حاصل کنید کابل داده است (نه فقط شارژ)

ج) کامپیوتر با سیستم‌عامل ویندوز، لینوکس یا مک

د) نرم‌افزار برنامه‌نویسی (انتخابی)

  • Thonny: ساده و مناسب برای مبتدیان
  • uPyCraft: مخصوص میکروپایتون با امکانات آپلود فایل
  • Mu Editor: ساده و آموزشی
  • esptool: برای فلش کردن فریم‌ویر (خط فرمان)

ه) قطعات جانبی (اختیاری برای پروژه‌های آینده)

  • LED و مقاومت: برای تمرین خروجی دیجیتال
  • کلید فشاری: برای ورودی دیجیتال
  • پتانسیومتر: برای ورودی آنالوگ
  • سنسور دما و رطوبت (DHT11): برای پروژه‌های محیطی
  • بردبورد و سیم‌های جامپر: برای اتصال بدون لحیم‌کاری

5. آماده‌سازی ذهنی برای شروع

در این دوره ما قدم به قدم با میکروپایتون آشنا می‌شویم. جلسات بعدی شامل نصب فریم‌ویر، نوشتن اولین برنامه، کار با ورودی/خروجی و پروتکل‌های ارتباطی خواهد بود.

پیشنهاد:

  • اگر تا به حال با الکترونیک کار نکرده‌اید، نگران نباشید. تمام مفاهیم به زبان ساده توضیح داده می‌شود.
  • پیشنهاد می‌کنم یک برد انتخاب کنید و پیش از جلسه بعد آن را تهیه نمایید.
  • در صورت امکان، نرم‌افزار Thonny را روی کامپیوتر خود نصب کنید (از thonny.org قابل دریافت است).

6. تمرین و پرسش‌های پایانی

  1. تحقیق کنید: مشخصات دقیق برد خود را جستجو کرده و یادداشت کنید (نام پردازنده، میزان رم و فلش، تعداد پین‌ها).
  2. مقایسه کنید: دو برد ESP32 و Raspberry Pi Pico را از نظر امکانات و قیمت مقایسه کنید.
  3. بحث گروهی: به نظر شما چه نوع پروژه‌هایی با میکروپایتون قابل پیاده‌سازی هستند؟ (مثال: ایستگاه هواشناسی، ربات‌های ساده، خانه هوشمند)

تا جلسه بعد که به نصب و راه‌اندازی محیط توسعه می‌پردازیم، موفق باشید!

نوشته های مشابه

4 دیدگاه

  1. سلام ضمن تشکر و خسته نباشید عرض کنم اکثر میکرو کنترلر ها با زبان c برنامه نویسی می شوند و قاعدتا این زبان پایه برنامه نویسی هست. برای امثال من که با پایتون آشنایی نداریم بفرمایید چه این زبان چه برتری داره و چه ضرورتی برای یادگیریش هست؟ مثالهای موفقی اگر هست بفرمایید. و اگر ممکنه آموزش ها بر مبنای تراشه های جدید با معماری risc-v باشه. با توجه به ارزانتر و آینده دار بودن این تراشه ها

    1. MicroPython نسبت به C مزیت اصلی‌اش سرعت فوق‌العاده توسعه و اشکال‌زدایی زنده (REPL) است؛ شما بدون نیاز به کامپایل طولانی، کار با کتابخانه‌های سطح بالای پایتون (رشته، لیست، دیکشنری، اعشاری) را دارید و می‌توانید ایده‌های پیچیده را در چند خط کد پیاده کنید. نمونه‌های موفقی مثل OpenMV (بینایی ماشین) و PyBoard نشان می‌دهند که این زبان برای نمونه‌سازی سریع، IoT و رباتیک ایده‌آل است. در مورد معماری RISC-V، بردهای ارزانی مثل ESP32-C3 و Sipeed Longan Nano پشتیبانی رسمی از MicroPython دارند، بنابراین می‌توانید همزمان با یادگیری پایتون، روی سخت‌افزاری آینده‌دار و کم‌هزینه کار کنید و هر جا نیاز به بهینه‌سازی داشتید، همان تراشه را با C نیز برنامه بزنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا