esp8266تازه هاماژول های مخابراتیهمه ی مطالب

محیط برنامه نویسی ESPlorer برای ESP8266 و زبان LUA

در پست قبلی الکترولب آشنایی کلی با ESP8266 داشتیم پروژه NodeMCU را معرفی کردیم و قابلیت های آن را شرح دادیم. نحوه فلش کردن Node MCU را بر روی ESP8266 بررسی کردیم و در آخر برنامه ساده ای برای راه اندازی LED چشمک زن با NodeMCU داشتیم.

توضیحی کوتاه در مورد زبان برنامه نویسی LUA:

لوآ یک زبان متنی است که در سال ۱۹۹۳ در دانشگاه PUC-RIO ریودوژانیرو برزیل و توسط ۳ استاد همان دانشگاه متولد شد. از آن زمان تا کنون لوآ برای انواع مختلف کاربرد های صنعتی مانند ربوتیک , پردازش تصویر , ویرایشگر های متن توسعه ای , سوییچ های اترنت , توسعه وب و غیره استفاده میشود. بعلاوع لوآ یکی از زبان ها برجسته در طراحی و توسعه بازی های کامپیوتری است. LUA دراقع یک زبان برنامه نویسی بسیار ساده ولی فوق العاده قدرتمند است که به واسطه قابلیت های فوق العاده ای که دارد کاربران زیادی پیدا کرده و در صنعت استفاده زیادی دارد.

دستورات لوا خط به خط توسط مفسر اجرا می‌شوند. در لوا همچون زبان‌های اسکریپتی دیگر تابع اصلی (main) وجود ندارد (می‌توان اینطور تصور کرد که کل برنامه یک تابع اصلی است). هر بلوک کد لوا یا مربوط به مقدارده ای متغیر است یا اینکه اجرای یک تابع خاص می‌باشد. ارتباط با دنیای بیرون از طریق رابط برنامه‌نویسی نرم‌افزار انجام می‌شود. متغیرهایی که تعریف می‌شوند به دو دسته عمومی و محلی تقسیم می‌شوند. متغیرهای محلی متغیرهایی هستند که حوزه آنها یک تابع خاص است. در این زبان پیش‌پردازنده وجود ندارد.

فلسفلهٔ اولیه ساخت این زبان، استفاده از آن به عنوان یک زبان عمومی و ساده پردازه‌نویسی بود. جامعه هدف لوا شامل کاربران نیمه حرفه‌ای هم می‌شود. در پردازه‌نویسی برای انجام توصیفات پیچیده از یک زبان نهفته شده در یک زبان دیگر استفاده می‌شود. به خاطر سبک بودن کتابخانه لوا، می‌توان لوا را با تمام قابلیت‌ها به عنوان یک زبان نهفته در سی استفاده نمود. حجم مفسر کامپایل شده حدود ۱۵۰KB است. اگر با زبان C یا زبان برنامه نویسی آردوینو آشنایی دارید یادگیری LUA برای شما آسان است.

لوآ از لحاظ نحوی از واژگان کلیدی آشنایی استفاده می کند. برای آشنایی با Syntax لوا کد زیر دو نوع از محاسبه فاکتوریل, یکی به صورت بازگشتی و دییگری به صورت حلقه را نشان میدهد, هرکس با اندک کعلومات از برنامه نویسی میتواند عبارات و مفهوم این کدها را درک کند.

دانلود خلاصه ای از دستورات LUA در یک فایل PDF

معرفی برنامه ESPlorer برای ESP8266

این برنامه برای کار با ماژول های ESP8266 یک برنامه ضروری است با این برنامه امکان برنامه نویسی یه زبان های میکروپایتون و LUA فراهم است هم چنین می توان ماژول ESP8266 را به وسیله ی AT کامند ها هم توسط این برنامه کنترل کرد. برای اجرای این برنامه نیاز به JAVA (SE version 7 and above) می باشد. برنامه را می توانید از لینک زیر دانلود کنید.

http://esp8266.ru/esplorer-latest/?f=ESPlorer.zip

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

برد NodeMCU خود یا ماژول ESP8266 متصل به USB به سریال خود را به کامپیوتر وصل کنید.

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

بعد از اتصال موقیت آمیز به برد ESP8266 از قسمت سمت راست NodeMCU را انتخاب کنید و قسمت اسکریپت را باز کنید. و یک فایل جدید ایجاد کنید.

-- your first lua script working on LED
 
lighton=0
pin=4
gpio.mode(pin,gpio.OUTPUT) -- Assign GPIO to Output
tmr.alarm(1,2000,1,function()
    if lighton==0 then
        lighton=1
        gpio.write(pin,gpio.HIGH) -- Assign GPIO On
    else
        lighton=0
         gpio.write(pin,gpio.LOW) -- Assign GPIO off
    end
end)

اسکریپت LUA بالا را کپی کنید.

اسکریپت بالا را توسط دکمه [ Save to ESP] ذخیره کنید. با ذخیره شدن کد روی ESP8266 برنامه شما شروع به اجرا می کند.

برای حذف برنامه آپلود شده روی ESP8266 کافی است file.remove (“file_name.lua”) را تایپ کرده و دکمه send را فشار دهید. اگر می خواهید همه فایل های روی حافظه ESP8266 را پاک کنید کافی است.file.format() را ارسال کنید.

اگر آپلود برنامه با موقیت انجام شده باشد برد را از تبدیل USB به سریال جدا کنید و به تغذیه 3.3 ولت وصل کنید شاهد اجرای برنامه خود خواهید بود.

علی عزتی

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

Related Articles

9 Comments

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

  2. چرا هر خطی ک با زبون lua مینویسم رو error میده؟
    esplorer تنظیمات یا کتابخانه خاصی داره؟

    1. مثلا چه کدی؟ نمونه کدی که می نویسید رو برام تو انجمن بنویسید راهنمایی کنم electrolab.org

  3. سلام جناب مهندس.من میخوام برنامه نویسی ب زبان lua
    برای برنامه نویسیesp8266
    رو یاد بگیرم.ایا فایل خاصی,کتاب خاصی,جزوه خاصی هست ک ب من معرفی کنید؟پیشاپیش متشکر از لطف بی کرانتون

    1. در یک پست جدا زبان برنامه نویسی lua رو بررسی می کنم و منابع آموزشیش رو میزارم

  4. سلام
    مهندس من با استفاده از زبان lua تونستم ای ماژول رو به یک web master تبدیل کنم
    ولی مشکلی که پیش اومد چون کدهای at کامند از روش پاک شده بود فقط میتونستم پایه های اونو رو on/off کنم
    میخواستم بدونم راه هی هست که هم وب مستر باشه که بشه با زبان lua براش برنامه نوشت هم بشه از طریق usart از At commmand ها استفاده کرد ؟
    یعنی بشه روی میکروش هر دو خاصیت luaو at command رو با هم داشت ؟
    اگر نمیشه
    کدهای lua هست که بشه دیتای به این ماژول فرستاد و از طریق وایفا همین esp اون دیتا رو برای ما ارسال کنه به سرور یا هر دستگاه دیگر؟

  5. سلام سوال دوست عزیزمون را تکرار میکنم :ایا راهی برای خواندن اطلاعات و برنامه های نوشته شده بر روی ماژول esp8266وجود دارد!

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

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

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.