برد Esp32 برد Nodemcu میکروپایتون Micropython

میکروپایتون با ESP32 بخش اول: معرفی میکروپایتون در تراشه های ESP32

نوشته شده توسط CiferTech

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

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

پایتون Python نوعی زبان برنامه نویسی سطح بالا است. در سال های اخیر توجه بسیاری از توسعه دهندگان را به خود جلب کرده است. زمانی که قصد برنامه ریزی میکروکنترلرها را با زبان پایتون داریم به دلیل قدرت پردازش و سرعت پردازش دیگر زبان‌های برنامه نویسی، پایتون پیشنهاد نمی‌شود. اما با معرفی میکروپایتون که یک پلتفرم open source از python 3 است؛ همچنین شامل کتابخانه‌های استاندارد برای اجرا بر روی میکروکنترلرهایی با ROM و RAM محدود، بهینه شده‌اند. این موضوع کاملا مرتفع شده است.

 


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


تا به امروز زبان برنامه نویسی پایتون Python، زبانی همه منظوره و قدرتمند معرفی شده که البته همینطور است. اما در مواردی این زبان برنامه نویسی می‌تواند انتخاب اول برای پروژه نباشد. برای مثال در بحث نرم افزارهای Embedded ، زبان C همواره در صدر جدول می‌باشد. این موضوع دلیلی شد برای متولد شدن زبان برنامه نویسی MicroPython تا جای خالی پایتون را در این موارد پر کند. MicroPython پیاده سازی مجدد پایتون ۳ است که برای میکروکنترلرها و سیستم های امبدد هدف گذاری شده است. MicroPython بسیار شبیه پایتون معمولی است. بنابراین، اگر از  قبل می دانید که چگونه در پایتون برنامه نویسی کنید، می دانید که چگونه در MicroPython برنامه نویسی کنید.

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

به غیر از چند مورد استثنایی، ویژگی های زبان Python در MicroPython نیز موجود است. بزرگترین تفاوت پایتون با MicroPython این است که MicroPython برای کار در شرایط محدود طراحی شده است. به همین دلیل ، MicroPython با کتابخانه استاندارد کامل ارائه نمی شود. این فقط شامل زیر مجموعه کوچکی از کتابخانه استاندارد پایتون است. با این حال، این شامل ماژول هایی برای دسترسی به سخت افزار سطح پایین است، این بدان معنی است که کتابخانه هایی برای دسترسی آسان و تعامل با GPIO وجود دارد. علاوه بر این، دستگاه هایی با قابلیت Wi-Fi مانند ESP8266 و ESP32 دارای ماژول هایی برای پشتیبانی از اتصالات شبکه هستند.

 


تفاوت‌های CPython و MicroPython


در ابتدا برای دوستانی که اطلاع ندارند، Cpython3 در واقع پیاده سازی پایتون نسخه ۳ محسوب می‌شود. از تفاوت‌های مهم این دو می‌توان به مدیریت حافظه اشاره کرد که به جای Reference Counting از روش Garbage Counting استفاده می‌شود. Garbage Counting : نوعی مدیریت حافظه است. در این روش قطعات کوچک حافظه که به کار گرفته شده‌اند و دیگر مورد نیاز نیستند را حذف و سپس مرتب سازی می‌کند.

تفاوت‌های CPython و MicroPython - دیجی اسپارک

 


شروع کار با MicroPython


اولین چیزی که شما نیاز دارید یک برد با تراشه ESP32 است. نرم افزار MicroPython از تراشه ESP32 پشتیبانی می کند و هر برد در مجموعه ESP32 باید کار کند. ویژگی اصلی برد، نحوه اتصال پین های GPIO به دنیای خارج یا ماژول ها است و اینکه آیا شامل مبدل سریال داخلی USB برای در دسترس قرار دادن UART در رایانه شما است یا خیر. اگر برد شما دارای یک اتصال USB است، به احتمال زیاد هنگام اتصال به رایانه از طریق آن تغذیه می شود. در غیر این صورت باید مستقیما آن را تامین کنید.

شروع کار با MicroPython برد ESP32 - دیجی اسپارک

برای شروع اولین کاری که باید انجام دهید این است که جدیدترین ورژن MicroPython را بارگیری کنید تا در دستگاه ESP32 شما آپلود شود. می توانید آن را از صفحه بارگیری های MicroPython بارگیری کنید البته در آموزش های آینده روند نصب به شکل کامل توضیح داده خواهد شد. ما ۳ انتخاب اصلی داریم:
  1. Stable firmware builds
  2. Daily firmware builds
  3. Daily firmware builds with SPIRAM support

 

اگر تازه شروع به کار با MicroPython کرده اید، بهترین گزینه این است که به سراغ ساخت سیستم عامل Stable بروید. اگر شما یک کاربر باتجربه MicroPython ESP32 هستید که دوست دارید توسعه را از نزدیک دنبال کنید و به آزمایش ویژگی های جدید کمک کنید، اگر برد شما از پشتیبانی SPI RAM برخوردار است، می توانید از سیستم عامل استاندارد یا سیستم عامل با پشتیبانی SPI RAM استفاده کنید، و در حالت دوم به RAM بیشتری دسترسی خواهید داشت.

 


برد های سازگار


از برد ها و پلتفرم های سازگار با مبکروپایتون می‌توان به تراشه های ESP32 ،ESP8266 ،PyBoard ،Teensy ،Adafruit Circuit Playground Express ،ESP32/ESP8266 اشاره کرد. ESP32 را می‌توان جانشین ESP8266 است. بنابراین در حال حاضر همه ویژگی ها در MicroPython برای استفاده بیشتر از ESP32 در دسترس نیستند، با این حال بسیار قابل استفاده است و می توانید با استفاده از آن پروژه های زیادی بسازید.

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

 


کلام آخر با سایفر


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

 

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

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

CiferTech

فقط 10 نوع آدم در این دنیا وجود داره، اونی که باینری میفهمه و اونی که باینری نمیفهمه! ^-^

~ اینستاگرام: CiferTech

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