ESP32-CAM মডিউল প্রোগ্রামিং

আমাদের দৈনন্দিন জীবনে AI বা Artificial Intelligence–এর উপর নির্ভরশীলতা বেড়েই চলেছে। স্কুল, কলেজ, অফিস কিংবা বাসা – প্রতিদিনই কোনো না কোনোভাবে আমরা AI ব্যবহার করছি। যা এখন প্রতিনিয়ত প্রভাব বিস্তার করছে Embedded System Development–এ, যেখানে Edge AI নামক একটি নতুন Technology দ্রুত জনপ্রিয় হয়ে উঠছে।

Edge AI–এর মধ্যে সবচেয়ে প্রচলিত অ্যাপ্লিকেশন হলো Computer Vision ভিত্তিক Detection Model। আর এই ধরনের মডেল ডেভেলপমেন্টের জন্য সবচেয়ে cost-efficient এবং practical সমাধান হচ্ছে ESP32-CAM Module। কারণ এতে রয়েছে on-board ক্যামেরা, Micro SD কার্ড সাপোর্ট, PSRAM এবং Wi-Fi ও Bluetooth–সহ Powerful ESP32 মাইক্রোকন্ট্রোলার।

এমনকি IoT এবং Home Automation ডেভেলপমেন্টে Gesture Control এবং Face Recognigation এর মতো AI মডেলের ব্যবহার খুব দ্রুত বাড়ছে। আর এই ধরণের কাজের জন্য ESP32-CAM অন্যতম জনপ্রিয় বোর্ড হিসেবে ব্যবহার করা হয়।

এই টিউটোরিয়ালে আমরা দেখবো—কিভাবে ESP32-CAM ব্যবহার করে ক্যামেরার লাইভ ভিডিও Web Server–এ স্ট্রিম করা যায়। তাই  ধাপে ধাপে পুরো সেটআপ, কনফিগারেশন এবং প্রোগ্রামিং প্রক্রিয়া ব্যাখ্যা করা থাকবে, যাতে আপনি খুব সহজেই পুরো প্রোজেক্টটি সফলভাবে Run করতে পারেন।

প্রিরিকুইজিট

বোর্ডটিকে কম্পিউটারের সাথে সংযোগ এবং প্রোগ্রাম করার জন্য প্রয়োজনীয় ধাপ গুলো নিচে ব্যাখা করা হলো।

  • আরডুইনো IDE ইন্সটল
    • ESP32-CAM কে প্রোগ্রাম করতে হলে, অবশ্যই কম্পিউটারে Arduino IDE টি ইন্সটল করা থাকতে হবে। (আরডুইনো IDE ইন্সটল সম্পর্কে বিস্তারিত জানতে এই লিংকে ভিজিট করুন।)

installing-arduino-ide

  • আরডুইনো IDE তে ESP32 বোর্ড ইন্সটল
    • যেহেতু ESP32-CAM মডিউলের মেইন SoC হিসেবে ESP32 সিরিজের মাইক্রোকন্ট্রোলার ব্যবহার করা হয়েছে। তাই এ পর্যায়ে ESP32 বোর্ডটি Arduino IDE তে ইন্সটল করে নিতে হবে।

installing-esp32-board-on-arduino-ide

কোড আপলোড

ESP32 এর বোর্ড প্যাকেজ Install হলে, প্রথমে  Tools → Board → esp32 মেনুতে প্রবেশ করে বোর্ড হিসেবে “AI Thinker ESP32-CAM” সিলেক্ট করুন।

select-esp32-cam-board

এবার File → Examples → ESP32 → Camera → CameraWebServer এ ক্লিক করুন।

esp32-camera-web-server

সাথে সাথে নতুন একটি Window তে Example Code টি Open হবে।

esp32-camera-web-server-program

এরপর ওপরের ট্যাবগুলো থেকে board_config.h হেডার ফাইলটিতে ক্লিক করুন।

esp32-cam-board-config

সেখানে, ডিফল্টভাবে #define CAMERA_MODEL_ESP_EYE লাইনটি Uncomment করা থাকে। প্রথমে এটিকে Comment করে, #define CAMERA_MODEL_AI_THINKER লাইনটি Uncomment করুন।

uncomment-esp32-camera-model-ai-thinker

এখন Tab Section থেকে CameraWebServer.ino ট্যাবে ক্লিক করুন। এখানে নিজের WiFi Credentials (SSID এবং Password) সেট করতে হবে।

esp32-wifi-credentials

এরপর Tools → Partition Scheme হিসেবে Huge APP (3MB No OTA/1MB SPIFFS) নির্বাচন করতে হবে।

esp32-cam-partition-scheme

প্রথমে Windows Start বাটন ক্লিক করে Device Manager অপশনটি চালু করে Ports (COM & LPT) সেকশনটি Expand করে নিন। এখন Micro USB ব্যবহার করে ESP32-CAM Module-টি পিসির সাথে সংযোগ দিন। Device Manager উইনডোউটি রিফ্রেশ হবে এবং নতুন একটি COM Port দেখা যাবে। যেমন আমার এখানে USB-SERIAL CH340 (COM11) পোর্টটি ডিটেক্ট হয়েছে। আপনার ক্ষেত্রে তা COM8, COM10, COM15… ইত্যাদি যা কিছু হতে পারে।

esp32-device-manager

এখন Arduino IDE–এর Tools → Port থেকে Device Manager এ ডিটেক্ট হওয়া COM Port সিলেক্ট করে নিতে হবে। 

(যেহেতু আমার ক্ষেত্রে পোর্ট হিসেবে COM11 ডিটেক্ট হয়েছে, তাই আমি COM11 সিলেক্ট করে নিয়েছি।) 

esp32-cam-select-com-port

সবকিছু ঠিক থাকলে Upload বাটন প্রেস করুন।

esp32-cam-program-upload

ESP32-CAM-এ কোড আপলোড করার সময় Arduino IDE-র Output সেকশনে “Connecting……….…..” বার্তা দেখা যাবে।

esp32-cam-wifi-connecting

এই অবস্থায় বোর্ডটি হাতে নিয়ে RST বাটনটি একবার চাপ দিয়ে ছেড়ে, সাথে সাথেই FLASH বাটনটি একবার চাপ দিয়ে ছেড়ে দিতে হবে

esp32-cam-board-program-upload-sequence

সাথে সাথে বোর্ডটি প্রোগ্রামিং মোডে ঢুকে যাবে, এবং কোড আপলোড সফলভাবে শুরু হবে। সফলভাবে আপলোড সম্পন্ন হলে Hard resetting via RTS pin… দেখা যাবে। 

esp32-cam-hard-resetting-via-rts-pin

এরপর Serial Monitor ওপেন করে বডরেট 115200-এ সেট করুন।

esp-cam-serial-monitor

ESP32-CAM এর RST বাটন চেপে Reset দিন। কিছুক্ষণের মধ্যেই একটি IP Address দেখা যাবে।

esp32-cam-ip-address

এই IP Address কপি করে ব্রাউজারের Address Bar এ পেস্ট করি। তারপর Enter দিলে ক্যামেরা Web Server ওপেন হবে।

esp32-cam-web-server-run

Web Server-এর কন্ট্রোল প্যানেল থেকে যেকোনো Resolution নির্বাচন করে Start Stream চাপলেই লাইভ ভিডিও শুরু হয়ে যাবে। এই প্যানেলের ডান দিকে থাকা সেটিংসগুলো ব্যবহার করে Brightness, Contrast, Saturation সহ নানা প্যারামিটার পরিবর্তন করে ক্যামেরার আউটপুটকে নিজের প্রয়োজন অনুযায়ী টিউন করা যায়।

esp32-live-camera-view

Nur Mohammad
Nur Mohammad

Senior Research Engineer |
Techshop Bangladesh |
E-mail: nur@techshopbd.com

2 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.