آردوینو اینترنت اشیا IOT برد Esp32 برد ESP8266

کنترل GPIO برد ESP32 با تایمر بصورت نرم افزاری توسط وب سرور گرافیکی

وب سرور ESP32: کنترل خروجی ها با تایمر
نوشته شده توسط CiferTech

در پروژه کنترل GPIO برد ESP32 با استفاده از یک ESP32 و همچنین با ساخت یک وب سرور و مشخص زمان مدنظر می توانیم خروجی های برد nodemcu را کنترل کنیم. فرض کنید می خواهید ماژول رله ای که به برد متصل کرده اید در ۱۰ ثانیه آینده غیر فعال شود که این آموزش در چنین سناریو هایی می تواند مفید باشد. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

وب سرور ESP32: کنترل خروجی ها با تایمر

 


برد ESP32


وقتی از ESP32 صحبت می‌کنیم، از مصرف انرژی کمتر، قدرت پردازش بهتر، تکنولوژی بروز صحبت می‌کنیم، یعنی نسل جدیدی از تراشه های WIFI که در ادامه نسل قبل یعنی ESP8266 به بازار معرفی شدند، که علاوه بر WIFI از بلوتوث نیز پشتیبانی می‌کنند. از برد های کمکی که برای این تراشه عرضه شده می‌توان به NodeMCU و ESP32-CAM اشاره کرد. این تراشه در سه نوع wroom , wrover و solo تولید می‌شود.

 


وب سرور


وب سرور ها برنامه هایی هستند که مسئولیت آن ها قبول کردن درخواست های Http است که از سمت کاربران ارسال می شود، وب سرور ها در پاسخ اطلاعاتی را ارسال می کنند که ما معمولا به نام صفحات Html می‌شناسیم. خب حالا فرض کنیم که در مرورگر https://digispark.ir را سرچ کردیم، اتفاقی که می‌افتد به این شکل است که مرورگر شما یک درخواست به دامنه‌ای با نام digispark.ir ارسال می‌کند. در حالت عادی زمانی که شما آدرس سایتی را در مرورگر جست و جو می‌کنید از حروف انگلیس استفاده می‌کنید یعنی کلماتی قابل فهم برای انسان اما در واقع برای ورود به یک سایت باید از طریق ip آن اقدام کنید، اینجاست که مفهومی به نام DNS وارد کار می‌شود، پس در واقع زمانی که شما URL سایتی را جستجو می کنید مرورگر از طریق سرویس DNS، آی پی مربوط را پیدا می‌کند و درخواستی ارسال خواهد کرد.

 


توضیح تکمیلی


نحوه کار پروژه کنترل GPIO برد ESP32 به این صورت است که ESP32 ما یک وب سرور را هست می کند که در این وب سرور می توانیم تایمر مربوط را تنظیم کنیم، در ادامه با فعال کردن تایمر، خروجی که از قبل مشخص کرده ایم فعال(HIGH) خواهد شد و در زمان مشخص شده خاموش(LOW) خواهد شد. پین مربوط که بر روی آن کنترل خواخیم داشت پین GPIO2 خواهد بود که همچنین LED داخل برد نیز برای این پین قرار داده شده است.

وب سرور ESP32: کنترل خروجی ها با تایمر

 


پیش نیاز ها


در این آموزش از دو کتابخانه ESPAsyncWebServer و  AsyncTCP استفاده می شود، در ادامه مراحل نصب را دنبال کنید. ابتدا به مسیر Sketch Include Library > Add .zip Library بروید، و فایل .Zip که از لینک های زیر دانلود کرده اید را اضافه کنید. ‌با استفاده از دو لینک زیر اقدام به دانلود و نصب کتابخانه های مورد نیاز کنید. این کتابخانه ها برای راه‌اندازی وب سرور و همچنین ارسال اطلاعات به سمت شبکه اینترنت مورد استفاده قرار خواهند گرفت ESPAsyncWebServer و AsyncTCP

 


نصب افزونه ESP32 در Arduino IDE


بارها روش نصب برد ESP32 را در نرم افزار آردوینو IDE آموزش داده‌ایم. با این حال اگر هنوز روش نصب را نمی‌دانید، مطابق توضیحات ادامه دهید. ابتدا در نرم افزار Arduino IDE به مسیر FilePreferences بروید. لینک زیر را در بخش مشخص شده قرار دهید.

وب سرور ESP32: کنترل نور LED

  • سپس به مسیر Tools > Board > Boards Manager بروید.
  • در بخش board manager  کلمه ESP32  را سرچ کنید و بر روی install  کلیک کنید.

وب سرور ESP32: کنترل نور LED

 


کد کنترل برد ESP32 با تایمر


کدهای زیر را کپی کرده و به نرم افزار آردوینو منتقل کنید. پیشنیازها شامل کتابخانه‌های مورد نیاز را بایستی نصب کنید. که در بالاتر این مورد توضیح داده شد.

 

جهت دسترسی به این بخش، اشتراک اسپارکر پلاس تهیه کنید.

 

 


تحلیل کدهای پروژه


در چند خط اول مانند روال عادی اقدام معرفی برد و کتابخنه های مربوط می کنیم.

 

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

 

در این خط کد می توانید حداکثر مقدار اسلاید بار زمان را تغییر دهید.

 


جمع بندی و نتیجه پروژه


در انتها پس آپلود کد با مراجعه به سریال مانیتور و ریست کردن برد، اگر ESP با موفقیت به شبکه متصل شود، ip مربوط به وب سرور برای شما به نمایش در خواهد آمد وبا جستجو کردن آن در مرورگر، به وب سرور دسترسی خواهید داشت و با حرکت دادن اسلاید بار می توانید زمان HIGH بودن پین GPIO 2 را که LED پیشفرض برد نیز برای این پین می باشد را مشخص کنید.

کنترل خروجی های برد ESP32 با تایمر - دیجی اسپارک

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

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

CiferTech

سلام، معمولا من رو با اسم سایفر می شناسند، دانشجوی الکترونیک هستم، و علاقمند به هک، البته این لفظ همیشه به این معنا نیست که کارهایی که به اصطلاح غیر قانونی هستند رو انجام بدم، هک برای من مثل حل کردن یک پازل یا پیدا کردن راه حل در موقعیت مختلف هست و در کل یک ابزار قدرتمند. پس دوست دارم از هر چیزی سر دربیارم و اطلاعاتی داشته باشم :)

تبادل نظر و رفع عیب با ثبت دیدگاه

۲ دیدگاه