میکروپایتون Micropython

بهتر است بدانیم; میکروپایتون و کاربرد

micropython-and-its-carrier-digispark
نوشته شده توسط پریسا پوربلورچیان

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

 


میکروپایتون MicroPython


بسیاری از میکروکنترلرها با زبان های برنامه نویسی وفق داده نشده است و جای خالی یک زبان برنامه نویسی شی گرا و ساده برای ارتباط با میکرو به شدت احساس می‌شد. همه چیز دشوار بود تا اینکه زبان برنامه نویسی میکروپایتون شکل گرفت. تمامی این اتفاقات در سال ۲۰۱۳ زمانی رخ داد که چندین دانشجو در حال ساخت رباتی بودند که پایتون به تنهایی امکان ارتباط با میکروکنترلر را نداشت. در نهایت یک خلق ارزشی رخ داد که نتیجه ی آن چیزی نبود جز پدید آمدن میکروپایتون MicroPython. پس از سال ها پایتون از دسکتاپ و سرورها با میکروپایتون به سنسورها، بردها، نمایشگرها، موتور، کلیدها، مدارهای الکترونیکی کوچ کرد و یک اتفاق جدید در دنیای اینترنت اشیا رقم زده شد. زبان برنامه نویسی میکروپایتون از زبان برنامه نویسی پایتون ۳ همراه با کتابخانه های کاربردی پایتون است که برای ارتباط با میکروکنترلرها و بردهای امبدد ساخته شده است.

 


کاربرد میکروپایتون


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

    • برنامه نویسی میکروکنترلرها
    • یادگیری  برنامه نویسی رزبری پای پیکو
    • یادگیری برنامه نویسی بردهای خانواده ESP
    • یادگیری مفاهیم برنامه نویسی پایتون

کاربرد میکروپایتون در IoT - دیجی اسپارک

 

پروژه های میکروپایتون در سه بخش ورودی input, پردازش proccesing, خروجی output دسته بندی می‌شود. منظور از ورودی سنسورها، سیگنال های دریافتی، کلیدها است. توسط پردازنده اطلاعات از ورودی خوانده شده و سپس خروجی را به روزرسانی می‌کند. در نهایت در خروجی دیتای دریافت شده فرمان ارسال می‌کند. به همین دلیل برای انجام پروژه هایی که نیاز به محاسبات داریم اما پایتون قادر به اجرا بر روی میکروکنترلرها نیست، اهمیت زبان برنامه نویسی میکروپایتون مشخص می‌شود. زبان برنامه نویسی میکروپایتون اوپن سورس است و بر روی بردهای امبدد اجرا می‌شود. این زبان برنامه نویسی برای مبتدیان که تا به حال تجربه ای در برنامه نویسی میکروکنترلرها نداشته اند، فوق العاده است و به دلیل خوانایی بالا سرعت در یادگیری بسیار بالا است.

 


زبان برنامه نویسی میکروپایتون


میکروپایتون بر اساس زبان برنامه نویسی پایتون ۳ پیاده سازی شده اما توسط زبان C نوشته شده است. این زبان برای تازه کاران، مبتدیان، دانش آموزان و دانشجویان یک زبان بسیار ساده، قابل فهم و شی گرا است که میتوانید در کمترین تعداد خط کدنویسی از کلاس ها و توابع پایتون و کتابخانه های پایتون برای کدنویسی میکروکنترلرها استفاده کنید.

زبان برنامه نویسی میکروپایتون - دیجی اسپارک

 


کامپایلر میکروپایتون


در حال حاضر میکروپایتون در دو نرم افزار قدرتمند Arduino IDE و Thonny Python به صورت رسمی معرفی شده است و از این زبان پشتیبانی می‌کنند. اما در کنار این دو نرم افزار از MU, VS CODE هم برای برنامه نویسی میکروپایتون پیشنهاد می‌شود.

کامپایلر میکروپایتون در کاربرد زبان برنامه نویسی - دیجی اسپارک

 

 

 

 

PyCharm کامپایلر برنامه نویسی میکروپایتون - دیجی اسپارک

 


پشتیبانی از میکروکنترلرها


میکروکنترلرها و بردهای pyboard, ESP8266, ESP32, Wipy, microbit و رزبری پای پیکو Raspberry Pi Pico در حال حاضر از میکروپایتون برای برنامه نویسی پشتیبانی می‌کنند.

تمامی بردهایی که از تراشه ESP32 , ESP8266 در ساخت آن ها استفاده شده است، از زبان برنامه نویسی میکروپایتون Micropython استفاده می‌کنند و محدودیتی وجود ندارد.

 

 

 

 

 

 


کارهایی که می‌توان انجام داد


همانند نرم افزار آردوینو که ارتباط با تمامی بردها و سنسورها فراهم است، با میکروپایتون میتوانید به GPIO میکروکنترلرها فرمان دهید. با سنسورها، قطعات، ماژول ها ارتباط برقرار کنید. ارتباط وای فای و بلوتوث داشته باشید و صفر تا صد پروژه ها را با میکروپایتون پیش ببرید. موتور، سرو موتور،درایور کردن و PWM را با میکروپایتون میتوانید پیاده سازی کنید. میکروپایتون از پروتکل های ارتباطی I2C, SPI, UART هم پشتیبانی می‌کند و ارتباط را آغاز می‌کنید. برای کسانی که تا به حال کدنویسی نکرده اند، اجرای پروژه های مقدماتی از چشمک زن تا راه اندازی سنسورها مانند ساخت پروژه های وابسته به مادون قرمز مانند چشمی راه پله تا ساخت کنترلر دما و رطوبت امکان پذیر است و به تدریج میتوانید سطح پروژه ها را ارتقا دهید.

 


کارهایی که نمی‌توان انجام داد


میکروپایتون محدودیت های بسیار کمی داشته و در مقایسه با آردوینو و پشتیبانی از زبان C , C++ سرعت کمتری دارد. میکروپایتون منابع بیشتری را مصرف کرده و کاهش سرعت را به ندرت در اجرای پروژه ها شاهد هستیم. اما در نظر داشته باشید در حال حاضر در سال ۲۰۲۲ همه چیز در حال تغییر است و تمامی این معایب با رشد و تولید میکروکنترلرهای قدرتمندی که به میکروپایتون وابسته اند، به مرور رفع خواهد شد.

 


از کجا شروع کنم؟


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

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

 

و اما برد میکروبیت! میکروبیت با هدف یادگیری سه زبان برنامه نویسی برای کودکان در دنیای میکروکنترلرها و برنامه نویسی جای خود را باز کرده است. اما مهمترین و قابل تامل ترین بخش در برنامه نویسی این برد آموزش میکروپایتون است. یک ادیتور آنلاین در سای اصلی این مجموعه به صورت مجزا برای کدنویسی میکروپایتون قرار گرفته شده است که اهمیت این موضوع را مشخص می‌کند. اما این برد نه فقط برای کودکان بلکه برای کسانی که تا به حال تجربه ی کدنویسی با میکروکنترلرها را نداشته اند، انتخاب فوق العاده ای است. برای یادگیری پایتون و میکروپایتون به واسطه ی برخورداری از رابط های کاربری بر روی برد مانند ال ای دی و کلیدها هر بخش از برنامه نویسی قابل لمس بوده و نتیجه ی کدنویسی را میتوان در لحظه مشاهده کرد. سری آموزش های میکروبیت در حال حاضر در ۱۶ بخش مقدماتی نوشته شده است و پروژه های فوق العاده ای با آن در حال انتشار در سایت دیجی اسپارک است.

 

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

 


وسایل لازم


بردهای سازگار با میکروپایتون

 


جمع بندی


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

 

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۲۲ دیدگاه

  • سلام مهندس جان
    آیا برد هایی که از تراشه rp2040 هم به جز پیکو استفاده شده میتونن با میکروپایتون کار کنن؟

    • با سلام
      بله تراشه RP2040 اگر در بردهایی مانند ESP و Raspberry pi و Arduino nano استفاده شده باشد، میتوانید استفاده کنید البته بایستی فریمور آن بر روی IDE مورد استفاده نصب شده باشد.

    • با سلام
      بله میکروپایتون برای راه اندازی میکروکنترلرها در این چند سال اخیر بسیار مورد استقبال کاربران و کمپانی ها قرار گرفته است و اکثر بردهای جدید از میکروپایتون پشتیبانی می‌کنند.

    • با سلام
      خیر فقط کمی شباهت وجود دارد و برای هر سخت افزار سینتکس ها متفاوت خواهد بود.

    • با سلام
      منظور از Repl همان Read Evalute Print Loop است که از کاربر ورودی گرفته سپس پردازش کرده و نتیجه را برمیگرداند و بی نیاز از کامپابلر است. برای تست کافی است در قسمت shell در Thonny یک عبارت را print کنید تا در لحظه نتیجه را مشاهده کنید.

    • با سلام
      برای شروع تراشه rp2040 مناسب است و جدیدترین بردها بر پایه این تراشه در بازار معرفی شده است.

      • آیا میشه میکرو پایتون رو جایگزین کدویژن یا بسکام برای کار با میکروکنترلر کرد؟
        اصلا بردی هست که در حد یه میکروکنترلر کار انجام بده و با میکروپایتون برنامه نویسی بشه
        من برای اندازه گیری دقیق فرکانس میخام
        باید تایمر کانتر ها قابل دسترسی باشه

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

          • میکرو پایتون یک زبان برنامه نویسی نیست فقط یک پلاگین می‌باشد که در پای چارم قابل نصب است و اگر بحث شئ گرایی رو در زبان پایتون بدونید میتونید میکرو پایتون رو هم استفاده کنید.در ضمن زبان برنامه نویسی پایتون یک اینترپرتر یا مفسری می‌باشد و کامپایلری نیست.زبان کامپایلری مثل سی شارپ است که میتوان با ابزار کامپایلر کد نویسی کرد.ضمنا ویژوآل استودیو یک کد ادیتور است و یک IDE نیست.IDE تخصصی زبان پایتون Pycharm می‌باشد و اینکه اصلا مهم نیست از چه محیطی برای برنامه نویسی پایتون استفاده میکنید.
            Python بدلیل اینکه بصورت تخصصی درزمینه هوش مصنوعی کاربرد داره به همین دلیل در برنامه نویسی ریزتراشه ها بسیار کاربردی است.متاسفانه دنیای ریزتراشه ها در دست تایوانی ها،چینی ها و آمریکایی ها است.امیدواریم در آینده ای نزدیک بتونیم ما هم در زمینه ریزتراشه ها حرفی برای گفتن داشته باشیم.

  • سلام. برای تنظیم دما در محدوده ۲۳ الی ۲۶ درجه سانتیگراد در یک محفظه بسته، لازم است دور موتور DC یک فن جابجایی هوا با توان پائین حدود ۵ وات را کنترل نمایم. آیا microPython برای این امر مناسب است؟ کدام میکروکنترلر را توصیه می نمایید؟ آیا به واسطه میان موتور و میکرو کنترلر نیاز است یا دخروجی میکروکنترلر توصیه شده قابلیت لازم را دارد؟

    • با سلام
      سوال شما مربوط به انتخاب زبان برنامه نویسی است یا میکروکنترلر؟ در هر صورت کاربردی که در نظر دارید خیلی حساس و پیچیده نیست. میتوانید از میکروهای ساده هم استفاده کنید.