نحوه اجرای پایتون روی برد های ESP32 و ESP8266
در این پست یاد میگیریم که چطور میشه برنامه های میکرو پایتون روی ESP32 و ESP8266 اجرا کنیم .سلام . سعی میکنم پست ها کوتاه و کاربردی باشه . اگر جایی سوالی بود بپرسید من در حد دانشم پاسخ میدم .
میکروپایتون چیست ؟
میکرو پایتون در اصل همون زبان برنامه نویسی پایتون هست که برای برد های الکترونیکی و برنامه ریزی میکروپروسسور ها استفاده میشه . این زبان بسیار کاربردی و قدرتمند هست و شما میتونید به راحتی اون رو یاد بگیرید .
میکروپایتون برای استفاده از ROM و RAM به صورت بهینه شده کتابخانه های جالبی داره و کار شما رو برای ساخت انواع پروژه ها راحت میکنه .
اجرای برنامه های پایتون روی ESP8266 و ESP32 :
برای اینکه بتونید برنامه هایی که به زبان پایتون نوشید رو روی برد های ESP اجرا کنید باید ابتدا فریمور مخصوص میکروپاتیتون رو روی برد رایت کنید که کار بسیار ساده ای هست .
فریمور چیست ؟
فریمور یا firmware برنامه نرم افزاری هست که در چیپ حافظه ROM نوشته میشه . Firmware در واقع مسئول رفتارهای سیستم در زمانی است که سیستم را روشن میکنیم. مثلا وظیفه فریمور میکروپایتون در اینجا تفسیر برنامه های پاتونی به زبان ماشین هست .
مراحل نصب روش اول (upycraft ):
برای کار با micropython نرم افزار های زیادی هست که من در این آموزش از upycraft استفاده می کنم .
نصب روی کامپیوتر
۱ . نصب پایتون
نصب پایتون بسیار راحته . از سایت رسمی پایتون دانلود و نصب کنید .
۲. دانلود upycraft (این برنامه احتیاج به نصب نداره )
برای دانلود از آدرس گیت هاب استفاده کنید .
نصب روی برد
برای اینکه بتونید میکروپایتون رو روی برد اجرا کنید باید فریم ورک مخصوص هر برد رو دانلود کنید و اون رو توسط upycraft نصب کنید .
برای برد های ESP32 از این آدرس و برای برد های ESP8266 از این آدرس فایل .bin رو دانلود کنید
برای دانلود نسخه stable رو دانلود کنید که مشکلی نداشته باشید .
نحوه update framework :
در این قدم باید فریم ورک میکرو پایتون روی ESP32 رو نصب کنید . (مراحل برای ESP8266 یکسانه )
- برنامه upycraft رو اجرا کنید .
- از منوی Tools گزینه BurnFirmware رو انتخاب کنید .
- در قسمت board نوع برد خود را انتخاب کنید .
- در قسمت burn_addr گزینه 0x1000 رو انتخاب کنید .
- در قسمت erase_flash گزینه yes رو انتخاب کنید تا اطلاعات موجود در برد شما حذف بشه .
- در قسمت com پورت سریال برد خودتون رو انتخاب کنید .
- در قسمت Firmware Chosse گزینه users رو انتخاب کنید و به وسیله دکمه choose آدرس فایلی رو که برای برد دانلود کردید انتخاب کنید .
- بعد از وارد کردن قسمت های بالا روی OK کیلیک کنید تا فرآیند بارگذاری فریم ورک روی برد شروع بشه .
خوب بعد از این مرحله نصب میکرو پایتون روی ESP32 تموم شده و شما میتونید از منوی Tools زیر منوی Serial روی پورت سریال برد خودتون کلیک کنید و به برد متصل بشید .
در پست بعدی با محیط upycraft و نحوه کار کردن با اون آشنا میشیم .
مراحل نصب روش دوم (shell):
این مراحل رو در ویندوز ۱۰ توضیح میدم .
ابتدا Windows Powershell رو باز کنید و عبارت زیر رو وارد کنید تا نرم افزار وابسته به پایتون رو دانلود و نصب کنید .
۱ |
pip install esptool |
بعد از اتمام مراحل دستور esptool.py رو که وارد کنید راهنماس استفاده از این دستور براتون نمایش داده میشه .
برای اینکه متوجه بشید که برد شما به چه شماره ای از Serial متصل شده از دستور زیر استفاده کنید .
۱ |
mode |
حالا باید محتویات flush برد خودتون رو پاک کنید تا بتونیم میکروپایتون رو روی برد نصب کنیم . با دستور زیر این کار رو انجام بدید .
۱ |
esptool.py --port COM50 erase_flash |
شماره پورت COM50 رو با شماره پورت برد خودتون تغییر بدید .
جال باید از طریق PowerShell وارد پوشه ای بشید که فریم ورک مخصوص برد خودتون رو دانلود کردید بشید .
برای برد های ESP32 از این آدرس و برای برد های ESP8266 از این آدرس فایل .bin رو دانلود کنید
دستور dir میتونید پوشه های موجود رو ببینید و با دستور cd وارد پوشه مد نطرتون بشید .
دستور زیر رو وارد کنید تا فرایند نصب فریم ورک شروع بشه . فقط دقت داشته باشید شماره پورت و نام فایل رو تغییر بدید .
۱ |
esptool.py --port COM50 --baud ۴۶۰۸۰۰ write_flash --flash_size=detect ۰ esp8266-۲۰۲۰۰۹۱۱-v1.۱۳.bin |
پورتی که من استفاده کردم COM50 هست و نام فریم ورک من esp8266-20200911-v1.13.bin حتما این مقادیر رو تغییر بدید .
بعد از اتمام برد شما به صورت AP شروع به کار میکنه و میتونید اون رو با اسم MicroPython-xxxxxx پیدا کیند . رمز عبور هم micropythoN هست . آدرس IP برد هم به صورت پیش فرض ۱۹۲.۱۶۸.۴.۱ تنظیم شده .
با سلام
فوق العاده بود توضیحاتتون فقط ویندوز ۷ رو کد دستوری pip install esptool توی power shell نمیشناسه لطفا راهنمایی کنید برای این مطلب.
خیلی متشکرم . کلا نمیتونید از دستور pip استفاده کنید یا power shell خطا دریافت میکنید ؟
متن خطا رو میتونید ارسال کنید تا کمک کنم ؟
یه مشکلی دیگه ای ام هست com مورد نظر رو نمیشناسه اینم یه کمکی بکنید
برای پیدا کردن شماره پورت باید از دستور mode در power shell استفاده کنید .در توضیحات بالا هست
توی پاور شل خطای میده pip رو نمیشناسه مثل شما دستور هایلایت نشد داخل پرانتز نباید بزارم
چرا از روش اول استفاده نمیکنید ؟ فیلم آموزش هم داخل سایت هست
من با پاور شل با این ارور مواجه میشم:A fatal error occurred: Failed to connect to Espressif device: Timed out waiting for packet header
لطفا راهنمایی کنید
احتمالا شماره پورت سریال رو اشتباه وارد میکنید . برای فهمیدن شماره پورت از دستور mode در پاور شل استفاده کنید .
اگر از شماره پورت سریال اطمینان دارید آنتی ویروس رو هم یکبار غیر فعال کنید و مجدد تست کنید .
تشکر.برد esp32 من غیر اصل بود مرجوع کردم
البته من مبتدی هستم و اشتباه کردم.برد اصل بود اما باید قبل از فلش فریم ورک دکمه boot رو بزنیم تا وارد مد فلش فریم ورک بشیم و عملیات شروع بشه
سلام.وقت بخیر.چرا آموزش رو ادامه نمیدین.
سلام . متاسفانه درگیر پروژه های شخصی هستم و ساخت و تولید آموزش کار زمان بری هست .
حتما آموزش ها رو در اولین فرصت ادامه میدم و به صورت پروژه محور آموزش میکروپایتون رو ادامه میدم .
ممنونم از پیامتون