সুচিপত্র:

ওয়াইফাই ম্যানেজার সহ ESP8266 এবং ESP32: 10 টি ধাপ
ওয়াইফাই ম্যানেজার সহ ESP8266 এবং ESP32: 10 টি ধাপ

ভিডিও: ওয়াইফাই ম্যানেজার সহ ESP8266 এবং ESP32: 10 টি ধাপ

ভিডিও: ওয়াইফাই ম্যানেজার সহ ESP8266 এবং ESP32: 10 টি ধাপ
ভিডিও: $5 WiFi Camera Setup | ESP32 Wifi Setup view on Mobile phone 2024, জুলাই
Anonim
Image
Image
পিনআউট
পিনআউট

আপনি কি ওয়াইফাই ম্যানেজারের সাথে পরিচিত? এটি একটি লাইব্রেরি যা একটি ওয়্যারলেস কানেকশন ম্যানেজার হিসেবে কাজ করে এবং এর সাহায্যে আমাদের একটি অ্যাক্সেস পয়েন্ট এবং একটি স্টেশন উভয়ই কনফিগার করার সহজ উপায় রয়েছে। আমি এই বিষয়ে আলোচনা করার জন্য বেশ কিছু পরামর্শ পেয়েছি; তাই আজ আমি আপনাকে এই লাইব্রেরি এবং এর কার্যাবলীর সাথে পরিচয় করিয়ে দেব। আমি ESP32 এবং ESP8266 উভয়ের সাথেই এর ব্যবহারের একটি প্রদর্শনও করব।

ধাপ 1: PINOUT

পিনআউট
পিনআউট

এখানে আমি দুটি ডিভাইসের PINOUT দেখাব যা আমরা ব্যবহার করব:

  • NodeMCU ESP-12E
  • NodeMCU ESP-WROOM-32

ধাপ 2: ওয়াইফাই ম্যানেজার

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

কিছু বৈশিষ্ট্য:

Automatic এটি স্বয়ংক্রিয় সংযোগের উপর নির্ভর করে

Non অ-স্বয়ংক্রিয় কনফিগারেশন পোর্টালের সূচনা

Dual দ্বৈত মোডে নির্বাচনীভাবে কাজ করে

ধাপ 3: এটি কিভাবে কাজ করে

কিভাবে এটা কাজ করে
কিভাবে এটা কাজ করে
কিভাবে এটা কাজ করে
কিভাবে এটা কাজ করে

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

এখানে আপনি কনফিগারেশন প্রবাহ পরীক্ষা করতে পারেন এবং ধাপে ধাপে এই পদক্ষেপটি অনুসরণ করতে পারেন:

1. একটি ব্রাউজারের সাথে যেকোনো ওয়াইফাই-সক্ষম ডিভাইস ব্যবহার করে, নতুন তৈরি অ্যাক্সেস পয়েন্টের সাথে সংযোগ স্থাপন করুন এবং ঠিকানাটি লিখুন 192.168.4.1।

2. স্ক্রিনে আপনার বিদ্যমান নেটওয়ার্কের সাথে সংযোগ স্থাপনের জন্য দুটি বিকল্প থাকবে:

Wi ওয়াইফাই কনফিগার করুন

Wi ওয়াইফাই কনফিগার করুন (স্ক্যান নেই)

3. নেটওয়ার্কগুলির মধ্যে একটি চয়ন করুন এবং পাসওয়ার্ড লিখুন (প্রয়োজন হলে)। তারপরে সংরক্ষণ করুন এবং ESP পুনরায় চালু হওয়ার জন্য অপেক্ষা করুন।

4. বুট শেষে, ESP সংরক্ষিত নেটওয়ার্কের সাথে সংযোগ স্থাপনের চেষ্টা করে। যদি আপনি এটি করতে না পারেন, আপনি একটি অ্যাক্সেস পয়েন্ট সক্ষম করবেন।

ধাপ 4: লাইব্রেরি

গ্রন্থাগার
গ্রন্থাগার

"WifiManager-ESP32" লাইব্রেরি যোগ করুন।

Https://github.com/zhouhan0126/WIFIMANAGER-ESP32 এ যান এবং লাইব্রেরি ডাউনলোড করুন।

ফাইলটি আনজিপ করুন এবং Arduino IDE এর লাইব্রেরি ফোল্ডারে পেস্ট করুন।

সি: / প্রোগ্রাম ফাইল (x86) / আরডুইনো / লাইব্রেরি

"DNSServer-ESP32" লাইব্রেরি যোগ করুন।

Https://github.com/zhouhan0126/DNSServer---esp32 লিংকে যান এবং লাইব্রেরি ডাউনলোড করুন।

ফাইলটি আনজিপ করুন এবং Arduino IDE এর লাইব্রেরি ফোল্ডারে পেস্ট করুন।

সি: / প্রোগ্রাম ফাইল (x86) / আরডুইনো / লাইব্রেরি

"WebServer-ESP32" লাইব্রেরি যোগ করুন।

Https://github.com/zhouhan0126/WebServer-esp32 লিংকে যান এবং লাইব্রেরি ডাউনলোড করুন।

ফাইলটি আনজিপ করুন এবং Arduino IDE এর লাইব্রেরি ফোল্ডারে পেস্ট করুন।

সি: / প্রোগ্রাম ফাইল (x86) / আরডুইনো / লাইব্রেরি

বিঃদ্রঃ:

ওয়াইফাই ম্যানেজার-ইএসপি 32 লাইব্রেরিতে ইতিমধ্যেই ইএসপি 8266 এর সাথে কাজ করে এমন সেটিংস রয়েছে, তাই আমরা দুটি ওয়াইফাই ম্যানেজার লিবের পরিবর্তে এটি ব্যবহার করব (প্রতিটি ধরণের চিপের জন্য একটি)।

যেমন আমরা পরে দেখব, ESP8266WiFi এবং ESP8266WebServer হল লাইব্রেরি যা আমাদের ডাউনলোড করার দরকার নেই, কারণ যখন আমরা Arduino IDE তে ESP8266 ইনস্টল করি তখন সেগুলি ইতিমধ্যেই আসে।

ধাপ 5: ফাংশন

কার্যাবলী
কার্যাবলী
কার্যাবলী
কার্যাবলী
কার্যাবলী
কার্যাবলী

এখানে কিছু ফাংশন রয়েছে যা ওয়াইফাই ম্যানেজার আমাদের অফার করে।

1. স্বয়ংক্রিয় সংযোগ

অটোকানেক্ট ফাংশন একটি অ্যাক্সেস পয়েন্ট তৈরির জন্য দায়ী। আমরা এটি তিনটি উপায়ে ব্যবহার করতে পারি।

• স্বয়ংক্রিয় সংযোগ ("নেটওয়ার্ক নাম", "পাসওয়ার্ড"); - সংজ্ঞায়িত নাম এবং পাসওয়ার্ড দিয়ে একটি নেটওয়ার্ক তৈরি করে।

• স্বয়ংক্রিয় সংযোগ ("নেটওয়ার্ক নাম"); - সংজ্ঞায়িত নামের সাথে একটি খোলা নেটওয়ার্ক তৈরি করে।

• অটো কানেক্ট (); - একটি খোলা এবং স্বয়ংক্রিয়ভাবে নামযুক্ত নেটওয়ার্ক তৈরি করে যার নাম হচ্ছে 'ESP' + chipID।

2. startConfigPortal

StartConfigPortal ফাংশনটি পূর্বে সংরক্ষিত নেটওয়ার্কের সাথে সংযোগ স্থাপনের চেষ্টা না করে একটি অ্যাক্সেস পয়েন্ট তৈরির জন্য দায়ী।

• startConfigPortal ("নেটওয়ার্ক নাম", "পাসওয়ার্ড"); - সংজ্ঞায়িত নাম এবং পাসওয়ার্ড দিয়ে একটি নেটওয়ার্ক তৈরি করে।

• startConfigPortal (); - একটি খোলা এবং স্বয়ংক্রিয়ভাবে নামযুক্ত নেটওয়ার্ক তৈরি করে যার নাম হচ্ছে 'ESP' + chipID।

3. getConfigPortalSSID

পোর্টালের SSID প্রদান করে (অ্যাক্সেস পয়েন্ট)

4. getSSID

এটি নেটওয়ার্কের SSID প্রদান করে যার সাথে এটি সংযুক্ত।

5. getPassword

এটি নেটওয়ার্কের পাসওয়ার্ড প্রদান করে যার সাথে এটি সংযুক্ত।

6. setDebugOutput

SetDebugOutput ফাংশন সিরিয়াল মনিটরে ডিবাগ বার্তা মুদ্রণের জন্য দায়ী। এই বার্তাগুলি ইতিমধ্যে লাইব্রেরিতে সংজ্ঞায়িত করা হয়েছে। আপনি ফাংশন মাধ্যমে যেতে, তথ্য মুদ্রিত হবে।

ডিফল্টরূপে, এই ফাংশনটি TRUE তে সেট করা আছে। আপনি যদি বার্তাগুলি অক্ষম করতে চান তবে কেবল ফাংশনটিকে মিথ্যাতে সেট করুন।

7. SetMinimumSignalQuality

SetMinimumSignalQuality ফাংশন সংকেত মানের উপর ভিত্তি করে নেটওয়ার্ক ফিল্টার করার জন্য দায়ী। ডিফল্টরূপে, WiFiManager 8%এর নিচে সাইন-অন নেটওয়ার্ক দেখাবে না।

8. setRemoveDuplicateAPs

SetRemoveDuplicateAPs ফাংশন নেটওয়ার্ক ডুপ্লিকেট অপসারণের জন্য দায়ী।

ডিফল্টরূপে এটি TRUE তে সেট করা আছে।

9. setAPStaticIPConfig

SetAPStaticIPConfig ফাংশন অ্যাক্সেস পয়েন্ট মোডে থাকা অবস্থায় স্ট্যাটিক অ্যাড্রেস সেটিংস সেট করার জন্য দায়ী।

(আইপি, গেটওয়ে, সাবনেট)

10. সেট STAStaticIPConfig

স্টেশন মোডে থাকা অবস্থায় স্ট্যাটিক অ্যাড্রেস সেটিংস সেট করার জন্য setSTAStaticIPConfig ফাংশন দায়ী।

(আইপি, গেটওয়ে, সাবনেট)

অটো সংযোগের আগে আপনাকে অবশ্যই কমান্ড যুক্ত করতে হবে !!!

11. setAPCallback

SetAPCallback ফাংশন আপনাকে অবহিত করার জন্য দায়ী যে AP মোড শুরু হয়েছে।

প্যারামিটার হল একটি ফাংশন যা কলব্যাক হিসেবে নির্দেশ করার জন্য তৈরি করা আবশ্যক;

12. setSaveConfigCallback

SetSaveConfigCallback ফাংশন আপনাকে জানানোর জন্য দায়ী যে একটি নতুন কনফিগারেশন সংরক্ষিত হয়েছে এবং সংযোগ সফলভাবে সম্পন্ন হয়েছে।

প্যারামিটার হল একটি ফাংশন তৈরি করা এবং এটি একটি অলব্যাক হিসাবে নির্দেশ করে।

অটো সংযোগের আগে আপনাকে অবশ্যই কমান্ড যুক্ত করতে হবে !!!

ধাপ 6: সমাবেশ

সমাবেশ
সমাবেশ

উদাহরণ

আমাদের উদাহরণে, আমরা ESP দিয়ে একটি অ্যাক্সেস পয়েন্ট তৈরি করব (কোডটি ESP8266 এবং ESP32 উভয়ই পরিবেশন করবে)। AP তৈরির পরে, আমরা IP 192.168.4.1 এর মাধ্যমে পোর্টালটি অ্যাক্সেস করব (এটি অ্যাক্সেস করার জন্য ডিফল্ট)। সুতরাং আসুন উপলব্ধ নেটওয়ার্কগুলি পাই, একটি নির্বাচন করুন এবং সংরক্ষণ করুন। সেখান থেকে, ইএসপি পুনরায় চালু হবে এবং এর সাথে সংযোগ স্থাপনের চেষ্টা করবে, এবং তারপর এটি একটি স্টেশন হিসাবে কাজ করবে এবং আর অ্যাক্সেস পয়েন্ট হিসাবে থাকবে না।

স্টেশন মোডে প্রবেশ করার পরে, আপনি কেবল বোতামের মাধ্যমে ইএসপি অ্যাক্সেস পয়েন্ট মোডে ফিরিয়ে আনতে পারেন।

ধাপ 7: কোড

গ্রন্থাগার

প্রথমে আমরা যে লাইব্রেরিগুলি ব্যবহার করব তা সংজ্ঞায়িত করি।

মনে রাখবেন যে আমাদের #if সংজ্ঞায়িত, #অন্য, এবং #endif কমান্ড আছে। এগুলি চিপ সম্পর্কিত প্রয়োজনীয় লাইব্রেরি অন্তর্ভুক্ত করার শর্তাধীন। এই অংশটি ESP8266 এবং ESP32 উভয়ে একই কোড চালানোর জন্য অত্যন্ত গুরুত্বপূর্ণ।

#if সংজ্ঞায়িত (ESP8266)

#অন্তর্ভুক্ত // ESP8266 কোর ওয়াইফাই লাইব্রেরি #অন্য # #অন্তর্ভুক্ত // ESP32 কোর ওয়াইফাই লাইব্রেরি #endif

#if সংজ্ঞায়িত (ESP8266)

#অন্তর্ভুক্ত // স্থানীয় ওয়েব সার্ভার কনফিগারেশন পোর্টাল পরিবেশন করতে ব্যবহৃত

#অন্যথায়

#অন্তর্ভুক্ত // স্থানীয় DNS সার্ভার কনফিগারেশন পোর্টালে সমস্ত অনুরোধ পুন redনির্দেশিত করার জন্য ব্যবহৃত হয় (https://github.com/zhouhan0126/DNSServer---esp32)

#যদি শেষ

#অন্তর্ভুক্ত // স্থানীয় ওয়েব সার্ভার কনফিগারেশন পোর্টাল পরিবেশন করতে ব্যবহৃত (https://github.com/zhouhan0126/DNSServer---esp32) #অন্তর্ভুক্ত // ওয়াইফাই কনফিগারেশন ম্যাজিক (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORIGINAL)

ধাপ 8: সেটআপ

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

const int PIN_AP = 2;

অকার্যকর সেটআপ () {Serial.begin (9600); pinMode (PIN_AP, INPUT); // declaração do objeto wifiManager WiFiManager wifiManager;

// utilizando esse comando, as configurações são apagadas da memória // caso tiver salvo alguma rede para conectar automaticamente, ela é apagada। // wifiManager.resetSettings (); // কলব্যাক প্যারা কোয়ানডো এন্ট্রা এম মোডো ডি কনফিগারেশন এপি wifiManager.setAPCallback (configModeCallback); // কলব্যাক প্যারা কোয়ানডো সে কনটেক্ট এম উমা রেড, ওউ সেজা, কোয়ান্দো পাসা এ ট্রাবালহার এম মোডো estação wifiManager.setSaveConfigCallback (saveConfigCallback); // cria uma rede de nome ESP_AP com senha 12345678 wifiManager.autoConnect ("ESP_AP", "12345678"); }

ধাপ 9: লুপ

লুপে, আমরা বোতাম পিনটি পড়ব কিনা তা দেখার জন্য, এবং তারপর আমরা এপি মোড পুনরায় সক্ষম করার পদ্ধতিটি কল করব।

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

ওয়াইফাই ম্যানেজার ওয়াইফাই ম্যানেজার; // se o botão foi pressionado if (digitalRead (PIN_AP) == HIGH) {Serial.println ("resetar"); // tenta abrir o portal if (! wifiManager.startConfigPortal ("ESP_AP", "12345678")) {Serial.println ("Falha ao conectar"); বিলম্ব (2000); ESP.restart (); বিলম্ব (1000); } Serial.println ("Conectou ESP_AP !!!"); }

যখন আপনি বোতাম টিপবেন, ESP স্টেশন মোড থেকে বেরিয়ে যাবে এবং আপনার অ্যাক্সেস পয়েন্ট এবং পোর্টাল খুলবে।

মনে রাখবেন আমরা resetSettings () কমান্ড ব্যবহার করি না। পরের বার ESP বুট করার জন্য সেটিংস এখনও সংরক্ষিত আছে।

ধাপ 10: কলব্যাক

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

// callback que indica que o ESP entrou no modo AP

void configModeCallback (WiFiManager *myWiFiManager) {// Serial.println ("প্রবেশ করা কনফিগারেশন মোড"); Serial.println ("Entrou no modo de configuração"); Serial.println (WiFi.softAPIP ()); // imprime o IP do AP Serial.println (myWiFiManager-> getConfigPortalSSID ()); // imprime o SSID Criado da rede

}

// কলব্যাক que indica que salvamos uma nova rede para se conectar (modo estação)

void saveConfigCallback () {// Serial.println ("কনফিগ সেভ করা উচিত"); Serial.println ("Configuração salva"); Serial.println (WiFi.softAPIP ()); // imprime o IP do AP}

প্রস্তাবিত: