وائی ​​فائی ملٹی فنکشن کا استعمال کرتے ہوئے ESP32 میں سب سے مضبوط وائی فائی نیٹ ورک سے جڑیں۔

Wayy Fayy Ml Y Fnkshn Ka Ast Mal Krt Wy Esp32 My Sb S Mdbwt Wayy Fayy Ny Wrk S J Y



ESP32 ایک IoT پر مبنی مائکرو کنٹرولر بورڈ ہے جس میں وائی فائی اور بلوٹوتھ سپورٹ ہے۔ ESP32 تین مختلف وائی فائی طریقوں (اسٹیشن، رسائی، یا دونوں) میں کام کر سکتا ہے۔ ان تمام طریقوں کو استعمال کرنے سے ESP32 اس کی وائرلیس کنیکٹیویٹی کو کئی گنا بڑھا سکتا ہے۔ آج ہم ESP32 میں ملٹی وائی فائی سپورٹ کے بارے میں بات کریں گے تاکہ سب سے مضبوط دستیاب نیٹ ورک سے جڑا جا سکے۔

وائی ​​فائی ملٹی فنکشن کے ساتھ ESP32

ESP32 ایک سے زیادہ نیٹ ورکس سے جڑ سکتا ہے اگر ہمارے پاس ایک سے زیادہ نیٹ ورک تک رسائی ہے، ہمیں صرف کوڈ کے اندر ان کے SSID اور پاس ورڈ کی وضاحت کرنے کی ضرورت ہے۔ یہ دستیاب نیٹ ورک کو تلاش کرے گا اور مضبوط ترین Wi-Fi نیٹ ورک سے جڑے گا جس کی وضاحت ہم کوڈ میں کرتے ہیں۔







نوٹ: یاد رکھیں کہ یہ ایک وقت میں ایک نیٹ ورک سے جڑ جائے گا اگر اس نیٹ ورک سے کنکشن ختم ہو جائے تو ESP32 دوسرے دستیاب وائی فائی نیٹ ورکس سے جڑ جائے گا۔



ہم Arduino IDE میں WiFiMulti مثال کھول سکتے ہیں:



کے پاس جاؤ : فائل > مثالیں > وائی فائی > وائی فائی ملٹی





ESP32 میں ایک سے زیادہ وائی فائی نیٹ ورک کیسے شامل کریں۔

ESP32 بورڈ میں متعدد وائی فائی نیٹ ورکس شامل کرنے کے لیے۔ ہم استعمال کریں گے۔ وائی ​​فائی ملٹی کے ساتھ فنکشن addAP() . addAP() فنکشن ایک سے زیادہ SSIDs اور پاس ورڈ کو بطور دلیل قبول کر سکتا ہے۔ ایک سے زیادہ نیٹ ورکس کو شامل کرنے کے لیے ان کے SSID اور پاس ورڈز کو الگ الگ بیان کیا جانا چاہیے۔ استعمال کرتے ہوئے ایک سے زیادہ نیٹ ورک شامل کرنے کے لیے نحو درج ذیل ہے۔ وائی ​​فائی ملٹی کے ساتھ فنکشن addAP() :



وائی ​​فائی ملٹی۔ addAP ( 'SSID نیٹ ورک 1' ، 'پاس ورڈ 1' ) ;

وائی ​​فائی ملٹی۔ addAP ( 'SSID نیٹ ورک 2' ، 'پاس ورڈ 2' ) ;

وائی ​​فائی ملٹی۔ addAP ( 'SSID نیٹ ورک 3' ، 'پاس ورڈ 3' ) ;

ESP32 میں سب سے مضبوط وائی فائی نیٹ ورک سے کیسے جڑیں۔

ESP32 کو مضبوط ترین دستیاب نیٹ ورک کے ساتھ مربوط کرنے کے لیے ہم ESP32 وائی فائی اسکین اور وائی فائی ملٹی مثال کو یکجا کریں گے۔ ہم Arduino IDE میں ایک کوڈ لکھیں گے جو درج ذیل اقدامات کرے گا:

  • دستیاب نیٹ ورکس کے لیے اسکین کریں۔
  • سیریل مانیٹر پر ان کے RSSI (سگنل کی طاقت) پرنٹ کریں۔ لہذا، ہم سب سے مضبوط دستیاب نیٹ ورک کو چیک کر سکتے ہیں۔
  • خود بخود مضبوط ترین نیٹ ورک سے جڑ جاتا ہے۔
  • اگر یہ کنکشن کھو دیتا ہے، تو یہ خود بخود اگلے دستیاب مضبوط ترین نیٹ ورک سے جڑ جائے گا۔

کوڈ کو جانچنے کے لیے، ہم استعمال کریں گے a اسمارٹ فون ہاٹ سپاٹ اور وائی فائی نیٹ ورک۔ کسی بھی غلطی سے بچنے کے لیے موبائل ہاٹ اسپاٹ نیٹ ورک کو ہمیشہ ایک سادہ نام تفویض کریں۔

اب ESP32 بورڈ میں دیئے گئے کوڈ کو Arduino IDE استعمال کرکے اپ لوڈ کریں۔

کوڈ

Arduino IDE کھولیں اور ESP32 میں کوڈ اپ لوڈ کریں۔ COM پورٹ کو منتخب کرنا یاد رکھیں۔

#include /*WIFI لائبریری شامل*/

#include /*ملٹی وائی فائی لائبریری شامل*/

وائی ​​فائی ملٹی وائی فائی ملٹی ;
/*فی اے پی کنیکٹ ٹائم۔ جب ESP32 کنکشن کے لیے زیادہ وقت لے تو اضافہ کریں*/
const uint32_t connectTimeoutMs = 10000 ;
باطل سیٹ اپ ( ) {
سیریل شروع ( 115200 ) ; /*سیریل مواصلات شروع ہوتا ہے*/
تاخیر ( 10 ) ;
وائی ​​فائی. موڈ ( WIFI_STA ) ; /*ESP32 وائی فائی اسٹیشن کے طور پر شروع کیا گیا*/
/*تمام معلوم SSID اور ان کے پاس ورڈز ٹائپ کریں*/
وائی ​​فائی ملٹی۔ addAP ( 'آپ کا SSID' ، 'پاس ورڈ' ) ; /*نیٹ ورک 1 ہم جوڑنا چاہتے ہیں*/
وائی ​​فائی ملٹی۔ addAP ( 'فون' ) ; /*نیٹ ورک 2 ہم جوڑنا چاہتے ہیں*/
// WiFi.scanNetworks کل نیٹ ورکس دے گا۔
int n = وائی ​​فائی. اسکین نیٹ ورکس ( ) ; /* دستیاب نیٹ ورک کے لیے اسکین کریں*/
سیریل پرنٹ ایل این ( 'اسکین ہو گیا' ) ;
اگر ( n == 0 ) {
سیریل پرنٹ ایل این ( 'کوئی نیٹ ورک دستیاب نہیں' ) ; /*اگر کوئی نیٹ ورک نہیں ملا تو پرنٹ کرتا ہے*/
}
اور {
سیریل پرنٹ کریں ( n ) ;
سیریل پرنٹ ایل این ( 'نیٹ ورک مل گئے' ) ; /*اگر نیٹ ورک مل گیا تو پرنٹ کریں*/
کے لیے ( int میں = 0 ; میں < n ; ++ میں ) {
سیریل پرنٹ کریں ( میں + 1 ) ; /*دستیاب نیٹ ورک کے SSID اور RSSI کو پرنٹ کریں*/
سیریل پرنٹ کریں ( ' :' ) ;
سیریل پرنٹ کریں ( وائی ​​فائی. SSID ( میں ) ) ;
سیریل پرنٹ کریں ( '(' ) ;
سیریل پرنٹ کریں ( وائی ​​فائی. آر ایس ایس آئی ( میں ) ) ;
سیریل پرنٹ کریں ( ')' ) ;
سیریل پرنٹ ایل این ( ( وائی ​​فائی. خفیہ کاری کی قسم ( میں ) == WIFI_AUTH_OPEN ) ? ' : '*' ) ;
تاخیر ( 10 ) ;
}
}
/*ایس ایس آئی ڈی اور پاس ورڈ دستیاب کے ساتھ مضبوط ترین دستیاب وضاحتی نیٹ ورک سے جڑتا ہے*/
سیریل پرنٹ ایل این ( 'وائی فائی سے منسلک ہو رہا ہے...' ) ;
اگر ( وائی ​​فائی ملٹی۔ رن ( ) == WL_CONNECTED ) {
سیریل پرنٹ ایل این ( '' ) ;
سیریل پرنٹ ایل این ( 'وائی فائی نیٹ ورک سے منسلک' ) ;
سیریل پرنٹ ایل این ( 'منسلک نیٹ ورک کا IP پتہ:' ) ;
سیریل پرنٹ ایل این ( وائی ​​فائی. لوکل آئی پی ( ) ) ; /*منسلک نیٹ ورک کا IP ایڈریس پرنٹ کرتا ہے*/
}
}
باطل لوپ ( ) {
اگر ( وائی ​​فائی ملٹی۔ رن ( connectTimeoutMs ) == WL_CONNECTED ) { /*اگر کنکشن ٹوٹ جاتا ہے تو یہ اگلے نیٹ ورک سے جڑ جائے گا*/
سیریل پرنٹ کریں ( 'وائی فائی منسلک ہے:' ) ;
سیریل پرنٹ کریں ( وائی ​​فائی. SSID ( ) ) ;
سیریل پرنٹ کریں ( ' ) ;
سیریل پرنٹ ایل این ( وائی ​​فائی. آر ایس ایس آئی ( ) ) ;
}
اور {
سیریل پرنٹ ایل این ( 'وائی فائی منسلک نہیں ہے!' ) ; /*اگر تمام شرائط ناکام ہوجاتی ہیں تو اسے پرنٹ کریں*/
}
تاخیر ( 1000 ) ;
}

کوڈ ESP32 کے لیے وائی فائی لائبریریوں کی وضاحت سے شروع ہوا، پھر ہم نے ایک بنایا وائی ​​فائی ملٹی چیز. اگلا، سیٹ اپ حصے میں ہم نے دو نیٹ ورکس کو شامل کیا۔ ایک وائی فائی نیٹ ورک ہے جو پاس ورڈ انکرپٹڈ ہے اس لیے ہمیں پاس ورڈ فراہم کرنا ہوگا جبکہ دوسرا نیٹ ورک جو اسمارٹ فون ہاٹ اسپاٹ ہے کھلا ہے، اس لیے ہمیں کسی پاس ورڈ کی ضرورت نہیں ہے بس نیٹ ورک SSID ٹائپ کریں۔

اگلا، استعمال کرتے ہوئے wifiMulti.run() کمانڈ ESP32 دستیاب مضبوط ترین نیٹ ورک سے جڑے گا۔ وائی ​​فائی کے منسلک ہونے کے بعد کوڈ منسلک نیٹ ورک SSID، IP ایڈریس اور RSSI پرنٹ کرے گا۔

آؤٹ پٹ

ESP32 پر کوڈ اپ لوڈ کرنے کے بعد پہلے یہ دستیاب نیٹ ورک کو اسکین کرے گا پھر یہ سب سے مضبوط دستیاب نیٹ ورک سے جڑ جائے گا۔ یہاں ہم ہر نیٹ ورک کے لیے RSSI قدر دیکھ سکتے ہیں جس کا مطلب ہے کہ نیٹ ورک مضبوط ہے۔

  متن کی تفصیل خود بخود تیار ہو گئی۔

ہم دیکھ سکتے ہیں کہ ESP32 اس سے منسلک ہے۔ فون نیٹ ورک کیونکہ اس میں ایک ہے آر ایس ایس آئی کی قدر -62 اور دوسرا نیٹ ورک جس کی SSID اور پاس ورڈ کی وضاحت کی گئی ہے۔ ٹیم SAM جس کی قیمت ہے -73. یہاں موبائل ہاٹ اسپاٹ نیٹ ورک کی RSSI قدر صفر کے قریب ہے یعنی مضبوط کنکشن۔

اب اسمارٹ فون ہاٹ اسپاٹ کو منقطع کریں۔ ESP32 خود کو دوسرے مضبوط دستیاب نیٹ ورکس سے جوڑ دے گا۔ جیسا کہ آؤٹ پٹ میں ہم دیکھ سکتے ہیں کہ ESP32 اب اگلے مضبوط ترین دستیاب نیٹ ورک سے منسلک ہے۔ نیٹ ورک جس سے یہ منسلک ہے ٹیم SAM ہے جس کی RSSI ویلیو 0f -65 ہے۔

نتیجہ

ESP32 اپنے دائرے میں دستیاب مضبوط ترین نیٹ ورک سے جڑ سکتا ہے۔ ہمیں صرف کوڈ کے اندر متعدد نیٹ ورکس SSID اور پاس ورڈ کی وضاحت کرنے کی ضرورت ہے۔ کا استعمال کرتے ہوئے وائی ​​فائی ملٹی فنکشن ESP32 دستیاب نیٹ ورکس کے لیے اسکین کرے گا اور جب کنکشن ختم ہو جائے گا تو یہ ESP32 رینج کے اندر موجود دیگر دستیاب نیٹ ورکس سے جڑ جائے گا۔