Home / ماژول های مخابراتی / esp8266 / آموزش جامع میکروپایتون با ماژول ESP8266

آموزش جامع میکروپایتون با ماژول ESP8266

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

میکروپایتون با ماژول WiFi ESP8266

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

برای شروع به چه چیزهایی نیاز است

برای شروع برنامه نویسی میکروپایتون به سخت افزاری نیاز دارید که بتواند کد های میکروپایتون را برای شما اجرا کند. برای این منظور می توانید از بردهای pyboard و یا NUCLEO تولید STM استفاده کنید. همچنین از میکروپایتون برای استفاده بر روی ماژول های وای فای ESP8266 نیز آماده شده است. مزیت استفاده از ماژول ESP8266 نسبت به برد های دیگر یک وجود ارتباط Wi-Fi برای اتصال به اینترنت و شبکه و دو قیمت مناسب و در دسترس بودن آن است در ادامه به معرفی کلی ماژول های ESP8266 می پردازیم. و درنهایت راه اندازی و استفاده از میکروپایتون را بررسی میکنیم.

معرفی ماژول وای فای ESP8266

ماژول وای فای esp8266 دارای یک میکروکنترلر 32 بیتی با سرعت کلاک 160 مگاهرتز بوده که 80 درصد قدرت پردازشی آن برای اجرای برنامه های نوشته شده توسط برنامه نویس می باشد. در نتیجه برای استفاده از این ماژول نیازی به میکروکنترلر دیگری نبوده و از قدرت پردازشی خود ماژول برای اجرای برنامه های نوشته شده می توان استفاده کرد. انواع مختلفی از ماژول های ESP8266 تولید شده که انواع آنها را در ادامه می توانید مشاهده کنید.

روش های مختلف برنامه نویسی برای ماژول ESP826 :

استفاده از IDE آردوینو

در این روش شما می توانید برنامه هایی به زبان C و C++ نوشته و به وسیله IDE آردوینو، کامپایل و ماژول خود را پروگرم کنید.

استفاده از NodeMcu و زبان LUA

Lua یک زبان اسکریپتی قدرتمند ، سریع ، سبک و قابل گسترش می باشد. Lua یک زبان تابعی بوده و شما با استفاده از امکاناتی که ساختمان داده های این زبان در اختیار شما قرار می دهد می توانید برنامه های شی گرا بنویسید. مدیریت حافظه به صورت داینامیک صورت گرفته و برنامه به بایت کدی که توسط مفسر قابل اجراست تبدیل می گردد. برای نوشتن و آپلود برنامه به این زبان می توانید از محیط ESplorer استفاده کنید.

آموزش راه اندازی و استفاده از Micropython بر روی ESP8266

پایتون یک زبان برنامه‌نویسی همه منظوره سطح بالا می باشد. قابلیت یادگیری آسان، آن را به یکی از فراگیر ترین زبان های برنامه نویسی تبدیل کرده است. می خواهیم از این زبان برنامه نویسی برای برنامه نویسی ماژول ESP8266 استفاده کنیم. برای این منظور ابتدا باید فریمور Micro python بر روی ESP8266 نصب شود.

انتخاب ماژول ESP8266 مناسب

از میان ورژن های مختلف ماژول ESP8266 می توانید با توجه به نیاز خود یکی را انتخاب کنید. ولی برای شروع پیشنهاد می شود از برد D1mini برای راحتی کار استفاده کنید. و یا از برد های مشابه که چیپ تبدیل USB به سریال را بر روی خود دارند نیز استفاده کنید. در ادامه آموزش ما از برد D1mini استفاده می کنیم.

نصب فریمور میکروپایتون بر روی ESP8266

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

https://github.com/nodemcu/nodemcu-flasher

برای دانلود فریمور میکروپایتون برای ESP8266 نیز به صفحه دانلود پروژه ی MicroPython مراجعه کنید. فریمور در سه نسخه stable وdaily و daily 512KB منتشر میشود که پیشنهاد می شود از نسخه stable استفاده کنید.

http://micropython.org/download

بعد از دانلود فایل های مورد نیاز برنامه ESP8266Flasher را اجرا کنید.

پورت سریالی که ماژول به رایانه متصل شده است را از قسمت COM Port انتخاب کنید.

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

و در نهایت در قسمت Operation گزینه Flash را انتخاب کنید و منتظر بمانید تا عمیات نصب فریمور تمام شود.

دسترسی به محیط برنامه نویسی میکروپایتون

بعد از اتمام نصب فریمور بر روی ماژول ESP8266 جهت دسترسی به محیط برنامه نویسی میکروپایتون یا همان REPL می بایست به وسیله یک ترمینال سریال به ماژول ESP8266 متصل شویم. REPL مخفف کلمه های Read–eval–print loop است به معنی حلقه خواندن محاسبه و پرینت نتیجه است.

برای اتصال به ماژول ESP8266 در ویندوز از نرم افزار putty استفاده می کنیم. طبق تصویر زیر برنامه putty را تنظیم کنید.

esp5

بعد از باز شدن ترمینال سریال به محیط REPL میکروپایتون دسترسی خواهیم داشت. برای اولین برنامه می توانیم برنامه print(“hello World!”) را اجرا کنیم این دستور عبارت Hello World! را در خروجی نمایش میدهد.

esp8266-002

دسترسی به محیط برنامه نویسی میکروپایتون از طریق مرورگر وب

برای دسترسی به محیط برنامه نویسی پایتون یا همان REPL اول باید آن را از طریق ارتباط سریال فعال کنید برای فعال کردن آن در ترمینال سریال دستور زیر را وارد کنید.

در مرحله اول از شما در مورد فعال کردن محیط webrepl سوال پرسیده میشود با وارد کردن عبارت E این محیط را فعال کنید. در مرحله دوم در مورد اینکه هنگام بوت ماژول این محیط به صورت پیش فرض برای شما فعال شود یا نه که با وارد کردن حرف y این ویژگی را فعال کنید و در آخر برای دسترسی به این محیط یک رمز 4 تا 9 کاراکتری باید وارد شود. بعد از اتمام این مراحل ماژول یک بار ریست میشود.بعد از ریست شدن از طریق WiFi به ماژول ESP8266 متصل شوید. به صورت پیش فرض نام WiFi ماژول با اسم ESP8266 شروع میشود، رمز پیش فرض micropythoN است، توجه کنید که N با حرف بزرگ است. و شما می توانید بعد از اتصال راینه خود به ماژول ESP8266 از طریق WiFiو با باز کردن صفحه (توجه کنید این صفحه برای باز شدن اولیه به اینترنت نیاز دارد قبل از اتصال به esp8266 این صفحه را باز کنید)

http://micropython.org/webrepl/

به محیط webrepl از طریق مرورگر خود دسترسی داشته باشید.

Screenshot (19)

برای اتصال روی connect کیلک کنید و رمزی که در مرحله قبل وارد کردید را تایپ کنید و اینتر را بزنید (توجه کنید که به هنگام تایپ رمز چیزی در صفحه نمایش داده نمیشود) و طبق معمول اجرای برنامه معروف Hello World!

مزیت استفاده از محیط webrepl درسترسی به آپلود فایل بر روی ماژول ESP8266 میباشد از این قابلیت برای آپلود کتابخانه و برنامه های پایتون می توانید استفاده کنید.

آشنایی با دستورات متداول میکروپایتون بر روی ESP8266

تا به اینجا با نحوه کار کردن و دسترسی به محیط برنامه نویسی Micropython بر روی ماژول ESP8266 آشنا شدید. در ادامه بعضی از دستورات متداول زبان میکروپایتون را به شما شرح میدهیم.

کنترل GPIO ماژول ESP8266

GPIO ها راهی برای اتصال ماژول esp8266 برای کنترل جهان بیرون و تجهیزات مختلف هستند همه پین های ماژول esp8266 برای کنترل در دسترس نیستند و معمولا پین های 0, 2, 4, 5, 12, 13, 14, 15 و16 برای کنترل در دسترس هستند.

برای استفاده از GPIO ماژول ابتدا باید کتابخانه مورد نظر را به برنامه خود اضافه کنید:

برای استفاده از هر پین اول باید نوع پین (ورودی یا خروجی بودن آن مشخص شود) امکان pull up کردن داخلی هر پین نیز وجود داردبه عنوان مثال در دستور زیر پین 0 به صورت ورودی و pull up تعریف شده است.

برای تشخیص low یا high بودن پین می توان از دستور value() استفاده کرد که متناسب با وضعیت پایه مقدار 0 یا 1 را بر می گرداند.

برای خروجی کردن یک پین می توان به صورت زیر عمل نمود:

برای تغییر وضعیت پین مورد نظر می توان از دستور value(0) و یا value(1) استفاده کرد مثل:

 

و یا به روش پایین

 

راه اندازی LCDکاراکتری توسط میکروپایتون

ابتدا کتابخانه Pyb را فراخوانی میکنیم

سپس کتابخانه Lcd را فراخوانی میکنید.

برای استفاده از این کتابخانه باید فایل lcd.py از طریق محیط webrepl به حافظه ماژول منتقل شده باشد.

یک فانکشن جهت راه اندازی lcd تعریف میکنیم :

یک متغیر به نام Lcd تعریف کرده و خروجی تابع HD44780 را درون آن بریزید.

سپس Pin های دیتا Lcd که به برد متصل است را در تابع زیر به صورت زیر قرار دهید

جهت پیکره بندی Lcd تابع زیررا فراخوانی کنید

جهت نمایش کاراکترها در سطر مورد مورد نظر از تابع زیر استفاده نمایید

به جای x سطر مورد نظر قرار دهید

جهت نوشتن یک رشته و کاراکتر از تابع زیر استفاده کنید

جهت پاکسازی صفحه از تابع زیر استفاده نمایید

و توسط تاخیر موجود در کتابخانه pyb یک تاخیر ۳۰۰۰ میلی ثانیه ای جهت ماندگاری و عدم پرش کاراکترها در صفحه Lcd ایجاد نمایید

برنامه کامل راه اندازی LCD کاراکتری با میکروپایتون:

برای اطلاعات بیشتر و خواندن راهنمای این زبان می توانید از لینک زیر استفاده کنید.

https://goo.gl/gHNBqb

About علی عزتی

علی عزتی هستم. رشته ی مهندسی برق الکترونیک رو خوندم. علاقه ی من به یادگیری و به اشتراک گذاشتن چیز هایی که یاد گرفتم. باعث شد تا الکترولب ایجاد بشه. علاقه ی زیادی به الکترونیک دارم. و دوست دارم چیزهای جدید یادبگیرم و بسازم ... :))

Check Also

ساخت وب سرور با NodeMCU

گام اول اضافه کردن برد NodeMCU به IDLE آردوینو برای آن که بتوانید بر روی ...

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

This site uses Akismet to reduce spam. Learn how your comment data is processed.