فهرست مطالب:

شروع کار با MicroPython در ESP8266: 10 مرحله (همراه با تصاویر)
شروع کار با MicroPython در ESP8266: 10 مرحله (همراه با تصاویر)

تصویری: شروع کار با MicroPython در ESP8266: 10 مرحله (همراه با تصاویر)

تصویری: شروع کار با MicroPython در ESP8266: 10 مرحله (همراه با تصاویر)
تصویری: ۲. میکروپایتون - مقایسه میکروپایتون با آردوینو 2024, نوامبر
Anonim
شروع کار با MicroPython در ESP8266
شروع کار با MicroPython در ESP8266

آیا روش متفاوتی برای برنامه ریزی بردهای مبتنی بر ESP8266 می خواهید تا روش متداول استفاده از Arduino IDE همراه با زبان برنامه نویسی C/C ++؟

در این آموزش ما یاد می گیریم که چه کسی یک برد ESP8266 را با استفاده از MicroPython پیکربندی و کنترل کند.

زمان ساخت: 60 دقیقه دشواری: رتبه بندی: آسان

مرحله 1: MicroPython چیست؟

MicorPython یکی از بسیاری از زبان های برنامه نویسی است که می توان از آن برای برنامه ریزی ماژول ESP8266 استفاده کرد. این یک نسخه ناب و سریع از زبان برنامه نویسی پایتون 3 است و چندین مزیت نسبت به زبان های برنامه نویسی سنتی مانند C و ++ C دارد.

MicroPython طوری طراحی شده است که تا آنجا که ممکن است با پایتون معمولی سازگار باشد. دارای کامپایلر و زمان اجرا کامل پایتون است و یک اعلان تعاملی معروف به REPL (Read-Eval-Print Loop) ارائه می دهد.

MicorPython برای پشتیبانی از انواع مختلف میکروکنترلرها طراحی شده است. اما برای این آموزش من فقط با یک مدل کار می کنم: برد مبتنی بر ESP8266 (NodeMCU). توجه داشته باشید که چند تخته مختلف وجود دارد که می توانید با یک تراشه یکسان خریداری کنید.

خواندن و منابع:

میکروپایتون

NodeMCU

مرحله 2: الزامات

الزامات
الزامات
الزامات
الزامات
الزامات
الزامات
الزامات
الزامات

برای اینکه بتوانید این آموزش را دنبال کنید ، فقط باید تجربه برنامه نویسی اولیه با پایتون را داشته باشید. نیازی به داشتن دانش قبلی در مورد میکروکنترلرها ، لوازم الکترونیکی یا حتی MicroPython نیست.

همچنین به یک کامپیوتر ویندوز ، مک یا لینوکس با پورت USB رایگان نیاز دارید ، زیرا برای برنامه ریزی آن یک میکروکنترلر را به رایانه خود متصل می کنید.

قطعات مورد نیاز:

1 عدد NodeMCU (یا سایر بردهای مبتنی بر ESP8266)

1 عدد LED قرمز 5 میلی متری

1 x مقاومت 220Ω 1/4W

پتانسیومتر روتاری 1 x 10KΩ

1 عدد تخته نان

1 عدد کابل USB به MicroUSB

سیم های جامپر.

مرحله 3: چرا ESP8266 مبتنی بر برد؟

چرا ESP8266 مبتنی بر برد؟
چرا ESP8266 مبتنی بر برد؟

یکی از راههایی که می توانید از ESP8266 بیشترین بهره را ببرید استفاده از MicroPython است. همچنین ، ماژول ESP8266 یکی از بهترین بسترهایی است که می توانید نحوه استفاده از MicroPython را بر روی آن بیاموزید. این به این دلیل است که ESP8266 عملکردهای کنترل پین GPIO ساده و همچنین عملکرد بی سیم را ارائه می دهد و به شما امکان می دهد تمام جنبه های زبان برنامه نویسی MicroPython را آزمایش کنید.

تراشه ESP8266 در صنعت توسعه منبع باز محبوب است. تخته های توسعه زیادی از سازندگان مختلف وجود دارد که از تراشه ESP8266 استفاده می کنند. MicroPython برای ارائه یک پورت عمومی طراحی شده است که می تواند بر روی اکثر آن تخته ها اجرا شود ، با حداقل محدودیت ها. این پورت بر اساس برد Adafruit Feather HUZZAH است هنگام استفاده از سایر تخته های ESP8266 ، مطمئن شوید که شماتیک و برگه های داده آنها را بررسی کرده اید تا بتوانید تفاوت های آنها و برد Adafruit Feather HUZZAH را تشخیص دهید. به این ترتیب ، می توانید تفاوت های کد خود را برطرف کنید.

خواندن و منابع:

ESP8266

پر آدافروت HUZZAH

مرحله 4: راه اندازی رایانه خود

راه اندازی رایانه خود
راه اندازی رایانه خود
راه اندازی رایانه خود
راه اندازی رایانه خود
راه اندازی رایانه خود
راه اندازی رایانه خود
راه اندازی رایانه خود
راه اندازی رایانه خود

چندین چیز قبل از استفاده از MicroPython برای برنامه ریزی برد ESP8266 خود باید تنظیم کنید. ما در این مرحله مراحل راه اندازی را طی می کنیم. به این ترتیب نحوه پیکربندی برد ESP8266 برای استفاده با MicroPython را خواهید فهمید.

آماده شدن

از این مرحله تا مرحله 6 تنها چیزی که نیاز دارید ESP8266 و یک کابل USB است. برد ESP8266 خود را به رایانه خود وصل کنید.

چگونه انجامش بدهیم…

STEP1: درایورهای دستگاه را نصب کنید

اگر رایانه لینوکس دارید ، نیازی نیست که درایورهای دستگاهی را نصب کنید تا درایورها شناسایی شوند تا میکروکنترلر تشخیص داده شود. اما شما مک یا دستگاه ویندوز دارید ، درایوری لازم است تا کامپیوتر بتواند میکروکنترلر را تشخیص دهد به عنوان یک دستگاه سریال

www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.

مرحله 2: پایتون را نصب کنید

ابزارهایی که می خواهید برای ارتباط با ESP8266 استفاده کنید در پایتون نوشته شده اند ، بنابراین باید پایتون را بر روی رایانه خود نصب کنید.

اگر سیستم عامل شما پایتون از قبل بسته بندی شده را ارائه نمی دهد ، می توانید به https://python.org بروید تا نسخه رسمی هر سیستم عامل پشتیبانی شده را بارگیری کنید.

مرحله 3: esptool و rshell را نصب کنید

دو بسته را نصب کنید که به مدیریت برد شما با استفاده از pip کمک می کند. برای این کار ترمینال خود را باز کرده و اجرا کنید

pip نصب esptool rshell

مرحله 4: بارگیری MicroPython

آخرین سیستم عامل.bin MicroPython را از لینک زیر بارگیری کنید:

در زمان نوشتن این مطلب ، نسخه فعلی 1.11 است و فایل سیستم عامل esp8266-20190529-v1.11.bin نام دارد.

در زمان انجام این کار ممکن است نسخه جدیدتری پیدا کنید.

مرحله 5: فلش کردن MicroPython با Esptool.py

فلش کردن MicroPython با Esptool.py
فلش کردن MicroPython با Esptool.py
فلش کردن MicroPython با Esptool.py
فلش کردن MicroPython با Esptool.py

قبل از فلش کردن سیستم عامل جدید روی برد ، ایده خوبی است که داده های قبلی را پاک کنید. این کاری است که همیشه باید انجام دهید تا سیستم عامل جدید از حالت تمیز اجرا شود.

به جایی که فایل.bin را قرار داده اید بروید. برای پاک کردن فلش از esptool.py استفاده کنید.

برای لینوکس:

esptool.py --port /dev /ttyUSB0 erase_flash

برای ویندوز:

esptool.py -ارسال COM3 erase_flash

ممکن است مجبور شوید پورت سریال را در فرمان خود به پورت سریال که برد ESP8266 شما به آن متصل است تغییر دهید. اگر شماره پورت سریال ESP8266 خود را نمی دانید ، می توانید در Arduino IDE بررسی کنید. کافی است IDE را باز کرده و سپس بر روی Tools | بنادر. شما باید درگاه سریال برد ESP8266 خود را در آنجا مشاهده کنید. پورت سریال را در فرمان (/dev/ttyUSB0) با پورت سریال برد خود جایگزین کنید.

اکنون که برد به طور کامل پاک شده است ، می توانید ساخت MicroPython را که بارگیری کرده اید فلش کنید. این نیز با دستور esptool.py انجام می شود:

esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin

این دستور قرار است محتویات فایل MicroPython.bin را به برد 0 در صفحه بنویسد.

مطمئن شوید که نام فایل firmware.bin را در فرمان (esp82688-2019-080529-v1.11.bin) به نام سیستم عامل بارگیری شده تغییر دهید.

هنگامی که سیستم عامل با موفقیت روی برد ESP8266 شما نصب شد ، می توانید از طریق اتصال سیمی (پورت سریال UART) یا WiFi فکری به REPL روی برد خود دسترسی پیدا کنید.

مرحله 6: استفاده از MicroPython REPL With Rshell

استفاده از MicroPython REPL With Rshell
استفاده از MicroPython REPL With Rshell
استفاده از MicroPython REPL With Rshell
استفاده از MicroPython REPL With Rshell

اکنون آماده راه اندازی MicroPython روی برد ESP8266 خود هستید.

آنچه من قصد دارم به شما نشان دهم که چگونه به اعلان پایتون متصل شوید که روی برد شما اجرا می شود. این REPL نامیده می شود که مخفف "Read-Eval-Print-Loop" است. این دستور استاندارد پایتون است که احتمالاً هنگام کار با مترجم معمولی پایتون از آن استفاده می کنید ، اما این بار روی صفحه شما اجرا می شود و برای تعامل با آن از اتصال سریال به رایانه خود استفاده می کنید. به آماده؟

برای اتصال به هیئت مدیره خود و باز کردن یک جلسه REPL ، دستور زیر را وارد کنید:

rshell -بندر

این دستور شما را وارد اعلان rshell می کند. عکس بالا را ببینید.

اگر از این آموزش در ویندوز پیروی می کنید ، توجه داشته باشید که rshell سابقه ای از مشکلات هنگام اجرای بر روی ویندوز دارد.

بنابراین برای رفع آن نوع:

rshell -a --port COM3

از طریق این دستور می توانید کارهای مربوط به برد میکروکنترلر خود را انجام دهید و همچنین یک Python REPL را شروع کنید که می توانید از آن برای تعامل با برد در زمان واقعی استفاده کنید. بنابراین فقط دستور زیر را وارد کنید:

جابجایی

برای اطمینان از اینکه همه چیز در حال کار است ، یک جمله ساده پایتون تایپ کنید:

چاپ ("سلام جهان")

مرحله 7: کنترل پین ها با استفاده از MicroPython

کنترل پین ها با استفاده از MicroPython
کنترل پین ها با استفاده از MicroPython
کنترل پین ها با استفاده از MicroPython
کنترل پین ها با استفاده از MicroPython

در این مرحله ، نحوه کنترل پین های ESP8266 را با MicroPython خواهیم آموخت. برای انجام این کار ، ما یک تنظیم را ارائه می دهیم که در آن وضعیت LED متصل به پین GPIO برد ESP8266 را تغییر می دهیم. این به شما کمک می کند نحوه کنترل خروجی های دیجیتال با استفاده از MicoPython را درک کنید.

آماده شدن

برای انجام این مرحله به موارد زیر نیاز دارید:

1 عدد NodeMCU

1 عدد LED قرمز 5 میلی متری

1 x 220 Ω مقاومت

1 عدد تخته نان

سیم های جامپر

The Build

با نصب LED روی تخته نان شروع کنید. یک سر مقاومت 220 Ω را به پایه مثبت LED وصل کنید (پای مثبت LED معمولاً بلندتر از دو پایه است). سر دیگر مقاومت را به پین D1 برد ESP8266 وصل کنید. سپس پایه منفی LED را به پین GND برد ESP8266 وصل کنید. اتصال همانطور که در نمودار بالا نشان داده شده است.

پس از اتمام راه اندازی ، برد ESP8266 را از طریق کابل USB به رایانه خود وصل کنید.

چگونه انجامش بدهیم…

کد زیر را در REPL خود وارد کنید:

# چراغ چشمک زن هر 1 ثانیه

def blink (pin = 5، time = 1) # عملکرد چشمک زدن به طور پیش فرض pin = 5، time = 1s ماشین واردات # ماژول دستگاه تنظیمات و حالت های پین را از زمان وارد کردن خواب نگه می دارد # وارد کردن خواب برای برخی تاخیر LED = ماشین. پین (led_pin، machine. PIN. OUT) # پیکربندی LED به عنوان OUTPUT در حالی که True است: # LED را برای همیشه اجرا کنید. مقدار (1) # LED را روی حالت خواب بالا (زمان) # صبر کنید 1 ثانیه به طور پیش فرض LED. مقدار (0) # تنظیم LED به LOW sleep (زمان) # به طور پیش فرض 1 ثانیه صبر کنید

در جلسه RPEL خود blink () را تایپ کنید تا این کد را آزمایش کنید. این LED هر 1 ثانیه LED متصل به GPIO5 را چشمک می زند.

شما می توانید پین و/یا زمان را با تماس زیر تغییر دهید:

پلک زدن (پین = ، زمان =)

برای خروج از کد در حال اجرا ctrl+c را فشار دهید.

برای خواندن ورودی متصل به ESP8266 می توانید از MicroPython استفاده کنید. برای یادگیری نحوه انجام این کار به مرحله بعدی بروید.

اگر گیر کردید ویدیو را بررسی کنید.

مرحله 8: محو کردن LED

محو شدن LED
محو شدن LED
محو شدن LED
محو شدن LED

در این مرحله ، نحوه تنظیم روشنایی LED با استفاده از پتانسیومتر دوار را می آموزیم. ما از تکنیکی به نام Pulse Width Modulation (PWM) استفاده می کنیم ، به ما امکان می دهد LED را تا حداکثر 256 تنظیمات کم کنیم.

توجه: همه پین های ESP8266 را می توان به عنوان پایه PWM استفاده کرد به جز GPIO16 (D0).

آماده شدن:

برای انجام این مرحله به موارد زیر نیاز دارید:

1 عدد NodeMCU

1 عدد LED قرمز 5 میلی متری

پتانسیومتر دوار 1 x 50 KΩ.

1 عدد تخته نان

سیم های جامپر

The Build

اتصال همانطور که در نمودار بالا نشان داده شده است: پس از اتمام راه اندازی ، برد ESP8266 را از طریق کابل USB به رایانه خود وصل کنید.

چگونه انجامش بدهیم…

کد زیر را در REPL خود وارد کنید:

# محو شدن LED هر 0.5 با خواندن داده ها از پتانسیومتر

واردات دستگاه از زمان وارد کردن خواب led_pin = 5 # led pin POT = machine. ADC (0) # ADC0 pin LED = machine. Pin (led_pin) # ایجاد شی LED LED_pwm = ماشین. PWM (LED ، freq = 500) # ایجاد LED_pwm شیء را تنظیم کنید و فرکانس را روی 500 هرتز تنظیم کنید در حالی که True: LED_pwm.duty (POT.read ()) # مقدار را از Pot بگیرید و آن را روی چرخه وظیفه تنظیم کنید (0.5) # صبر 0.5

این امر با تغییر مقدار پتانسیومتر ، روشنایی LED متصل به GPIO 5 را تغییر می دهد.

برای خروج از کد در حال اجرا ctrl+c را فشار دهید.

اگر گیر کردید ویدیو را بررسی کنید.

مرحله 9: از کجا به اینجا بروید؟

تا اینجا ما نحوه پیکربندی و اجرای MicroPython را در بردهای مبتنی بر ESP8266 مشاهده کرده ایم. ما نحوه کنترل پین ها برای چشمک زدن یک LED را یاد گرفتیم و سپس یک پتانسیومتر برای کنترل روشنایی LED با استفاده از تکنیک مدولاسیون عرض پالس اضافه کردیم.

اکنون می توانیم داده های حسگر را بخوانیم و به ابر ارسال کنیم ، همچنین می توانیم یک سرور HTTP ایجاد کنیم که در آن می توانید داده های ما را در یک صفحه وب ساده و غیره چاپ کنید …

این به ما ایده های زیادی از اینترنت اشیا (IoT) می دهد.

مرحله 10: نتیجه گیری

آنجا شما آن را دارید! پیش بروید و دنیای MicroPython را تسخیر کنید.

اگر سوالی دارید ، البته می توانید نظر دهید.

برای مشاهده بیشتر آثار من لطفاً از کانال YouTube من دیدن کنید:

myYouTube

myGitHub

myLinkedin

با تشکر از شما برای خواندن این مطلب آموزنده ^^ و روز خوبی داشته باشید.

می بینمت.

احمد نویرا

توصیه شده: