همانطور که در قسمت های پیشین به آن پرداختیم، ماژول ESP32 در کنار پردازنده قدرتمند خود، قادر است تا به مودم ها و هات اسپات ها متصل شود. در این قسمت قصد داریم تا ماژول ESP32 را به یک مودم متصل کنیم. سپس آی پی دریافت شده را در سریال مانیتور نمایش دهیم. در ادامه آموزش مد ایستگاهی ESP32 با مرجع تخصصی ESP32 به زبان فارسی، دیجی اسپارک همراه باشید.
تعریف مد کاری ایستگاهی STATION
مد کاری ایستگاهی که از این به بعد آن را STA می نامیم، یکی از مد های کاری اصلی در ماژول ESP32 است. شما بارها با این مد کار کرده اید. دقیقا زمانیکه تلفن همراه خود را به مودم خانگی متصل می کنید، گوشی در حالت STA جهت دریافت آی پی از مودم قرار گرفته است. ماژول ESP32 نیز قابلیت اتصال به مودم های خانگی و حتی تلفن همراه در حالت نقطه دسترسی(Access Point) را دارد. با اتصال به این دستگاه ها، ماژول آی پی دریافت کرده و می تواند وارد شبکه اینترنت شود. از طرفی دیگر، با ایجاد یک شبکه محلی، این ماژول قادر به اتصال به نقطه دسترسی و دریافت آی پی در شبکه محلی خواهد بود.
بنابراین در مد کاری STA، با دریافت آی پی از مودم می توانیم ماژول را در شبکه به ماژول های دیگر و یا اینترنت متصل کنیم. البته از آنجاییکه برای اتصال به مودم نیاز به رمز عبور و نام SSID است، می باید این موارد نیز رعایت شوند. به همین منظور، در قسمت بعدی به توابع توسعه یافته مخصوص این روند، می پردازیم.
ماژول در مد STA و اتصال به مودم
در این قسمت به بررسی توابع و دستورات آردوینو جهت قرارگیری ماژول در حالت STA می پردازیم. ابتدا به کمک تابع زیر، ماژول در حالت STA قرار می گیرد.
WiFi.mode(WIFI_STA)
پس از اجرای تابع فوق، ماژول در حالت STA قرار می گیرد. پس از این، می بایست با اطلاع از SSID و رمز عبور، ماژول را به مودم متصل کنید. برای این مورد می بایست به شکل زیر عمل کنید.
WiFi.begin(“SSID”,”PASSWORD”)
مطابق تابع فوق، عبارت SSID نام مودم و عبارت PASSWORD رمز عبور مودمی که قصد اتصال به آن را دارید، تعیین می نماید. پس از فراخوانی تابع فوق، به کمک تابع زیر می توانید اتصال به مودم را کنترل نمایید. البته اتصال به مودم و دریافت آی پی، معمولا کمی زمانبر است.
WiFi.status()
خروجی تابع فوق در صورت اتصال موفقیت آمیز به مودم، عبارت WL_CONNECTED خواهد بود. در نهایت به کمک تابع زیر می توانید آی پی دریافت شده از مودم که به ESP8266 تخصیص یافته را مشاهده کنید.
WiFi.localIP()
در صورتیکه بخواهیم موارد فوق را در یک برنامه کامل مشاهده کنیم، می توانیم برنامه ای به شکل زیر بنویسیم.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
قطع ارتباط با مودم و ارتباط مجدد
پس از اینکه ماژول به مودم متصل گردید، این امکان وجود دارد که بتوانید ارتباط را با مودم قطع کنید. برای این مورد می توانید از تابع زیر استفاده کنید.
WiFi.disconnect(wifioff)
پس از فراخوانی تابع فوق، ارتباط ماژول با مودم قطع خواهد شد. توجه داشته باشید که قرار دادن ورودی برای این تابع اختیاری است. اما در صورتیکه این ورودی برابر با true گردد، پس از قطع ارتباط، ماژول از حالت STA خارج خواهد شد. پس از اینکه ارتباط قطع شد جهت برقرای مجدد ارتباط به مودم، می بایست از تابع زیر استفاده کنید.
WiFi.reconnect()
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
فعال و غیر فعال سازی اتصال خودکار
ماژول ESP32 قابلیت تعریف حالت اتصال خودکار را دارد. بدین ترتیب پس از قطع ارتبط با مودم، ماژول به طور خودکار پس از فعال سازی مودم، به آن متصل خواهد شد. برای این مورد، می بایست از تابع زیر استفاده نمایید.
WiFi.setAutoConnect(autoConnect)
ورودی این تابع مقداری اختیاری است. در صورتیکه ورودی false شود، قابلیت اتصال خودکار غیر فعال خواهد شد. در صورتیکه ورودی را true قرار دهید، این قابلیت مجددا فعال می شود. توجه داشته باشید که این تابع اتصال خودکار را به آخرین AP که ماژول به آن متصل بوده، برقرار می سازد. در ادامه، به کمک تابع زیر می توانید از فعال و یا غیر فعال بودن اتصال خودکار، مطلع شوید. خروجی true به معنای فعال بودن و خروجی false به معنای غیر فعال بودن اتصال خودکار است.
WiFi.getAutoConnect()
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
لوازم متناسب با آموزش
جمع بندی
در سلسله آموزش های ماژول ESP32، قسمت چهارم به بررسی مد ایستگاهی STATION در ماژول ESP32 پرداختیم. مد ایستگاهی که در آن ماژول قادر است تا به مودم ها و هات اسپات ها متصل شود، این امکان را فراهم می کند تا ماژول ESP32 به اینترنت متصل شود. در این آموزش به بررسی توابع آردوینو جهت اتصال ماژول به مودم ها پرداختیم. در کنار این، سایر قابلیت های ماژول مانند اتصال خودکار به مودم ها، تحلیل و بررسی گردید. در هر قسمت، با ارائه توایع، یک مثال از برنامه عملی قرار داده شده تا موضوع بهتر روشن و درک گردد. در قسمت بعدی این سلسه آموزش، به مد نقطه دسترسی یا همان Access Point خواهیم پرداخت.
چنانچه مطالب این آموزش را گنک یافتید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در مطالب درج شده و یا کدها وجود دارد میتوانید از همین طریق اطلاع رسانی کنید.
ادامه مطالب این آموزش
راه اندازی و کار با برد ESP32 بخش پنجم: مد نقطه دسترسی AP
راه اندازی و کار با برد ESP32 بخش ششم: مد سرور Server
راه اندازی و کار با ESP32 بخش هفتم: لایه انتقال و ارتباط با موبایل توسط مودم
راه اندازی و کار با برد ESP32 بخش هشتم: اجرای متد GET
راه اندازی و کار با برد ESP32 قسمت نهم: اجرای متد POST
راه اندازی و کاری با ماژول ESP32 قسمت دهم: شناخت و راه اندازی MDNS
راه اندازی و کار با ماژول ESP32 قسمت یازدهم: ESP-Cam دوربین و کارت SD
راه اندازی و کار با برد ESP32 قسمت دوازدهم: راه اندازی بلوتوث Bluetooth
سلام آیا کدهای تست شده ای برای esp32 در مد استیشن وجود دارد؟
با سلام
تمامی کدهایی که در دیجی اسپارک منتشر میکنیم تست شده هستند. برای این منظور عبارت ESP32 را در سایت جستجو کنید.
سلام وقتتون بخیر
آخرین برنامه این صفحه در مورد راه اندازی esp32-cam در مد استیشن رو روی esp32 با موفقیت ریختم (قبلا توی مد اکسس پوینت با موفقیت راه اندازیش کردم) اما خطای زیر در سریال مانیتور نمایش داده می شود.
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1344
load:0x40078000,len:13964
load:0x40080400,len:3600
entry 0x400805f0
ضمنا UOT ——> RX
UOR ——–> TX
۵ ولت تغذیه esp32 رو از ماژول مبدل dc-dc گرفتم و زمینش رو با زمین usb به TTL یکی کردم.
اینکار رو با برنامه های متفاوتی تست کردم ولی جواب نگرفتم لطفا راهنمایی کنید.
با سلام و تشکر از همراهی شما
این اطلاعاتی که از برنامه به شما نشان داده شده است، معمولا در حین بوت (شروع اجرا) ماژول ESP32 ظاهر میشود. چند نکته برای رفع این مشکل را پیشنهاد میکنم.
۱- برنامه را مجدداً بر روی برد آپلود کنید: این گاهی اوقات ممکن است به دلیل یک مشکل در فرایند آپلود برنامه به برد باشد. دوباره برنامه را بر روی برد آپلود کرده و مطمئن شوید که این خطا تکرار نمیشود.
۲- از کانفیگ صحیح SPI استفاده کنید: در این خطا، mode:DIO ظاهر شده است. مطمئن شوید که تنظیمات SPI در برنامه شما صحیح است.
۳- استفاده از کلید ریست (reset) برای بازنشانی برد: برخی اوقات ممکن است برد ESP32 نیاز به یک بازنشانی دستی داشته باشد. از کلید ریست برد برای این منظور استفاده کنید و سپس برنامه را دوباره اجرا کنید.
۴- استفاده از نسخههای مختلف برنامه و کتابخانهها: ممکن است مشکل در نسخههای خاصی از برنامه یا کتابخانهها باشد. اگر امکان دارد، نسخههای مختلف را امتحان کنید.
۵- بررسی منابع مصرفی برنامه: برنامههای حاوی حلقههای بیپایان یا مشکلات مصرف منابع ممکن است باعث این خطا شوند. مطمئن شوید که برنامه شما به درستی منابع را مدیریت میکند.
در صورتی که مشکل ادامه دارد، اطلاعات بیشتری در مورد برنامه، تنظیمات و سختافزار (hardware) مورد استفاده شما مفید است تا بتوان بهتر کمک کرد.
سلام وقت بخیر
برای پروژه ای که دارم که شامل ESP32 Cam و Sim800L هست نیاز دارم که ماژول وایفای ESP رو به دیتای سیمکارت Sim800 متصل کنم ولی چطوری میتونم HotSpot دیتای Sim800 رو فعال کنم که ESP بتونه بهش متصل بشه ؟
با سلام
برای این منظور بایستی از ارتباط سریال استفاده کنید. تا جایی که بنده اطلاع دارم نیازی به هات اسپات ندارید.