خبر
خبر
معرفی آسان سیستم های جاسازی شده (1) - MicroPython چیست؟
2022-03-08 1224

با تبدیل شدن پایتون به زبان برنامه نویسی غالب، MicroPython به طور فزاینده ای در فضای سیستم های جاسازی شده محبوب شد، به خصوص در ESP32 محبوب و ماژول Pico مبتنی بر میکروکنترلر RP2040 که توسط بنیاد Raspberry PI منتشر شد.

به عنوان فردی که نمی‌توانستم یک خط کد بنویسم، در بیشتر مواقع احساس محدودیت می‌کردم و عهد کردم که زمان مناسبی برای یادگیری یک زبان برنامه‌نویسی پیدا کنم. در طول تعطیلات 7 روزه روز ملی، خودم را وقف MicroPython کردم و تمام عملکردهای تجهیزات جانبی را روی برد روی برد آموزشی افزونه Pico که توسط خودم طراحی شده بود، متوجه شدم:

  • نورپردازی فانتزی - تک رنگ، سه رنگ RGB، انواع ترکیبات، همچنین با دکمه ها و سنسورها قابل کنترل است.

  • صفحه نمایش OLED متن، تصاویر و شکل موج را نمایش می دهد

  • سیگنال صوتی جمع آوری شده و روی صفحه OLED نمایش داده می شود - یک صفحه نمایش شکل موج خنک ایجاد می کند

  • پخش "من و کشور من" با صدای زنگ روی تخته

  • انتقال کد شخص دیگری برای تولید شکل موج دلخواه - تغییر شکل موج، تغییر فرکانس، تغییر بزرگی و غیره



چیزی که در طول 7 روز "کاوش" بیش از همه مرا تحت تاثیر قرار داد این بود که چقدر آسان بود با سیستم های جاسازی شده در MicroPython - منابع منبع باز غنی، اشکال مختلف مرجع، مانند دوره های ویدئویی، موارد متنی و غیره شروع به کار کرد.

MicroPython واقعاً یک زبان برنامه نویسی عالی است - شی گرا، انعطاف پذیر، ساده، زیبا!

یادگیری شخصی من از به اشتراک گذاری دیگران (متن باز) سود می برد و بهترین راه برای انتقال دانش این است که آموخته ها و آموخته هایم را به اشتراک بگذارم. بنابراین قصد دارم یک آموزش برنامه نویسی تعبیه شده میکرو پایتون بر اساس پیکو راه اندازی کنم که تا یک ماه دیگر به طور رسمی راه اندازی می شود. البته، در مرحله اولیه، 15 دوره آموزشی زنده طراحی PCB وجود خواهد داشت که شما را به طراحی یک برد آموزشی پیکو توسط خودتان هدایت می کند. از این گذشته، در محیط مناسب تخته چاپ رایگان و ارسال رایگان، بر اساس برد هسته Pico، همه می توانند PCB را برای ساخت برنامه های مختلف جالب در آینده طراحی کنند. یادگیری نحوه طراحی PCB نیز می تواند یک مزیت برای مهندسان سیستم های جاسازی شده باشد.

از این به بعد یک سری مقالات فنی مرتبط با این دوره خواهد بود. امروز اولین مورد است:

1. MicroPython چیست؟

MicroPython یک مفسر زبان برنامه نویسی پایتون منبع باز کوچک است که روی یک برد توسعه تعبیه شده کوچک اجرا می شود. با MicroPython، می‌توانید کدهای ساده و تمیز پایتون را برای کنترل سخت‌افزار بدون نیاز به استفاده از زبان‌های زیربنایی پیچیده مانند C یا C ++ (Arduino برای برنامه‌نویسی) بنویسید.


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

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

علاوه بر استفاده آسان، MicroPython دارای ویژگی های منحصر به فردی است که آن را از سایر سیستم های تعبیه شده متمایز می کند:

از مفسر تعاملی استفاده کنید: REPL (خواندن خواندن - ارزیابی ارزیابی - چاپ چاپ - حلقه حلقه) - این به شما امکان می دهد به یک برد متصل شوید و از آن بخواهید کد را بدون کامپایل یا آپلود اجرا کند - برای یادگیری سریع و آزمایش سخت افزار عالی است!

کتابخانه های نرم افزاری غنی - مانند زبان برنامه نویسی معمولی پایتون، MicroPython دارای تعداد زیادی کتابخانه برای پشتیبانی از بسیاری از وظایف است. برای مثال، از طریق کتابخانه‌های داخلی MicroPython، تجزیه داده‌های JSON از سرویس‌های وب، جستجوی متن با استفاده از عبارات منظم و حتی برنامه‌نویسی سوکت شبکه آسان است.

توسعه پذیری - برای کاربران پیشرفته، MicroPython را می توان با توابع سطح پایین C/C++ گسترش داد، بنابراین می توانید کد MicroPython بیانگر سطح بالا را با کدهای سطح پایین سریعتر در صورت نیاز ترکیب کنید.

MicroPython گونه ای از زبان Python 3 است. این زاییده فکر Darrien P. George، Ph.D. از دانشگاه کمبریج است که با یک تیم سرمایه گذاری جمعی برای توسعه یک برد توسعه سخت افزاری با قابلیت microPython به نام PyBoard در سال 2013 کار کرد. MicroPython1.0 در کنفرانس Python ارائه شد. PyCon) در سال 2014. دکتر جورج همچنین وب سایت Micro Python.org (www.micropython.org) را برای پشتیبانی از MicroPython و Pyboard راه اندازی کرد.


لوگوی رسمی MicroPython.Org

MicroPython.Org PyBoard، بر اساس کنترلر STM32.


2. MicroPython چه کاری می تواند انجام دهد؟

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

درست مانند بردهای آردوینو، MicroPython می‌تواند سخت‌افزار و دستگاه‌های متصل را کنترل کند -- می‌توانید چراغ‌های چشمک زن پین GPIO، سوئیچ‌های خواندن و موارد دیگر را کنترل کنید. می تواند سیگنال PWM را هدایت کند که می تواند سرور و LED را هدایت کند. سنسورهای آنالوگ را می توان از طریق مبدل آنالوگ به دیجیتال خواند و خواند. همچنین برقراری ارتباط با دستگاه های I2C یا SPI آسان است. حتی می توانید پشتیبانی شبکه و وای فای را در برخی از بردها پیدا کنید. MicroPython حتی دارای کتابخانه هایی برای کنترل سایر سخت افزارها مانند NeoPixels و نوارهای LED، نمایشگرهای OLED مینیاتوری و غیره است. به طور خلاصه، MicroPython می تواند بسیاری از کارها را انجام دهد!

محدودیت های MicroPython چیست؟

MicroPython محدودیت های بسیار کمی دارد و تقریباً هر کاری که Arduino می تواند انجام دهد را می توان از طریق برد MicroPython انجام داد. با این حال، توجه به این نکته مهم است که کد MicroPython آنقدر سریع نیست و ممکن است به حافظه بیشتری نسبت به آردوینو مشابه یا سایر کدهای سطح پایین مبتنی بر C/C++ نیاز داشته باشد، اگرچه این معمولاً اهمیتی ندارد زیرا تفاوت‌های سرعت و حافظه به اندازه کافی زیاد نیست. بیشتر برنامه ها را تحت تاثیر قرار می دهد. توجه داشته باشید که کدهایی که زمان یا عملکرد مهم هستند ممکن است در MicroPython کار نکنند. به عنوان مثال، استفاده از نرم افزار به طور کامل برای درایو پین های IO برای پیاده سازی برخی از پروتکل های ارتباطی سریال پرسرعت در MicroPython ممکن است بهترین ایده نباشد. با این حال، راه‌هایی برای ترکیب MicroPython و کدهای C/C++ سطح پایین وجود دارد تا بتوانیم بهترین‌های هر دو جهان را داشته باشیم - منطق اصلی کد میکروپایتون تمیز و قابل درک است، در حالی که بخش‌های حیاتی عملکرد به زبان نوشته شده‌اند. کدهای سطح پایین سریعتر

زبان MicroPython بیشتر زبان اصلی Python 3 را پیاده سازی می کند، اما MicroPython کل کتابخانه استاندارد Python 3 را پیاده سازی نمی کند. پایتون به داشتن یک کتابخانه استاندارد گسترده معروف است، اما تلاش برای فشرده سازی چنین کتابخانه بزرگی روی یک برد کوچک با تنها کیلوبایت حافظه غیرممکن است. در عوض، MicroPython برخی از نسخه‌های کوچک‌تر کتابخانه استاندارد پایتون را پیاده‌سازی می‌کند که تجربه توسعه عالی را ارائه می‌دهد.


سلب مسئولیت: این مقاله از "جنگل الکترونیک" تجدید چاپ شده است، این مقاله تنها بیانگر دیدگاه های شخصی نویسنده است، دیدگاه های ساکوئی و صنعت را نشان نمی دهد، فقط تکثیر و به اشتراک گذاشته شده است، حمایت از حمایت از حقوق مالکیت معنوی، لطفا منبع اصلی را ذکر کنید. و نویسنده، در صورت وجود تخلف، لطفاً برای حذف با ما تماس بگیرید.



whatsapp

خط تلفن خدمات

tel: +86 755 83044319

WhatsApp

Whatsapp:+8618073002950