فهرست مطالب:
- مرحله 1: MicroPython چیست؟
- مرحله 2: الزامات
- مرحله 3: چرا ESP8266 مبتنی بر برد؟
- مرحله 4: راه اندازی رایانه خود
- مرحله 5: فلش کردن MicroPython با Esptool.py
- مرحله 6: استفاده از MicroPython REPL With Rshell
- مرحله 7: کنترل پین ها با استفاده از MicroPython
- مرحله 8: محو کردن LED
- مرحله 9: از کجا به اینجا بروید؟
- مرحله 10: نتیجه گیری
تصویری: شروع کار با MicroPython در ESP8266: 10 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
آیا روش متفاوتی برای برنامه ریزی بردهای مبتنی بر 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 بیشترین بهره را ببرید استفاده از 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
قبل از فلش کردن سیستم عامل جدید روی برد ، ایده خوبی است که داده های قبلی را پاک کنید. این کاری است که همیشه باید انجام دهید تا سیستم عامل جدید از حالت تمیز اجرا شود.
به جایی که فایل.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 روی برد ESP8266 خود هستید.
آنچه من قصد دارم به شما نشان دهم که چگونه به اعلان پایتون متصل شوید که روی برد شما اجرا می شود. این REPL نامیده می شود که مخفف "Read-Eval-Print-Loop" است. این دستور استاندارد پایتون است که احتمالاً هنگام کار با مترجم معمولی پایتون از آن استفاده می کنید ، اما این بار روی صفحه شما اجرا می شود و برای تعامل با آن از اتصال سریال به رایانه خود استفاده می کنید. به آماده؟
برای اتصال به هیئت مدیره خود و باز کردن یک جلسه REPL ، دستور زیر را وارد کنید:
rshell -بندر
این دستور شما را وارد اعلان rshell می کند. عکس بالا را ببینید.
اگر از این آموزش در ویندوز پیروی می کنید ، توجه داشته باشید که rshell سابقه ای از مشکلات هنگام اجرای بر روی ویندوز دارد.
بنابراین برای رفع آن نوع:
rshell -a --port COM3
از طریق این دستور می توانید کارهای مربوط به برد میکروکنترلر خود را انجام دهید و همچنین یک Python REPL را شروع کنید که می توانید از آن برای تعامل با برد در زمان واقعی استفاده کنید. بنابراین فقط دستور زیر را وارد کنید:
جابجایی
برای اطمینان از اینکه همه چیز در حال کار است ، یک جمله ساده پایتون تایپ کنید:
چاپ ("سلام جهان")
مرحله 7: کنترل پین ها با استفاده از 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 با استفاده از پتانسیومتر دوار را می آموزیم. ما از تکنیکی به نام 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
با تشکر از شما برای خواندن این مطلب آموزنده ^^ و روز خوبی داشته باشید.
می بینمت.
احمد نویرا
توصیه شده:
شروع کار با رادیو ژامبون: 5 مرحله (همراه با تصاویر)
شروع به کار با رادیو ژامبون: به عنوان یک مجوز گوشت ژامبون که اخیراً تهیه شده است ، می خواهم روندی را که برای ورود به رادیو ژامبون طی کرده ام ، طی کنم. من از جنبه اعتماد به نفس در سرگرمی مجذوب شدم و به مردم راه برقراری ارتباط با سایر روشها را می دادم. اما در عین حال سودمند است
شروع به کار با دوربین M5StickV AI + IOT: 6 مرحله (همراه با تصاویر)
شروع به کار با دوربین M5StickV AI + IOT: مرور مختصر M5StickV یک دوربین کوچک AI + IOT است که تقریباً به قطر 2 سکه است ، قیمت حدود 27.00 دلار است که برای برخی می تواند برای چنین دوربین کوچکی گران به نظر برسد اما برخی از آنها را بسته بندی می کند مشخصات مناسب منبع تغذیه دوربین فوق باورنکردنی
شروع به کار با پایتون: 7 مرحله (همراه با تصاویر)
شروع به کار با پایتون: برنامه نویسی عالی است! خلاق است ، سرگرم کننده است و به مغز شما یک تمرین ذهنی می دهد. بسیاری از ما می خواهیم در مورد برنامه نویسی بیاموزیم اما خود را متقاعد می کنیم که نمی توانیم. شاید ریاضیاتش زیاد باشد ، شاید اصطلاحاتی که دور و برش می اندازد ترسناک باشد
شروع کار با هیئت مدیره La COOL: 4 مرحله (همراه با تصاویر)
شروع کار با هیئت مدیره La COOL: مقدمه & quot؛ وقتی به ایده La COOL Board رسیدیم ، من ترکیبی بین یک آردوینو با WiFi و یک ایستگاه آب و هوای زنجیره ای مدولار را تصور کردم. برای کارکرد مستقل باید انرژی بسیار کمی مصرف می کرد و من می خواستم بتوانم در این مورد
شروع کار با NeoPixel / WS2812 RGB LED: 8 مرحله (همراه با تصاویر)
شروع کار با NeoPixel / WS2812 RGB LED: [پخش ویدیو] در این دستورالعمل ، ما در مورد LED RGB آدرس پذیر (WS2812) یا معروف به Adafruit NeoPixel کاوش خواهیم کرد. NeoPixel خانواده ای از حلقه ها ، نوارها ، تخته ها و آمپر است. میله های LED مینیاتوری تپنده و رنگارنگ. اینها زنجیره ای هستند