نصب فریمور میکروپایتون برای بردهای ESP و مراحل بازگشت به Firmware قبلی
میکروپایتون (MicroPython) یک نسخه کوچک و سبک از زبان برنامهنویسی پایتون است که برای استفاده در سختافزارهای محدود منابع و میکروکنترلرها طراحی شده است. میکروپایتون زبان پایتون را با قابلیت اجرای مستقیم بر روی سختافزارهای کوچک و محدود، مانند میکروکنترلرها، بردهای توسعه مبتنی بر میکروکنترلرها، سنسورها و دستگاههای دیگر، فراهم میکند.میکروپایتون به عنوان یک زبان برنامهنویسی مناسب برای ساخت پروژههای اینترنت اشیاء (IoT) شناخته میشود. با استفاده از این زبان، میتوانید دستگاههایی را که به اینترنت متصل هستند و دارای محدودیتهای سختافزاری هستند، برنامهریزی و کنترل کنید.به عنوان مثال، با استفاده از میکروپایتون میتوانید سنسورها را برنامهریزی کنید تا اطلاعاتی را که توسط آنها جمعآوری میشود را ارسال کنند، دستگاهها را به عنوان سرویسدهندههای وب کوچک برنامهریزی کنید تا دادهها را برای دستگاههای دیگر در شبکه ارسال کنند، کنترلکنندههای خانگی را برنامهریزی کنید و تعامل با آنها را انجام دهید، و همچنین از امکانات شبکهای مانند وایفای (Wi-Fi) و بلوتوث (Bluetooth) استفاده کنید تا ارتباط با دیگر دستگاهها و سرویسها را برقرار کنید.
شناخت فریمور Firmware
در برنامهنویسی میکروکنترلرها، استفاده از فریمور بسیار مهم است. زیرا میکروکنترلرها دارای منابع محدودی هستند و نیازمند نرمافزاری هستند که به طور مستقل و بهینه بر روی سختافزار آنها اجرا شود. در اینجا فریمور به عنوان لایه نرمافزاری اصلی درون میکروکنترلر استفاده میشود و وظیفه کنترل و مدیریت سختافزار را بر عهده دارد.فریمور به عنوان یک لایه نرمافزاری میانی بین برنامه نویس و سختافزار عمل میکند. با استفاده از فریمور، میتوانید سیگنالها را به درستی کنترل کنید، پایههای ورودی و خروجی را تنظیم کنید و سنسورهای مختلف را مدیریت کنید. همچنین میکروکنترلرها منابع محدودی مانند حافظه، پردازنده و منابع مخابراتی را دارند. فریمور به شما امکان میدهد از بهینهسازی منابع استفاده کنید و به طور دقیق کنترل کنید کدام بخش از حافظه، پردازنده و دیگر منابع برای برنامههای خاص استفاده شود. در برخی از برنامههای میکروکنترلر، الگوریتمهای خاصی برای پردازش دادهها یا انجام وظایف خاص نیاز است. با استفاده از فریمور، میتوانید الگوریتمهای خاص خود را پیادهسازی کنید و به سادگی درون میکروکنترلر قرار دهید تا بتوانید به صورت مستقل و بهینه این الگوریتمها را اجرا کنید. در برنامههای اینترنت اشیاء (IoT)، میکروکنترلرها نیاز به ارتباط با شبکه دارند. فریمور به شما امکان میدهد از امکانات شبکه مانند Wi-Fi، بلوتوث و سایر پروتکلها استفاده کنید تا اتصالات شبکه را برقرار کنید، دادهها را دریافت و ارسال کنید و با سرویسهای اینترنتی تعامل کنید. میکروکنترلرها به عنوان مرکز کنترل برای انواع تجهیزات و سنسورها استفاده میشوند. با استفاده از فریمور، میتوانید تجهیزات و سنسورها را راهاندازی کنید و دادههای جمعآوری شده را پردازش کنید.
قدم اول: دانلود و نصب نرم افزار Thonny IDE
Thonny IDE یک محیط توسعه یکپارچه (IDE) برای برنامهنویسی زبان پایتون است. این نرمافزار با رابط کاربری ساده و کارآمد، مناسب برای مبتدیان و آموزش پایتون میباشد. از ویژگیهای Thonny میتوان به داشتن ویژوالایزر مرحله به مرحله، پشتیبانی از میکروکنترلرهای محبوب مانند MicroPython و داشتن ابزارهای اشکالزدایی (debugging) اشاره کرد. وارد وبسایت رسمی Thonny شوید. لینک وبسایت آن به صورت زیر است:
در صفحه اصلی وبسایت، شما میتوانید نسخه مناسب برای سیستم عامل خود را انتخاب کنید. Thonny برای سیستمعاملهای مختلف از جمله ویندوز، مکاواس و لینوکس در دسترس است.بعد از انتخاب نسخه مورد نظر، فایل نصب Thonny را دانلود کنید.پس از دانلود، فایل نصب را اجرا کنید و دستورالعملهای نصب را دنبال کنید. این فرآیند برای هر سیستم عامل ممکن است کمی متفاوت باشد. پس از نصب موفقیتآمیز، میتوانید Thonny IDE را اجرا کنید. وقتی برنامه اجرا شود، میتوانید بازهم به وبسایت Thonny مراجعه کنید تا راهنماها و منابع آموزشی بیشتری را برای شروع کار با Thonny و برنامهنویسی پایتون پیدا کنید.
قدم دوم: دانلود فریمور ESP8266 Micropython
جهت نصب و دانلود فریمور میکروپایتون برای سری بردهای ESP8266 از سایت منبع اصلی میکروپایتون استفاده میکنیم. تمامی نسخه های ارائه شده طی سال ها گذشته در سایت موجود است. از مسیر https://micropython.org/download/esp8266/ وارد صفحه فریمور ESP8266 خواهید شد. سپس همانند تصویر زیر آخرین Release ارائه شده برای ESP8266 را دانلود کنید.
قدم سوم: دانلود فریمور ESP32 Micropython
جهت نصب و دانلود فریمور میکروپایتون برای سری بردهای ESP32 از سایت منبع اصلی میکروپایتون استفاده میکنیم. تمامی نسخههای ارائه شده طی سالهای گذشته هم در سایت موجود است. از مسیر https://micropython.org/download/ وارد صفحه فریمور ESP32 خواهید شد. اما دقت داشته باشید مدل های متنوعی برای بردهای ESP32 ارائه شده است که در این صفحه بر اساس نوع تراشه ESP32 دسته بندی شده است. با توجه به نوع برد خود یکی از فریمورها را انتخاب کنید. اگر هیچکدام از تراشه های ESP32-S2 , S3 را ندارید فقط و فقط فریمور ESP32 را دانلود کنید.
قدم چهارم: نصب فریمور ESP8266 در Thonny IDE
جهت نصب فریمور ESP8266 در Thonny IDE در ابتدا برد ESP8266 را با کابل به سیستم متصل کنید. سپس از مسیر Device Manager در قسمت Ports مطمئن شوید که برد توسط سیستم با درایور شناخته شده است. سپس وارد نرم افزار Thonny شوید. در این صفحه از پایین سمت راست بر روی گزینه Configure Interpreter کلیک کنید. همانند تصویر زیر تنظیمات را از شماره 1 تا 4 انجام دهید.
سپس بر روی گزینه install or update Micropython کلیک کنید و همانند تصویر زیر تنظیمات را انجام دهید.
منتظر بمانید تا فریمور نصب شود.
پس از نصب پیغام Done نمایش داده خواهد شد.
برای تست یک برنامه ال ای دی چشمک زن با ال ای دی داخلی روی برد اجرا کنید.
from machine import Pin
import time
led = Pin(2, Pin.OUT)
while True:
led.on()
time.sleep(1)
led.off
time.sleep(1)
قدم پنجم: نصب فریمور ESP32 در Thonny IDE
اما نصب فریمور برای ESP32 شاید سخت باشد. بسته به نوع برد و تراشه ای که در اختیار دارید، مراحل ممکن است متفاوت باشد. اما به صورت عادی، همانند مراحل قبل ابتدا فریمور ESP32 را دانلود کنید. در این صفحه از پایین سمت راست بر روی گزینه Configure Interpreter کلیک کنید. همانند تصویر زیر تنظیمات را از شماره 1 تا 4 انجام دهید. سپس بر روی گزینه install or update Micropython کلیک کنید و همانند تصویر زیر تنظیمات را انجام دهید. سپس بر روی install کلیک کنید.
نکته مهم: اگر با ارور مواجه شدید، برد در حالت boot قرار نگرفته است و باید به صورت سخت افزاری اینکار را انجام دهید. برای اینکار توسط یک کابل فلت مادگی به مادگی پایه GPIO0 یا همان D0 را به GND متصل کنید. سپس بر روی install کلیک کنید و کابل را جدا کنید.
روش بازگرداندن فریمور Firmware
Espressif، تولید کننده ESP8266، نرمافزاری به نام ESP Flash Download Tool را ارائه میدهد که میتوانید از آن برای بازگرداندن فریمور استفاده کنید. این نرمافزار امکان میدهد تا فریمور را به برد ESP8266 ارسال کنید و بردها را به حالت برنامهریزی قبل از برنامهریزی (programming mode) درآورید. میتوانید نسخه مناسب فریمور را از وبسایت Espressif دانلود کنید و با استفاده از این نرمافزار آن را بارگذاری کنید. برخی از ابزارهای اوپن سورس مانند NodeMCU Flasher و esptool.py برای بازگرداندن فریمور بردهای ESP8266 در دسترس هستند. این ابزارها امکاناتی مشابه با ESP Flash Download Tool دارند و میتوانید از آنها برای بارگذاری فریمور استفاده کنید. با این ابزارها میتوانید فایل فریمور را بر روی برد ESP8266 بارگذاری کنید. در ادامه دستورهای مهم برای اجرای این روند را بررسی میکنیم. با اجرای دستور زیر در ترمینال، ESPTOOL را نصب کنید.
- pip install esptool
قبل از فلش کردن فریمور جدید، دقت کنید که حافظه فلش موجود در ESP8266 را پاک کنید. دستور زیر را در ترمینال ویندوز اجرا کنید تا حافظه فلش پاک شود.
- esptool.py --port /dev/ttyUSB0 erase_flash
مسیر /dev/ttyUSB0 را با نام پورت مناسب جایگزین کنید. از دستور زیر استفاده کنید و firmware.bin را با مسیر فایل فریمور قبلی جایگزین کنید.
- esptool.py --port /dev/ttyUSB0 write_flash -fm dio 0x00000 firmware.bin
دوباره، /dev/ttyUSB0 را با نام پورت درست جایگزین کنید و مطمئن شوید که مسیر درست به فایل فریمورتان را وارد کردهاید. پس از اتمام فرایند فلش کردن، میتوانید با استفاده از یک برنامه سریال مانیتور مانند PuTTY یا Serial Monitor آردوینو، به ESP8266 متصل شوید و فریمور را بررسی کنید. نرخ بادریت را با تنظیمات فریمور مطابقت دهید (معمولا 115200) و بررسی کنید که ESP8266 با خروجی مورد انتظار پاسخ میدهد.با دنبال کردن این مراحل، باید بتوانید فریمور را در ماژول ESP8266 خود بازیابی کنید.
جمع بندی
در این پست سعی کردیم که راجع به فریمور بردهای ESP8266 توضیحاتی را ارایه کنیم. دقت کنید که فریمور و نسخهی مورد استفاده از آن بسیار اهمیت دارد. خروجی بردهای esp براساس اینکه کدام فریمور روی آنها فعال است تعیین میشود. فریمور بردهای esp براساس اینکه زبان برنامه نویسی مورد نظر چیست. تعیین میشوند. میتوانید با تغییر فریمور، آنرا برای برنامه نویسی به زبان میکروپایتون آماده کنید. همچنین اگر تمایل داشتید به زبان c++ روی برد esp برنامه نویسی کنید، مطابق توضیحات ارایه شده، میتوانید آنرا به حالت اولیه برگردانید. این توضیحات صرفا بابت آگاهی رساندن به مخاطبها و کاربران فارسی زبان جمع آوری شدند. بنابراین اگر این پست برای شما مفید بود و به اطلاعاتتان اضافه کرد، حتما لینک آموزش را با دیگران به اشتراک بگذارید.