مقدمه
برد ESP32 از جذابترین و پرکاربردترین بردهای موجود در بازار است که به صورت گسترده در انواع پروژههای هوشمندسازی استفاده میشود. یکی از دلایل استقبال از این میکروکنترلر توسط کاربران، انعطاف بالای این میکروکنترلر در برنامهپذیری توسط طیف وسیعی از زبانهای برنامهنویسی مختلف است. از جذابترین این زبانهای برنامهنویسی، میتوان زبان برنامهنویسی میکروپایتون را نام برد. در این آموزش هر آن چه برای شروع برنامهنویسی برد ESP32 به کمک میکروپایتون نیاز دارید، به شما آموزش خواهیم داد.
آنچه در این آموزش یاد می گیرید
- آشنایی با زبان برنامهنویسی میکروپایتون
- آشنایی با محیطهای برنامهنویسی مناسب برای میکروپایتون
- فلش کردن بردهای ESP32 با فریمور میکروپایتون
- برنامهنویسی یک برد مبتنی بر ESP32 با زبان میکروپایتون
مقایسه میکروپایتون و پایتون
میکروپایتون یک زبان برنامهنویسی پیادهسازی شده بر اساس همان زبان برنامهنویسی پایتون است که به طور مخصوص برای استفاده در میکروکنترلرها بازطراحی شده است. به کمک این زبان، میتوانید انواع میکروکنترلرها را برنامهنویسی کنید. در زیر یک سری از میکروکنترلرها که توانایی برنامهنویسی با میکروپایتون دارند آورده شده است:
- برد توسعه Teensy 3.X مبتنی بر FPGA
- انواع میکروکنترلرهای STM32
- میکروکنترلرهای Micro:Bit
- برد توسعه WiPy
- تمامی بردهای توسعه مبتنی بر میکروکنترلرهای ESP8266 و ESP32
یکی از ویژگیهای میکروپایتون بسیار شبیه بودن آن به پایتون است و اگر تجربه کار با پایتون را دارید، از هماکنون خود را مهیای برنامهنویسی به زبان میکروپایتون نیز بدانید! اگر از قبل تجربهای با پایتون نیز ندارید، نگران نباشید. زیرا که دلیل اصلی محبوبیت آن، سادگی و سرعت بالا در یادگیری آن است.
در عکس زیر نمونهای از بردهای اشاره شده در بالا آورده شده است.
محیطهای برنامهنویسی مناسب برای میکروپایتون
برای برنامهنویسی به زبان میکروپایتون، نرمافزارهای گوناگون و روشهای متعددی طراحی شدهاند. در بین این نرمافزارها و روشهای مختلف میتوان به موارد زیر اشاره کرد:
- نرمافزار uPyCraft IDE
- نرمافزار Thonny IDE
- ورود به محیط برنامهنویسی میکروپایتون از طریق یک ترمینال سریال مثل PuTTY
- استفاده از نرمافرازهای برنامهنویسی پایتون مثل PyCharm و افزودن extention میکروپایتون
برنامهنویسی برد ESP32 با زبان میکروپایتون در محیط uPyCraft
در بین روشها و محیطهای برنامهنویسی معرفی شده در قسمت قبل، نرمافزار uPyCraft محیط جذابتر و قابلیتهای بهتری را ارائه میدهد و برای شروع کار با برنامهنویسی میکروپایتون گزینه بسیار مناسبی به حساب میآید. به همین دلیل، ما نیز در این آموزش از این نرمافزار برای برنامهنویسی برد ESP32 استفاده کردهایم.
به طور کلی برای برنامهنویسی برد ESP32 به زبان میکروپایتون، لازم است که مراحل زیر طی شوند:
- نصب نرمافزار پایتون بر روی سیستم خود
- نصب یک محیط برنامهنویسی مناسب برای نوشتن برنامه به زبان میکروپایتون (در این آموزش از نرمافزار uPyCraft IDE استفاده شده است.)
- فلش کردن برد ESP32 با فریمور میکروپایتون
در این آموزش به طور کامل مراحل ذکر شده در بالا را بررسی میکنیم و در انتها یک برد ESP32 را به زبان میکروپایتون برنامهنویسی میکنیم.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
نرم افزارهای مورد نیاز
برای شروع به کار برنامهنویسی به زبان میکروپایتون میتوانید با مراحل زیر پیش روید.
گام اول: نصب نرمافزار پایتون
برای استفاده از نرمافزار uPyCraft و دیگر محیطهای برنامهنویسی مشابه و اجرای برنامههای نوشته شده به زبان میکروپایتون، در ابتدا لازم است که خود نرمافزار پایتون را در سیستمعاملتان، نصب داشته باشید. اگر پایتون را از قبل نصب نکردهاید، به ترتیب زیر عمل کنید.
این لینک را کلیک کرده و وارد صفحه دانلودهای سایت پایتون شوید. با تصویری مشابه تصویر زیر مواجه میشوید.
در ادامه بر روی عبارت مشخص شده در عکس زیر کلیک کرده و آخرین نسخه پایتون را دانلود کنید.
برای نصب پایتون، فایل دانلود شده را باز کنید. ابتدا گزینه “Add Python 3.9 to Path” را تیک زده و سپس مطابق با تصویر زیر بر روی گزینه “Install Now” کلیک کنید.
در ادامه برنامه شروع به نصب شدن میکند. با شروع نصب، تصویری همانند تصویر زیر مشاهده خواهید نمود.
با اتمام نصب برنامه نیز در صورت موفقیتآمیز بودن، تصویر زیر را خواهید دید.
موفق شدید!
شما با موفقیت پایتون را بر روی سیستم خود نصب کردید.
گام دوم: دانلود و استفاده از نرمافزار uPyCraft
پس از نصب نرمافزار پایتون، اکنون آماده استفاده از محیط برنامهنویسی uPyCraft IDE هستید.
برای دانلود این نرمافزار روی لینک زیر کلیک کنید.
لینک دانلود نرمافزار uPyCraft IDE
این نرمافزار نیازی به نصب ندارد و برای استفاده از آن بعد از دانلود فایل بالا، صرفا کافیست آن را باز کنید.
محیط نرمافزار به شکل زیر است.
اکنون نرمافزار PyCraft آماده استفاده است.
در ادامه لازم است که برد ESP32 را برای برنامهنویسی به زبان میکروپایتون آماده کنیم.
گام سوم: فلش کردن برد ESP32 با فریمور میکروپایتون
برای آنکه بتوانید یک برد ESP32 را با زبان میکروپایتون برنامهنویسی کنید، ابتدا لازم است که برد ESP32 را با فریمور میکروپایتون فلش کنید. برای این کار به ترتیب زیر عمل کنید.
ابتدا باید فریمور مناسب بردهای ESP32 را دانلود کنید. برای این منظور، به صفحه دانلود فریمور میکروپایتون برای بروید. صفحه زیر را مشاهده خواهید کرد.
در صفحه وارد شده، کمی پایینتر آمده و مطابق عکس زیر، آخرین ورژن فریمور میکروپایتون مناسب برد ESP32 را دانلود کنید.
پس از دانلود فریمور میکروپایتون، به ترتیب زیر برد ESP32 خود را توسط آن فلش کنید.
ابتدا نرمافزار uPyCraft را باز کنید. به قسمت Tools -> BurnFirmware بروید.
تنظیمات لازم را به این صورت انجام دهید.
- گزینه board را “esp32” انتخاب کنید.
- برای گزینه burn_addr، آدرس 0x1000 را انتخاب کنید.
- برای گزینه erase_flash، yes را انتخاب کنید.
- برای گزینه com، شماره پورتی که سیستمتان برد ESP32 را با آن میشناسد، انتخاب کنید. در این آموزش، این پورت، COM8 بوده است.
- برای گزینه Firmware Choose، ابتدا Users را انتخاب کرده و سپس روی choose کلیک کرده و فریمور دانلود شده را انتخاب کنید.
پس از انجام تنظیمات بالا، بر روی ok کلیک کنید. با شروع فلش شدن برد ESP32، تصویری مشابه زیر را مشاهده خواهید کرد.
موفق شدید!
شما با موفقیت برد ESP32 خود را با فریمور میکروپایتون فلش کردید. اکنون میتوانید برد ESP32 خود را با زبان میکروپایتون برنامهنویسی کنید.
گام نهایی: اولین پروژه با ESP32 و میکروپایتون، LED چشمک زن
پس از طی مراحل بالا، اکنون آماده هستید که اولین پروژهتان به زبان میکروپایتون را انجام بدهید.
بردی که در اینجا استفاده کردهایم، برد NodeMCU – ESP32 Edition است. این برد دارای یک LED است که به پایه GPIO2 میکروکنترلر متصل است. میخواهیم این LED را با برنامهنویسی به زبان میکروپایتون کنترل کرده و آن را به حالت چشمک زن در بیاوریم. در صورتی که از بردی غیر از NodeMCU – ESP32 Edition استفاده میکنید، میتوانید به راحتی خودتان یک LED به پایه D2 متصل کنید. برای این کار یک پایه LED را به پایه D2 و پایه دیگر را به زمین متصل کنید. سپس میتوانید برنامهای که در ادامه آورده شده است را اجرا کنید.
برای برنامهنویسی برد ESP32 به زبان میکروپایتون به ترتیب زیر عمل کنید.
ابتدا برد ESP32 خود را به سیستم متصل کنید. نرمافزار uPyCraft را باز کنید. مطابق شکلهای زیر به منو Tools رفته، Serial و board را به درستی انتخاب کنید.
مطابق شکل زیر، در منو سمت راست برنامه بر روی گزینه “New” کلیک کنید تا یک برنامه فایل جدید بسازید.
کد زیر را در فایل جدید ساخته شده وارد کنید.
# Made on Jun 28, 2021
# By MehranMaleki @ Electropeak
# https://electropeak.com/learn/
from machine import Pin
from time import sleep
led = Pin(2, Pin.OUT)
while True:
led.value(not led.value())
sleep(1)
مطابق شکل زیر، در منو سمت راست برنامه بر روی گزینه “Save” کلیک کنید.
در صفحه باز شده اسم فایل را به صورت دلخواه با پسوند py. وارد کرده و بر روی ok کلیک کنید.
اکنون کد نوشته شده را بر روی برد ESP32 خود آپلود کنید. برای این کار مطابق شکل زیر، در منوی سمت راست روی گزینه “DownloadAndRun” کلیک کنید.
پس از آپلود موفقیتآمیز کد، بخش ترمینال نرمافزار uPyCraft به شکل زیر در آمده و LED شروع به چشمک زدن خواهد کرد.
برای توقف اجرای برنامه نیز میتوانید مطابق با عکس زیر، در منوی سمت راست برنامه روی گزینه “Stop” کلیک کنید.
یک گام جلوتر
- اکنون به زبان میکروپایتون، وایفای ESP32 را راهاندازی کرده و لیست شبکههای وایفای موجود را نمایش دهید.
Comments (6)
بعدش چجوری میشه فریم ور اصلی رو برگردوند؟
با سلام
نیازی نیست کار خاصی را انجام بدهید. کافی است با برنامه آردوینو پروژه مورد نظر خود را بر روی برد پروگرام کنید و تمامی برنامه های میکروپایتون پاک میشود.
اگر بخواهیم برنامه روی برد بماند چیکار کنیم
چون وقتی برق برد قطع میشود و دوباره وصل میشود برنامه دیگر اجرا نمیشود
گویا فلش شده
با سلام
در بخش کد ها شما یک فایلی دارید به اسم boot.py آن را باز کنید و مشابه عکس زیر این خط را اضافه کنید.
exec(open('blink.py').read(),globals())
توجه داشته باشید به جای blink.py از اسم فایلی که میخواهید اجرا شود را باید قرار بدهید.
این آموزش دوره یا پکیج کامل نداره؟
با سلام،
در این سایت آموزش ها همگی برای آشنایی با محصولات می باشد و به صورت دوره آموزش، آموزشی نداریم.
هر محصولی را بخواهید راه اندازی کنید در حد راه اندازی اولیه و تست و بررسی اش حداقل یک آموزش ساده قرار داده شده است. و برای انجام کار های پیشرفته نیازمند سرچ و برنامه نویسی خود فرد می باشد.