কিভাবে ESP32 স্ট্যাটিক আইপি ঠিকানা সেট করবেন

Kibhabe Esp32 Styatika A Ipi Thikana Seta Karabena



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

এই নিবন্ধে আমরা একটি ESP32 স্ট্যাটিক আইপি ঠিকানা সেট করব যা অন্যান্য ডিভাইসগুলি মনে রাখতে পারে।

ESP32 আইপি ঠিকানার ভূমিকা

ESP32 এর সাথে কাজ করার জন্য একটি পৃথক স্ট্যাটিক আইপি ঠিকানার প্রয়োজন হতে পারে কারণ যখন আমরা ESP32 এর জন্য একটি ওয়েব সার্ভার ডিজাইন করি তখন আমরা ESP32 এর IP ঠিকানা ব্যবহার করে সেই ওয়েব সার্ভারটি অ্যাক্সেস করি। এই IP ঠিকানাটি ওয়াইফাই নেটওয়ার্ক দ্বারা বরাদ্দ করা হয়েছে যেখানে ESP32 সংযুক্ত রয়েছে৷







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



সাধারনত ডিএইচসিপি (ডাইনামিক হোস্ট কনফিগারেশন প্রোটোকল) নেটওয়ার্ক ম্যানেজমেন্ট টুল ওয়াইফাই নেটওয়ার্কের মধ্যে সংযুক্ত সমস্ত ডিভাইসে আইপি ঠিকানা বরাদ্দ করে। DHCP সহায়ক কারণ এটি নেটওয়ার্কের ভিতরে সংযুক্ত সমস্ত ডিভাইসে ম্যানুয়ালি IP ঠিকানা বরাদ্দ করার জন্য নেটওয়ার্ক প্রশাসকদের প্রয়োজনীয়তা এড়ায়। হোম নেটওয়ার্কে সাধারণত ওয়াইফাই রাউটার একটি DHCP সার্ভার হিসাবে কাজ করে।



আইপি ঠিকানার সাথে সাথে DHCP কিছু অন্যান্য পরামিতিও বরাদ্দ করে যার মধ্যে রয়েছে:





  • সাবনেট মাস্ক: এটি একটি 32-বিট নম্বর যা IP ঠিকানাগুলিকে মাস্ক করে এবং সেগুলিকে নেটওয়ার্ক এবং হোস্ট ঠিকানাগুলিতে ভাগ করে।
  • গেটওয়ে ঠিকানা: এটি একটি ডিভাইসের আইপি ঠিকানা যা স্থানীয় নেটওয়ার্ক ডিভাইসগুলিকে সাধারণত বাড়িতে ইন্টারনেটের সাথে লিঙ্ক করে এটি একটি ওয়াইফাই রাউটার।
  • DNS: এটি ডোমেইন নেম সার্ভারের আইপি ঠিকানা।

ESP32 ওয়েব সার্ভার অ্যাক্সেস করার জন্য এই সমস্ত পরামিতি গুরুত্বপূর্ণ। যখন আমরা ESP32 এর জন্য একটি স্ট্যাটিক আইপি ঠিকানা ব্যবহার করব তখন এই সমস্ত প্যারামিটার অবশ্যই পাস করতে হবে অন্যথায় ESP32 যোগাযোগ স্থাপন করতে ব্যর্থ হবে।

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



পরামিতি জানার পর, আমরা একটি স্ট্যাটিক আইপি ঠিকানা বরাদ্দ করতে পারি।

ডিফল্ট নেটওয়ার্ক পরামিতি খোঁজা

পূর্ববর্তী বিভাগে যেমন আলোচনা করা হয়েছে আমরা সেই নেটওয়ার্কের সমস্ত প্যারামিটার পেতে ওয়াইফাই নেটওয়ার্কের সাথে ESP32-কে সংযুক্ত করব। সুতরাং, নেটওয়ার্ক SSID এবং পাসওয়ার্ড সংজ্ঞায়িত করে এবং WiFi.h লাইব্রেরি ব্যবহার করে আমরা একটি নেটওয়ার্কের সাথে ESP32 সংযোগ করতে পারি।

কোড

নিচে দেওয়া কোডটি ESP32 বোর্ডে আপলোড করুন এবং আপনার নিজের নেটওয়ার্ক শংসাপত্রের সাথে SSID এবং পাসওয়ার্ড পরিবর্তন করতে ভুলবেন না।

# অন্তর্ভুক্ত করুন


const চর * ssid = 'আপনার নেটওয়ার্ক নাম' ;
const চর * পাসওয়ার্ড = 'আপনার নেটওয়ার্কপাস' ;

অকার্যকর সেটআপ ( ) {
সিরিয়াল। শুরু ( 115200 ) ;

ওয়াইফাই. শুরু ( ssid , পাসওয়ার্ড ) ;

যখন ( ওয়াইফাই. অবস্থা ( ) != WL_CONNECTED ) {
বিলম্ব ( 500 ) ;
সিরিয়াল। ছাপা ( 'সংযুক্ত হচ্ছে... \n \n ' ) ;
}

সিরিয়াল। ছাপা ( 'স্থানীয় আইপি:' ) ;
সিরিয়াল। println ( ওয়াইফাই. স্থানীয় আইপি ( ) ) ;
সিরিয়াল। ছাপা ( 'সাবনেট মাস্ক:' ) ;
সিরিয়াল। println ( ওয়াইফাই. সাবনেট মাস্ক ( ) ) ;
সিরিয়াল। ছাপা ( 'তথ্যপ্রযুক্তি সংযোগ পথ: ' ) ;
সিরিয়াল। println ( ওয়াইফাই. তথ্যপ্রযুক্তি সংযোগ পথ ( ) ) ;
সিরিয়াল। ছাপা ( 'DNS 1:' ) ;
সিরিয়াল। println ( ওয়াইফাই. dnsIP ( 0 ) ) ;
সিরিয়াল। ছাপা ( 'DNS 2:' ) ;
সিরিয়াল। println ( ওয়াইফাই. dnsIP ( 1 ) ) ;
}

অকার্যকর লুপ ( ) { }

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

কোডের দ্বিতীয় অংশে, আমরা অতিরিক্ত পরামিতি সহ DHCP সার্ভার দ্বারা নির্ধারিত IP ঠিকানা প্রিন্ট করেছি: সাবনেট মাস্ক, গেটওয়ে আইপি এবং উভয় DNS সার্ভার আইপি।

আউটপুট

আউটপুটে আমরা সিরিয়াল মনিটরে প্রিন্ট করা সমস্ত নেটওয়ার্ক প্যারামিটার দেখতে পারি।

এখন আমরা ESP32 এ একটি স্ট্যাটিক আইপি সেট করব। স্থানীয় আইপি ঠিকানাগুলি ছাড়া বাকি সমস্ত পরামিতি পরবর্তী বিভাগে ব্যবহার করা হবে।

ESP32 এর জন্য একটি স্ট্যাটিক আইপি ঠিকানা সেট করা

যেহেতু আমরা ইতিমধ্যেই নেটওয়ার্কের প্যারামিটারগুলি জানি যেখানে ESP32 সংযুক্ত আছে এখন আমরা একই নেটওয়ার্কে ESP32 সংযোগ করার জন্য একটি কাস্টম আইপি ঠিকানা ব্যবহার করব যখন আমরা পূর্ববর্তী আউটপুটে পেয়েছি অপরিবর্তিত অন্যান্য প্যারামিটারগুলি ব্যবহার করব।

কিন্তু তার আগে ইন্সটল করতে হবে ESP32Ping.h Arduino IDE-তে লাইব্রেরি। এই লাইব্রেরি ব্যবহার করে, আমরা আবহাওয়া যাচাই করতে পারি আমাদের স্ট্যাটিক আইপি ঠিকানা কাজ করছে কি না। ডাউনলোড করতে ক্লিক করুন ESP32Ping.h লাইব্রেরি

একবার জিপ ফাইল ডাউনলোড হয়ে গেলে এখানে যান: স্কেচ>লাইব্রেরি অন্তর্ভুক্ত করুন> জিপ লাইব্রেরি যোগ করুন

  গ্রাফিকাল ইউজার ইন্টারফেস, টেক্সট, অ্যাপ্লিকেশন বর্ণনা স্বয়ংক্রিয়ভাবে তৈরি

কোড

এখন নিচের কোডটি ESP32 এ আপলোড করুন। এই কোডটি ESP32 এর জন্য একটি স্ট্যাটিক আইপি ঠিকানা সেট করবে। নেটওয়ার্কের জন্য SSID এবং পাসওয়ার্ড প্রতিস্থাপন করতে ভুলবেন না।

# অন্তর্ভুক্ত করুন

#include

const চর * ssid = 'আপনার নেটওয়ার্ক নাম' ;
const চর * পাসওয়ার্ড = 'আপনার নেটওয়ার্কপাস' ;

আইপিএড্রেস স্ট্যাটিকআইপি ( 192 , 168 , 18 , 53 ) ;
আইপিএড্রেস গেটওয়ে ( 192 , 168 , 18 , 1 ) ;
আইপিএড্রেস সাবনেট ( 255 , 255 , 255 , 0 ) ;
আইপিএড্রেস ডিএনএস ( 101 , পঞ্চাশ , 101 , পঞ্চাশ ) ;

অকার্যকর সেটআপ ( ) {
সিরিয়াল। শুরু ( 115200 ) ;

যদি ( ওয়াইফাই. কনফিগারেশন ( স্ট্যাটিকআইপি , প্রবেশপথ , সাবনেট , ডিএনএস , ডিএনএস ) == মিথ্যা ) {
সিরিয়াল। println ( 'কনফিগারেশন ব্যর্থ হয়েছে।' ) ;
}

ওয়াইফাই. শুরু ( ssid , পাসওয়ার্ড ) ;

যখন ( ওয়াইফাই. অবস্থা ( ) != WL_CONNECTED ) {
বিলম্ব ( 500 ) ;
সিরিয়াল। ছাপা ( 'সংযুক্ত হচ্ছে... \n \n ' ) ;
}

সিরিয়াল। ছাপা ( 'স্থানীয় আইপি:' ) ;
সিরিয়াল। println ( ওয়াইফাই. স্থানীয় আইপি ( ) ) ;
সিরিয়াল। ছাপা ( 'সাবনেট মাস্ক:' ) ;
সিরিয়াল। println ( ওয়াইফাই. সাবনেট মাস্ক ( ) ) ;
সিরিয়াল। ছাপা ( 'তথ্যপ্রযুক্তি সংযোগ পথ: ' ) ;
সিরিয়াল। println ( ওয়াইফাই. তথ্যপ্রযুক্তি সংযোগ পথ ( ) ) ;
সিরিয়াল। ছাপা ( 'DNS 1:' ) ;
সিরিয়াল। println ( ওয়াইফাই. dnsIP ( 0 ) ) ;
সিরিয়াল। ছাপা ( 'DNS 2:' ) ;
সিরিয়াল। println ( ওয়াইফাই. dnsIP ( 1 ) ) ;

bool সাফল্য = পিং। পিং ( 'www.google.com' , 3 ) ;

যদি ( ! সাফল্য ) {
সিরিয়াল। println ( ' \n পিং ব্যর্থ হয়েছে' ) ;
ফিরে ;
}

সিরিয়াল। println ( ' \n পিং সফল।' ) ;
}

অকার্যকর লুপ ( ) { }

কোড ওয়াইফাই এবং পিং লাইব্রেরি অন্তর্ভুক্ত করে শুরু হয়েছে। এর পরে, আমরা ওয়াইফাই নেটওয়ার্কের জন্য SSID এবং পাসওয়ার্ড সংজ্ঞায়িত করেছি।

এর পরে আমরা DNS, IP গেটওয়ে এবং সাবনেট সহ স্ট্যাটিক আইপি ঠিকানা সহ সমস্ত পরামিতি সংজ্ঞায়িত করেছি। মনে রাখবেন যে আমরা একটি আইপি ঠিকানা বরাদ্দ করেছি (192, 168, 18, 53) যা আমরা আগের কোডে আগে প্রাপ্ত IP ঠিকানার একই সাবনেটে রয়েছে। নিশ্চিত করুন যে এই আইপি ঠিকানাটি নেটওয়ার্কের ভিতরে অন্য কোন ডিভাইস দ্বারা ব্যবহার করা হয় না।

একবার ওয়াইফাই সংযুক্ত হয়ে গেলে, আমরা সমস্ত নেটওয়ার্ক প্যারামিটার প্রিন্ট করেছি এবং Google ব্যবহার করে পিং পরীক্ষা করেছি। যদি সমস্ত পরামিতি সঠিকভাবে সংজ্ঞায়িত করা হয় পিং সফল হয়েছে বার্তা প্রদর্শিত হবে।

আউটপুট

এখন যখন আমরা সংযোগ বিচ্ছিন্ন হওয়ার পরে পিসিতে ESP32 বোর্ড পুনরায় সংযোগ করি, তখন এর স্ট্যাটিক আইপি ঠিকানাটি আরও একবার কনফিগার করা হয়েছিল, যা ইঙ্গিত করে যে বিদ্যুৎ চলে গেলেও এটি পরিবর্তন হবে না।

আমরা সফলভাবে ESP32 কে একটি স্ট্যাটিক আইপি ঠিকানা দিয়েছি।

উপসংহার

প্রকল্পের নকশায় ESP32 এর সাথে কাজ করার সময়, একটি স্ট্যাটিক আইপি ঠিকানা প্রয়োজন। যখন একাধিক ডিভাইসের ESP32 স্ট্যাটিক আইপি ঠিকানাগুলির সাথে সংযোগ স্থাপনের প্রয়োজন হয় তখন পুরো প্রক্রিয়াটিকে মসৃণ করে তোলে। নেটওয়ার্ক প্যারামিটার ব্যবহার করে, আমরা যেকোনো স্ট্যাটিক আইপি ঠিকানা নির্ধারণ করতে পারি। এখানে এই নিবন্ধে, আমরা একটি স্ট্যাটিক IP ঠিকানা সংজ্ঞায়িত করার জন্য প্রয়োজনীয় পদক্ষেপগুলি কভার করেছি।