ওয়াইফাই মাল্টি ফাংশন ব্যবহার করে ESP32 এর শক্তিশালী ওয়াইফাই নেটওয়ার্কের সাথে সংযোগ করুন৷

Oya Ipha I Malti Phansana Byabahara Kare Esp32 Era Saktisali Oya Ipha I Neta Oyarkera Sathe Sanyoga Karuna



ESP32 হল একটি IoT ভিত্তিক মাইক্রোকন্ট্রোলার বোর্ড যার WiFi এবং Bluetooth সমর্থন রয়েছে। ESP32 তিনটি ভিন্ন ওয়াইফাই মোডে কাজ করতে পারে (স্টেশন, অ্যাক্সেস, বা উভয়)। এই সমস্ত মোডগুলি ব্যবহার করে ESP32 এর ওয়্যারলেস সংযোগকে অনেকগুলি ভাঁজ করে উন্নত করতে পারে। আজ আমরা ESP32-এ মাল্টি-ওয়াইফাই সমর্থন নিয়ে আলোচনা করব শক্তিশালী উপলব্ধ নেটওয়ার্কের সাথে সংযোগ করতে।

ওয়াইফাই মাল্টি ফাংশন সহ ESP32

ESP32 একাধিক নেটওয়ার্কের সাথে সংযোগ করতে পারে যদি আমাদের একাধিক নেটওয়ার্কে অ্যাক্সেস থাকে, আমাদের কেবল কোডের ভিতরে তাদের SSID এবং পাসওয়ার্ড সংজ্ঞায়িত করতে হবে। এটি উপলব্ধ নেটওয়ার্ক অনুসন্ধান করবে এবং আমরা কোডে সংজ্ঞায়িত সবচেয়ে শক্তিশালী Wi-Fi নেটওয়ার্কের সাথে সংযোগ স্থাপন করবে৷







বিঃদ্রঃ: মনে রাখবেন এটি একটি সময়ে একটি নেটওয়ার্কের সাথে সংযোগ করবে যদি সেই নেটওয়ার্কের সংযোগটি হারিয়ে যায় তাহলে ESP32 অন্যান্য উপলব্ধ ওয়াইফাই নেটওয়ার্কগুলির সাথে সংযুক্ত হবে৷



আমরা Arduino IDE-তে WiFiMulti উদাহরণ খুলতে পারি:



যাও : ফাইল > উদাহরণ > ওয়াইফাই > ওয়াইফাই মাল্টি





ESP32 এ কিভাবে একাধিক ওয়াইফাই নেটওয়ার্ক যোগ করবেন

ESP32 বোর্ডে একাধিক ওয়াইফাই নেটওয়ার্ক যোগ করতে। আমরা ব্যবহার করব ওয়াইফাই মাল্টি সঙ্গে ফাংশন addAP() . addAP() ফাংশন একটি আর্গুমেন্ট হিসাবে একাধিক SSID এবং পাসওয়ার্ড গ্রহণ করতে পারে। একাধিক নেটওয়ার্ক যোগ করার জন্য তাদের SSID এবং পাসওয়ার্ড আলাদাভাবে সংজ্ঞায়িত করা উচিত। একাধিক নেটওয়ার্ক ব্যবহার করে যুক্ত করার সিনট্যাক্স নিচে দেওয়া হল ওয়াইফাই মাল্টি সঙ্গে ফাংশন addAP() :



ওয়াইফাই মাল্টি। addAP ( 'SSID নেটওয়ার্ক1' , 'পাসওয়ার্ড1' ) ;

ওয়াইফাই মাল্টি। addAP ( 'SSID নেটওয়ার্ক2' , 'পাসওয়ার্ড2' ) ;

ওয়াইফাই মাল্টি। addAP ( 'SSID নেটওয়ার্ক3' , 'পাসওয়ার্ড 3' ) ;

ESP32 এ শক্তিশালী ওয়াইফাই নেটওয়ার্কের সাথে কিভাবে সংযোগ করবেন

সবচেয়ে শক্তিশালী উপলব্ধ নেটওয়ার্কের সাথে ESP32 সংযোগ করতে আমরা ESP32 ওয়াইফাই স্ক্যান এবং ওয়াইফাই মাল্টি উদাহরণ একত্রিত করব। আমরা Arduino IDE-তে একটি কোড লিখব যা নিম্নলিখিত পদক্ষেপগুলি করবে:

  • উপলব্ধ নেটওয়ার্কগুলির জন্য স্ক্যান করুন৷
  • সিরিয়াল মনিটরে তাদের RSSI (সংকেত শক্তি) প্রিন্ট করুন। সুতরাং, আমরা সবচেয়ে শক্তিশালী উপলব্ধ নেটওয়ার্ক পরীক্ষা করতে পারি
  • শক্তিশালী নেটওয়ার্কের সাথে স্বয়ংক্রিয়ভাবে সংযোগ করে
  • যদি এটি সংযোগ হারায়, এটি স্বয়ংক্রিয়ভাবে পরবর্তী উপলব্ধ শক্তিশালী নেটওয়ার্কের সাথে সংযুক্ত হবে৷

কোড পরীক্ষা করতে, আমরা একটি ব্যবহার করা হবে স্মার্টফোন হটস্পট এবং একটি ওয়াইফাই নেটওয়ার্ক। কোনো ত্রুটি এড়াতে সর্বদা মোবাইল হটস্পট নেটওয়ার্কে একটি সাধারণ নাম বরাদ্দ করুন।

এখন Arduino IDE ব্যবহার করে ESP32 বোর্ডে দেওয়া কোড আপলোড করুন।

কোড

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 = ওয়াইফাই. স্ক্যান নেটওয়ার্ক ( ) ; /*উপলভ্য নেটওয়ার্কের জন্য স্ক্যান*/
সিরিয়াল। println ( 'স্ক্যান করা হয়েছে' ) ;
যদি ( n == 0 ) {
সিরিয়াল। println ( 'কোন উপলব্ধ নেটওয়ার্ক নেই' ) ; /*প্রিন্ট করে যদি কোন নেটওয়ার্ক পাওয়া না যায়*/
}
অন্য {
সিরিয়াল। ছাপা ( n ) ;
সিরিয়াল। println ( 'নেটওয়ার্ক পাওয়া গেছে' ) ; /*প্রিন্ট করে যদি নেটওয়ার্ক পাওয়া যায়*/
জন্য ( int i = 0 ; i < n ; ++ i ) {
সিরিয়াল। ছাপা ( i + 1 ) ; /* উপলব্ধ নেটওয়ার্কের SSID এবং RSSI প্রিন্ট করুন*/
সিরিয়াল। ছাপা ( ':' ) ;
সিরিয়াল। ছাপা ( ওয়াইফাই. SSID ( i ) ) ;
সিরিয়াল। ছাপা ( '(' ) ;
সিরিয়াল। ছাপা ( ওয়াইফাই. আরএসএসআই ( i ) ) ;
সিরিয়াল। ছাপা ( ')' ) ;
সিরিয়াল। println ( ( ওয়াইফাই. এনক্রিপশন টাইপ ( i ) == WIFI_AUTH_OPEN ) ? '' : '*' ) ;
বিলম্ব ( 10 ) ;
}
}
/*এসএসআইডি এবং পাসওয়ার্ড উপলব্ধ সহ শক্তিশালী উপলব্ধ সংজ্ঞায়িত নেটওয়ার্কের সাথে সংযোগ করে*/
সিরিয়াল। println ( 'ওয়াইফাইয়ের সাথে সংযুক্ত হচ্ছে...' ) ;
যদি ( ওয়াইফাই মাল্টি। চালান ( ) == WL_CONNECTED ) {
সিরিয়াল। println ( '' ) ;
সিরিয়াল। println ( 'ওয়াইফাই নেটওয়ার্কের সাথে সংযুক্ত' ) ;
সিরিয়াল। println ( 'সংযুক্ত নেটওয়ার্কের আইপি ঠিকানা:' ) ;
সিরিয়াল। println ( ওয়াইফাই. স্থানীয় আইপি ( ) ) ; /*সংযুক্ত নেটওয়ার্কের আইপি ঠিকানা মুদ্রণ করে*/
}
}
অকার্যকর লুপ ( ) {
যদি ( ওয়াইফাই মাল্টি। চালান ( connectTimeoutMs ) == WL_CONNECTED ) { /*যদি সংযোগটি হারিয়ে যায় তবে এটি পরবর্তী নেটওয়ার্কের সাথে সংযুক্ত হবে*/
সিরিয়াল। ছাপা ( 'ওয়াইফাই সংযুক্ত:' ) ;
সিরিয়াল। ছাপা ( ওয়াইফাই. SSID ( ) ) ;
সিরিয়াল। ছাপা ( '' ) ;
সিরিয়াল। println ( ওয়াইফাই. আরএসএসআই ( ) ) ;
}
অন্য {
সিরিয়াল। println ( 'ওয়াইফাই সংযুক্ত নয়!' ) ; /*সব শর্ত ব্যর্থ হলে এটি মুদ্রণ */
}
বিলম্ব ( 1000 ) ;
}

ESP32 এর জন্য WiFi লাইব্রেরি সংজ্ঞায়িত করে কোড শুরু হয়েছিল, তারপর আমরা একটি তৈরি করেছি ওয়াইফাই মাল্টি বস্তু এর পরে, সেটআপ অংশে আমরা দুটি নেটওয়ার্ক যুক্ত করেছি। একটি হল একটি WiFi নেটওয়ার্ক যা পাসওয়ার্ড এনক্রিপ্ট করা তাই আমাদের একটি পাসওয়ার্ড প্রদান করতে হবে যখন দ্বিতীয় নেটওয়ার্ক যা একটি স্মার্টফোন হটস্পট খোলা থাকে, তাই আমাদের কোনো পাসওয়ার্ডের প্রয়োজন নেই শুধু নেটওয়ার্ক SSID টাইপ করুন।

পরবর্তী, ব্যবহার করে wifiMulti.run() কমান্ড ESP32 উপলব্ধ শক্তিশালী নেটওয়ার্কের সাথে সংযোগ করবে। ওয়াইফাই কানেক্ট হয়ে গেলে কোড কানেক্টেড নেটওয়ার্ক SSID, IP অ্যাড্রেস এবং RSSI প্রিন্ট করবে।

আউটপুট

ESP32 এ কোড আপলোড করার পরে প্রথমে এটি উপলব্ধ নেটওয়ার্কের জন্য স্ক্যান করবে তারপর এটি শক্তিশালী উপলব্ধ নেটওয়ার্কের সাথে সংযুক্ত হবে। এখানে আমরা প্রতিটি নেটওয়ার্কের জন্য RSSI মান দেখতে পাচ্ছি কম RSSI মানে নেটওয়ার্ক শক্তিশালী।

  পাঠ্য বিবরণ স্বয়ংক্রিয়ভাবে তৈরি

আমরা দেখতে পাচ্ছি যে ESP32 এর সাথে সংযুক্ত ফোন নেটওয়ার্ক কারণ এটি একটি আছে আরএসএসআই মান -62 এবং অন্য নেটওয়ার্ক যার SSID এবং পাসওয়ার্ড সংজ্ঞায়িত করা হয় টিম SAM যার মান -73। এখানে মোবাইল হটস্পট নেটওয়ার্কের একটি RSSI মান শূন্যের কাছাকাছি মানে একটি শক্তিশালী সংযোগ।

এখন স্মার্টফোনের হটস্পট সংযোগ বিচ্ছিন্ন করুন। ESP32 নিজেকে অন্যান্য শক্তিশালী উপলব্ধ নেটওয়ার্কের সাথে সংযুক্ত করবে। আউটপুট হিসাবে আমরা দেখতে পাচ্ছি ESP32 এখন পরবর্তী শক্তিশালী উপলব্ধ নেটওয়ার্কের সাথে সংযুক্ত। যে নেটওয়ার্কের সাথে এটি সংযুক্ত তা হল টিম SAM এর RSSI মান 0f -65।

উপসংহার

ESP32 তার বৃত্তে উপলব্ধ শক্তিশালী নেটওয়ার্কের সাথে সংযোগ করতে পারে। আমাদের শুধু কোডের ভিতরে একাধিক নেটওয়ার্ক SSID এবং পাসওয়ার্ড সংজ্ঞায়িত করতে হবে। ব্যবহার করে ওয়াইফাই মাল্টি ফাংশন ESP32 উপলব্ধ নেটওয়ার্কগুলির জন্য স্ক্যান করবে এবং সংযোগ হারিয়ে গেলে এটি ESP32 সীমার মধ্যে থাকা অন্যান্য উপলব্ধ নেটওয়ার্কগুলির সাথে সংযুক্ত হবে।