اینترنت اشیا - IOTتازه هامیکروپایتون

میکروپایتون : پایتون برای میکروکنترلرها!

سر فصل های میکروپایتون پایتون برای میکروکنترلرها :

  • میکروپایتون چیست؟
  • چرا از micropython استفاده کنیم؟
  • مقایسه میکروپایتون با C و ++C
  • مقایسه سرعت میکروپایتون با C
  • میکروپایتون از چه میکروکنترلر هایی پشتیبانی میکند؟
  • راهنمای شروع سریع micropython

چرا پایتون؟

پایتون یک زبان برنامه نویسی آسان برای یادگیری است. نوشتن برنامه در پایتون با کدهای ساده و کوتاه آسان است. علاوه بر این ، پایتون در حال رشد است  زیرا دارای یک جامعه فعال و بزرگ است.

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

میکروپایتون نوعی از پایتون 3 است. که شامل یک زیر مجموعه کوچک از کتابخانه های استاندارد پایتون است. و برای اجرا بر روی میکروکنترلرهای با منابع محدود مانند ROM و RAM محدود بهینه شده است. این نسخه از زبان پایتون سرعت بالایی دارد. و قابل استفاده برای برخی میکروکنترلر‌ها مانند رزبری پای پیکو (Raspberry Pi Pico) pyboard ،Wipy، ESP32 ، ESP8266 و MicroBit است.

جدا از برخی تفاوت ها که در پاراگراف های بعدی شرح داده شده است. آنچه در مورد پایتون می دانید در مورد میکروپایتون نیز صدق می کند.

آشکار ترین تفاوت بین پایتون معمولی و Micropython این است که:

میکروپایتون برای کار در شرایط بسیار محدود (مانند فقط 16 کیلوبایت RAM) طراحی شده است. میکروپایتون مستقیماً بر روی سخت افزار  اجرا می شود: هیچ سیستم عاملی مانند ویندوز ، macOS یا Linux مابین سخت افزار و پایتون وجود ندارد. کلیه عملیات و خدماتی که معمولاً توسط سیستم عامل ارائه می شود مستقیماً توسط میکروپایتون اداره می شود. میکروپایتون کنترل کامل و مستقیم سخت افزار را بر عهده دارد. در واقع Micropython یک سیستم عامل است.

به غیر از چند استثنا ، تمام ویژگی های زبان پایتون در میکروپایتون نیز وجود دارد. به دلیل ماهیت محدود میکروکنترلرها ، Micropython به طور پیش فرض از كتابخانه استاندارد كامل برخوردار نیست. در عوض ، بسته به میکروکنترلر ، با زیر مجموعه ای از کتابخانه استاندارد همراه خواهد بود. تمام نسخه های Micropython دارای ماژول هایی برای تعامل با سخت افزار ، پین های GPIO (ورودی / خروجی) ، ماژول ها و قطعات (سنسور ها – صفحه نمایش – … ) هستند.

از آنجا که میکروپایتون نسخه ای از پایتون 3 است ، شمااز ویژگی های زیر برخوردار خواهید بود:

  •  شی گرایی پایتون
  • انواع داده ها (مانند رشته های یونی کد ، اعداد صحیح و اعداد شناور)
  • ساختار داده ها (مانند لیست ها ، مجموعه ها و دیکشینری ها)
  • ماهیت بسیار پویای اشیای پایتون
  • توابع به عنوان اشیا
  • تعداد جامعی از توابع داخلی پایتون

از آنجا که میکروپایتون بر روی دستگاه هایی با قابلیت های مختلف اجرا می شود. در دسترس بودن ویژگی ها و ماژول ها گاهی متفاوت خواهد بود. مثلا میکروکنترلر هایی با قابلیت های ویژه مانند WiFi شامل ماژول هایی برای پشتیبانی از این ویژگی ها خواهند بود.

چرا از میکروپایتون استفاده کنیم؟

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

  1. برنامه نویسان پایتون میتوانند میکروکنترلر ها را با استفاده از زبان مورد علاقه خود امتحان کنند.
  2. توسعه دهندگان embedded  که از زبان C و سایر زبان های سنتی استفاده می کنند از سهولت استفاده و کتابخانه های غنی پایتون استفاده می کنند.
  3. برنامه نویسان مبتدی به آسانی قادر به ایجاد پروژه های خود با استفاده میکروکنترلر ها و قابلیت های گسترده آن خواهند بود.

مقایسه میکروپایتون با C و ++C

اگر شما یک برنامه نویس باتجربه میکروکنترلر هستید ، ممکن است این سوال را بپرسید ، “C چه مشکلی دارد؟” هیچ چیز ، و من درگیر  بحث های غیر مفید بین زبان های مختلف نمی شوم. زمان هایی وجود دارد که C کاملاً زبان درستی است. و توسعه دهندگان باید از بهترین ابزار برای حل مشکل موجود استفاده کنند.

با این حال ، در بسیاری از شرایط ، میکروپایتون از C بهتر عمل می کند. هنگام نمونه سازی ، میکروپایتون بسیاری از ویژگی های مفید را به شما می دهد. یک برنامه نویس C می تواند فقط  در یک بعد از ظهر نمونه اولیه پروژه خود را در میکروپایتون راه ندازی کند. در حالی که قبلاً یک هفته در C طول می کشید. گاهی اوقات چند خط ساده از میکروپایتون قادر به انجام صدها خط C هستند ، به همین دلیل تهیه چنین کدی آسان تر است .

مقایسه سرعت میکروپایتون با C

در مقایسه با سرعت بالاتر زبان C میکروپایتون اغلب به اندازه کافی سریع است و منابع محدود را به خوبی مدیریت می کند. می توان به خاطر راحتی و ویژگی های میکروپایتون از این تفاوت چشم پوشی کرد. (در مواردی خاص که نیاز به سرعت بالاتر است این گزاره صحیح نیست.)

در هر صورت ، جایی که C ابزار مناسبی است. می توان ماژول های میکروپایتون را در C نوشت و از آنها در کد پایتون به صورت توکار استفاده کرد.

مطلب در هفته های آینده آپدیت شده و تکمیل می شود.

منابع:

 

علی عزتی

علی عزتی هستم. رشته ی مهندسی برق الکترونیک رو خوندم. علاقه ی من به یادگیری و به اشتراک گذاشتن چیز هایی که یاد گرفتم. باعث شد تا الکترولب ایجاد بشه. علاقه ی زیادی به الکترونیک دارم. و دوست دارم چیزهای جدید یادبگیرم و بسازم ... :))

7 Comments

  1. درود علی جان
    خیلی ممنون از مطلبی که نوشتی
    اما من کاملا متوجه نشدم که آیا برای کار با میکرو کنترلرها ، میکروپایتون کفایت می کنه یا اینکه بعضی جاها زبان C ارجحیت داره؟

    1. سلام

      ممنون که نوشته رو خوندی کاملا به کاربردی که از میکروکنترلر انتظار دارید وابسته است تنها تفاوت در کاربردهایی هست که سرعت فاکتور مهمی در اون ها به شمار میاد ولی در 90 درصد مواقع معمولا زیاد تفاوتی ایجاد نمیکنه و اینو بگم که شروع کردن با میکروپایتون راحت تر از C است و توصیه میشه و برای کارهای معمول هیچ مشکلی نخواهید داشت.

    2. سلام مهندس
      من هنرجوی رشته الکترونیک هستم و به شدت علاقه مند به این رشته هستم.
      من برنامه نویسی میکرو کنترلر به زبان بیسیک رو بلدم و کمی C اما هیچ اطلاعاتی راجبه پایتون ندارم.

      بنظرتون کدام یک کاربردی تره؟
      پایتون یا سی؟
      (منظورم در حد پروژه های معمولی نیست)

  2. سلام
    بنده دانشجوی ترم ۲ رشته مکانیک هستم
    من میخوام وارد این زمینه بشم ولی هیچ اطلاعاتی در این باره ندارم
    از کجا باید برنامه نویسی میکرو کنترلر رو یاو بگیرم
    ایا باید الکترونیک بلد باشم
    چ زبان برنامه نویسی ای باید بخونم .
    میشه یک راهنمایی بکنید و یک مسیر راهی بهم نشون بدید ؟

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

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

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.