مدیریت و اتصال همزمان به چند وای فای در ESP8266

blog
۱۳۹۸-۱۱-۲۱
3 دقیقه

شاید تاکنون در پروژه‌های اینترنت اشیاء NodeMcu و یا ESP8266 خواسته باشید تا چندین مودم وای فای را به برد خود معرفی کنید تا هنگام اتصال دستگاهتان به اینترنت، به‌طور خودکار وای فای موجود را جستجو کرده و هر کدام که در دسترس بود، به آن متصل شود. همچنین در صورتی که یکی از دسترس خارج شد، به دیگری متصل شود. در این آموزش شما یاد می‌گیرید که چگونه چندین نقطه اتصال وای فای (AP) را همراه با رمز عبورشان در برد خود تعریف کنید تا دستگاه به‌صورت خودکار (اتوماتیک) آن ها را مدیریت کرده و به بهترین آن‌ها متصل شود!

با این آموزش از سیسوگ همراه باشید.

 

قبلاً در سیسوگ مقالاتی از جمله نصب ماژول ESP8266 و ESP32 در ویرایشگر آردینو و QT برای میکروکنترلر‌ها منتشر شده است که می‌آموزید چگونه با استفاده از آردوینو برای NodeMcu و ESP8266 برنامه نویسید.  اگر شما مراحل آماده سازی آردوینو خود را انجام داده باشید، در حالت عادی، شما اطلاعات اتصال به یک مودم وای فای مثل نام نقطه اتصال و رمز عبور (اختیاری) را وارد می‌کنید و ESP8266 تلاش می‌کند تا به آن متصل شود:

 

فرض بگیرید برد esp8266 شما ممکن است در چندین محیط مختلف قرار بگیرد. برای این کار، شما باید برنامه‌ای بنویسید که محیط را اسکن کند و در صورت وجود وای فای مورد نظر، به همان متصل شود. یک روش غیر اصولی هم که معمولاً برای ساده‌تر کردن برنامه نویسی استفاده می‌شود، این است که یکی‌یکی اطلاعات اتصال را به ماژول بدهید و منتظر بمانید تا متصل شود و این کار را آن قدر ادامه دهید تا وای فای بالاخره به یکی از آن‌ها متصل شود! اما این روش‌ها ممکن است برای مدیریت اتصال وای فای به اندازه کافی کارآمد نباشند و یا اینکه کد نویسی شما را هم کمی سخت‌تر کند. اما خوشبختانه نیازی به این کارها نیست. برای معرفی چندین نقطه دستیابی (اکسس پوینت – Access point) به یک برد، قبلاً کتابخانه نوشته شده و شما می‌توانید کتابخانه‌های مورد نیاز را به وسیله هدر فایل‌های زیر به برنامه خود اضافه کنید. اگر مراحل آماده سازی آردوینو را انجام داده باشید، این کتابخانه‌ها پیش فرض وجود دارد.

 

کدهای مورد نظر برای مدیریت و اتصال به چندین وای فای در کتابخانه ESP8266WiFiMulti وجود دارد. برای استفاده از متدهای این کتابخانه، ابتدا باید به‌صورت زیر یک نمونه از روی شی‌ء آن بسازید:

 

حال با استفاده از متد addAP، مودم‌های مختلف وای فای را به همراه رمز عبور تعریف می‌کنیم:

ورودی اول تابع، ssid یا نام نقطه اتصال وای فای شما می‌باشد.

ورودی دوم گذرواژه (رمز عبور – password) وای فای مورد نظر می‌باشد. اگر وای فای شما گذرواژه‌ای ندارد، می‌توانید مثل مثال بالا ورودی دوم را وارد نکنید.

 

همچنین درون کتابخانه ESP8266WiFi متدی وجود دارد که با true کردن آن، ماژول در هنگام روشن شدن به طور خودکار به آخرین وای فایی که دفعه قبل متصل شده بوده است، متصل می‌شود.

 

فرآیند متصل شدن و مدیریت esp8266 به وای فای توسط خود ماژول و در پس زمینه در حال انجام است. در این زمان شما همچنان می‌توانید کارهای دیگری را انجام دهید. برای خواندن وضعیت فعلی ماژول و اطمینان از اتصال به اینترنت، از متد run و یا status استفاده می‌کنیم. این متد ها وضعیت فعلی را به شما گزارش می‌دهد. شما می‌توانید برای اطمینان از اتصال به اینترنت، از روش زیر در ابتدای برنامه استفاده کنید.

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

 

درنهایت، برنامه‌ی نمونه زیر با استفاده از کدهایی که در بالا توضیح داده شد، نوشته شده است. کد زیر را می‌توانید در آردوینو وارد کنید:

 

کد بالا را بر روی NodeMcu یا ESP8266 آپلود کرده و از طریق پنجره سریال روند مدیریت و اتصال به وای فای را پیگیری کنید. دقت داشته باشید که سرعت پنجره سریال را بر روی ۱۱۵۲۰۰ تنظیم کرده باشید.

پنجره سریال esp8266 برای دیباگ اتصال به چند وای فای

 

در تصویر بالا، اگر دقت کنید، در میان متن‌های ما در خروجی سریال متن‌های دیگری نیز چاپ شده‌اند که ما دستور چاپ آن‌ها را در برنامه نداده‌ایم. مثل state، pm open, type:2 0 و… این مقادیر، در واقع برای اشکال زدایی (Debugging) مدیریت اتصال وای فای esp8266 بکار می‌روند. اگر در کد آردوینو بالا خط هشتم را به‌صورت کامنت در بیاوریم، دیگر این متن‌ها را در خروجی نخواهیم دید.

مدیریت اتصال به چند مودم وای فای همزمان esp8266

 

تبریک! پروژه شما هم اکنون به یک مدیر وای فای داخلی مجهز شده است. امیدوارم از این آموزش نیز لذت برده باشید.

اطلاعات
6
0
لینک و اشتراک
profile

Digi Boy

متخصص الکترونیک

به دانش فزای و به یزدان گرای، که او باد جان تو را رهنمای (فردوسی)

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

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

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

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

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
ایمان گفت :
۱۳۹۸-۱۱-۲۶ ۲۰:۰۳

سلام بسیار ممنون به خاطر مطالب خوبتون باید اینطور سایت ها تبلیغات بهتری داشته باشن تا مردم متوجه حضورشون بشن بسیار عالی بود .

profile
Sisoog OS گفت :
۱۳۹۸-۱۱-۲۷ ۰۰:۴۸

سلام دوست عزیز
بازنشر و معرفی سایت هایی مثل سایت ما توسط دوستانی مثل تنها سرمایه تبلیغاتی ما هستند

profile
رضا گفت :
۱۳۹۸-۱۱-۲۶ ۱۳:۱۸

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

profile
Digi Boy گفت :
۱۳۹۸-۱۱-۲۷ ۱۴:۵۶

درود بر شما، از نصب بودن کتابخانه اطمینان حاصل کنید، این کتابخانه هم میتونه مفید باشه:
https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/examples/WiFiMulti/WiFiMulti.ino

profile
reza گفت :
۱۳۹۸-۱۱-۲۴ ۰۰:۰۸

سلام
تشکر بابت مقاله آموزنده.

profile
Sisoog OS گفت :
۱۳۹۸-۱۱-۲۴ ۱۱:۲۹

سلام متشکر

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله