Wi-Fi Module (ESP8266, ESP32) এর ব্যবহার

Computer Programming - আরডুইনো (Arduino) Arduino এর সাথে IoT (Internet of Things) |
377
377

Wi-Fi মডিউলগুলি যেমন ESP8266 এবং ESP32 ইন্টারনেট সংযোগের জন্য খুব জনপ্রিয় ডিভাইস। এগুলি Arduino বোর্ডের সাথে সহজে সংযুক্ত করা যায় এবং ওয়াই-ফাই ভিত্তিক প্রোজেক্ট তৈরির জন্য ব্যাপকভাবে ব্যবহৃত হয়। এই মডিউলগুলির মাধ্যমে IoT (Internet of Things) প্রকল্পগুলি তৈরি করা সম্ভব।

ESP8266 এবং ESP32 এর বৈশিষ্ট্য

  • ESP8266:
    • 802.11 b/g/n Wi-Fi স্ট্যান্ডার্ড সমর্থন করে।
    • ছোট আকার এবং কম পাওয়ার খরচ।
    • মৌলিক প্রক্রিয়াকরণ ক্ষমতা (বিশেষ করে ছোট প্রোজেক্টের জন্য)।
  • ESP32:
    • 802.11 b/g/n Wi-Fi এবং Bluetooth দ্বৈত সমর্থন করে।
    • অধিক শক্তিশালী প্রক্রিয়াকরণ ক্ষমতা এবং অধিক GPIO পিন।
    • এনালগ ইনপুট, DAC, PWM, এবং বিভিন্ন সেন্সরের সাথে কাজ করার সুবিধা।

ESP8266 এবং ESP32 এর সংযোগ

ESP8266 সংযোগ

ESP8266 কে Arduino বোর্ডের সাথে সংযুক্ত করার সময় কিছু পিনের কনফিগারেশন করতে হয়:

  • VCC: Arduino 3.3V বা 5V (ডিভাইসের মডেল অনুযায়ী)।
  • GND: Arduino GND।
  • TX: Arduino RX (পিন 0)।
  • RX: Arduino TX (পিন 1)।

ESP32 সংযোগ

ESP32 বোর্ডটি একটি স্বাধীন ডিভাইস হিসেবে কাজ করতে পারে, তাই এটি সরাসরি প্রোগ্রাম করা হয়। ESP32 কে USB মাধ্যমে Arduino IDE-তে প্রোগ্রাম করা যায়।

Arduino IDE তে ESP8266 এবং ESP32 সেটআপ

  1. Arduino IDE খোলুন এবং File > Preferences এ যান।
  2. Additional Boards Manager URLs ফিল্ডে নিম্নলিখিত URL যুক্ত করুন:
    • ESP8266: http://arduino.esp8266.com/stable/package_esp8266com_index.json
    • ESP32: https://dl.espressif.com/dl/package_esp32_index.json
  3. Tools > Board > Boards Manager এ যান এবং ESP8266 বা ESP32 অনুসন্ধান করুন এবং ইনস্টল করুন।

Wi-Fi Module এর ব্যবহার

নিচে ESP8266 এবং ESP32 ব্যবহার করে একটি Wi-Fi প্রকল্পের উদাহরণ দেওয়া হলো যেখানে HTTP সার্ভার তৈরি করা হয়েছে।

ESP8266 ব্যবহার করে HTTP সার্ভার তৈরি

#include <ESP8266WiFi.h>

const char* ssid = "Your_SSID"; // Wi-Fi SSID
const char* password = "Your_PASSWORD"; // Wi-Fi Password

WiFiServer server(80); // HTTP সার্ভার পোর্ট 80

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password); // Wi-Fi সংযোগ শুরু
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  Serial.println("Connected to WiFi");
  server.begin(); // সার্ভার শুরু
}

void loop() {
  WiFiClient client = server.available(); // ক্লায়েন্ট যুক্ত হলে চেক করুন
  if (client) {
    Serial.println("New Client.");
    String currentLine = "";
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        if (c == '\n') {
          if (currentLine.length() == 0) {
            client.println("HTTP/1.1 200 OK");
            client.println("Content-Type: text/html");
            client.println();
            client.println("<h1>Hello from ESP8266!</h1>");
            break;
          } else {
            currentLine = "";
          }
        } else if (c != '\r') {
          currentLine += c;
        }
      }
    }
    client.stop();
    Serial.println("Client Disconnected.");
  }
}

কোড বিশ্লেষণ

  • WiFi.begin(): Wi-Fi নেটওয়ার্কের সাথে সংযোগ শুরু করা।
  • WiFi.status(): Wi-Fi সংযোগের অবস্থা যাচাই করা।
  • server.begin(): HTTP সার্ভার শুরু করা।
  • server.available(): নতুন ক্লায়েন্ট সংযোগের জন্য অপেক্ষা করা।
  • client.println(): HTTP প্রতিক্রিয়া পাঠানো।

ESP32 ব্যবহার করে HTTP সার্ভার তৈরি

#include <WiFi.h>

const char* ssid = "Your_SSID"; // Wi-Fi SSID
const char* password = "Your_PASSWORD"; // Wi-Fi Password

WiFiServer server(80); // HTTP সার্ভার পোর্ট 80

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password); // Wi-Fi সংযোগ শুরু
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  Serial.println("Connected to WiFi");
  server.begin(); // সার্ভার শুরু
}

void loop() {
  WiFiClient client = server.available(); // ক্লায়েন্ট যুক্ত হলে চেক করুন
  if (client) {
    Serial.println("New Client.");
    String currentLine = "";
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        if (c == '\n') {
          if (currentLine.length() == 0) {
            client.println("HTTP/1.1 200 OK");
            client.println("Content-Type: text/html");
            client.println();
            client.println("<h1>Hello from ESP32!</h1>");
            break;
          } else {
            currentLine = "";
          }
        } else if (c != '\r') {
          currentLine += c;
        }
      }
    }
    client.stop();
    Serial.println("Client Disconnected.");
  }
}

ব্যবহারিক টিপস

  • Wi-Fi সংযোগ নিশ্চিত করুন: প্রজেক্টে ব্যবহৃত SSID এবং পাসওয়ার্ড সঠিকভাবে প্রবেশ করুন।
  • বাউন্ডারি চেক করুন: WiFi.status() ব্যবহার করে সংযোগের অবস্থা যাচাই করুন।
  • GPIO পিন ব্যবহার: ESP8266 এবং ESP32 তে GPIO পিন ব্যবহার করে বিভিন্ন সেন্সর এবং ডিভাইস নিয়ন্ত্রণ করা যায়।

ESP8266 এবং ESP32 এর সাহায্যে Wi-Fi ভিত্তিক প্রকল্প তৈরি করা সহজ এবং কার্যকর। এগুলো IoT ডিভাইস হিসেবে কাজ করতে পারে, যা স্মার্ট হোম, পরিবেশ মনিটরিং, এবং অন্যান্য প্রয়োগে ব্যাপকভাবে ব্যবহৃত হয়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion