ESP32 C6 দিয়ে Zigbee ডিভাইস

হোম অটোমেশন এবং IoT সিস্টেমে Zigbee এখন আর শুধু একটি বিকল্প নয়—এটি একটি প্রতিষ্ঠিত ও বিশ্বস্ত প্রযুক্তি। Sonoff থেকে শুরু করে Amazon কিংবা Google—প্রায় সব জনপ্রিয় স্মার্ট হোম ইকোসিস্টেমেই আজ Zigbee ইন্টিগ্রেশন দেখা যায়। এর প্রধান কারণ, Zigbee ডিভাইসগুলো অত্যন্ত Low Power বছরের পর বছর চলতে পারে। ফলে নিরবচ্ছিন্ন ও নির্ভরযোগ্য পারফরম্যান্সের জন্য Zigbee-র ব্যবহার দিনদিন আরও বাড়ছে।

esp32-c6-as-zigbee-device-intro

এই চাহিদাকে সামনে রেখে Espressif তাদের ESP32 সিরিজে যুক্ত করেছে Zigbee-কম্প্যাটিবল ESP32-C6। এই মাইক্রোকন্ট্রোলারের মাধ্যমে খুব সহজেই যেকোনো একটি Zigbee ডিভাইস তৈরি করা সম্ভব। 

আজকের টিউটোরিয়ালে আমরা ঠিক সেটাই শিখব—কীভাবে একটি Existing Sonoff Zigbee Network-এ ESP32-C6 ব্যবহার করে নিজের কাস্টম Zigbee ডিভাইস তৈরি ও ইন্টিগ্রেট করা যায়।

Zigbee কি? 

Zigbee হলো একটি লো-পাওয়ার নেটওয়ার্ক প্রোটোকল, যা 2.4 GHz ব্যান্ডে কাজ করলেও—এর আচরণ এবং উদ্দেশ্য Wi-Fi থেকে সম্পূর্ণ আলাদা। Zigbee মূলত ছোট, স্থিতিশীল এবং কম শক্তি ব্যবহারকারী নেটওয়ার্ক গঠনের জন্য ডিজাইন করা হয়েছে।

zigbee-concept

 

Zigbee নেটওয়ার্ক সাধারণত তিন ধরনের ডিভাইসের উপর ভিত্তি করে তৈরি হয়:

  1. Coordinator: এটি পুরো Zigbee নেটওয়ার্কের কেন্দ্র। নেটওয়ার্ক তৈরি, অ্যাড্রেসিং, কী ম্যানেজমেন্ট—সবকিছুই Coordinator পরিচালনা করে। সাধারণত একটি নেটওয়ার্কে একটি Coordinator-ই থাকে।
  2. End Device: এই ডিভাইজগুলো যেকোনো Home Automation কিংবা IoT সিস্টেমে  যেকোনো একশন-ভিত্তিক ডিভাইস হিসেবে কাজ করে — যেমন সেন্সর, সুইচ, বাটন, লাইট ইত্যাদি। এগুলো খুব কম শক্তি ব্যবহার করে এবং সাধারণত Sleep-mode এ বেশি সময় থাকে, তাই ব্যাটারি লাইফ দীর্ঘ হয়।
  3. Router: Router ভিত্তিক ডিভাইসগুলো একই সাথে এ্যাকশন ডিভাইজ এবং রিপিটার বা এক্সটেন্ডারের ভূমিকা পালন করে। অর্থাৎ, Router ডিভাইজগুলো যেকোনো লাইট বা সেন্সর হতে পারে তেমনি নেটওয়ার্ক এক্সটেন্ড করে থাকে। 

আজকে আমরা ESP32-C6 ব্যবহার করে একটি কাস্টম Zigbee End Device তৈরি করব, যেখানে নেটওয়ার্কের Coordinator হিসেবে থাকবে SONOFF Zigbee Bridge Pro এবং অন্য একটি অ্যাকশন End ডিভাইস হিসেবে একটি SONOFF Zigbee Wireless Switch ব্যবহার করব। এই সেটআপের মাধ্যমে আমরা শিখব কীভাবে ESP32-C6 একটি Existing Zigbee নেটওয়ার্কে যুক্ত হয়ে Coordinator এবং অন্যান্য ডিভাইসের সাথে Communicate করা যায়।

Sonoff ব্রিজ এবং সুইচ কনফিগারেশন

প্রথম ধাপ হলো Sonoff-এর ব্রিজ (Coordinator) এবং Switch ব্যবহার করে একটি Zigbee নেটওয়ার্ক তৈরি করা। আপনার যদি আগে থেকেই Sonoff Zigbee Ecosystem সেটআপ করা থাকে, তাহলে এই অংশটি Skip করে যেতে পারেন। এমনকি অন্য Zigbee Ecosystem-এও ESP32-C6 ভিত্তিক কাস্টম ডিভাইস কাজ করবে, তবে প্রক্রিয়াটি সহজ রাখতে আমরা Sonoff ডিভাইসগুলো ব্যবহার করছি। এখন ধাপে ধাপে কনফিগারেশন শুরু করি।

প্রথমে আপনার ফোন থেকে App Store বা Play Store খুলে eWeLink অ্যাপটি ডাউনলোড করুন।

esp32-c6-as-zigbee-device-ewelink

অ্যাপটি চালু করলে কয়েকটি প্রাথমিক নির্দেশনা দেখাবে—Left Swipe করে Start চাপুন। পরবর্তীতে লগইন স্ক্রিন দেখা যাবে। এখানে লগইন করার প্রয়োজন নেই। বরং নিচের Try it now বাটনটি চাপুন।  সাথে সাথে একটি Pop-Up আসবে, সেখান থেকে Continue নির্বাচন করুন। 

esp32-c6-as-zigbee-device-ewelink-setup

এখন প্রয়োজনীয় পারমিশন ও নির্দেশনা আসবে—পারমিশনগুলো Allow করে দিন এবং নির্দেশনাগুলোর NextStart বাটনগুলো প্রেস করুন। এরপর মূল অ্যাপ ইন্টারফেসটি দেখা যাবে।

এখন eWeLink অ্যাপর Home থেকে Add বাটনে চাপুন (পারমিশন চাইলে Allow দিন)। 

এতে আপনার 2.4 GHz ওয়াই-ফাই নেটওয়ার্ক সিলেক্ট করার অপশন আসবে—সঠিক পাসওয়ার্ড দিয়ে Next চাপুন (পারমিশন চাইলে Allow দিন)। এরপর পরবর্তী Paring স্ক্রিন দেখা যাবে।

esp32-c6-as-zigbee-device-sonoff-coordinator-setup

এবার Sonoff Zigbee Bridge Pro-কে Micro-USB কেবল দিয়ে পাওয়ার আপ করি। 

কিছুক্ষণের মধ্যে অ্যাপে ZBBridge-P নামে ডিভাইস দেখাবে—ডান পাশে থাকা + আইকনে চাপুন এবং Next প্রেস করুন। আবারো Next চাপুন। সবশেষে Done চাপলে ব্রিজটি অ্যাপে যুক্ত হয়ে যাবে।

এখন Switch-কে নেটওয়ার্কে যুক্ত করার পালা। উপরের ডান কোণের + বাটনে চাপুন এবং Scan নির্বাচন করুন। SONOFF Zigbee Wireless Switch-এর পাশে থাকা QR Code স্ক্যান করুন এবং অ্যাপের নির্দেশনা অনুসরণ করে এটিকে Zigbee Bridge-এর সাথে পেয়ার করে নিন।

ESP32-C6 কোডিং

এ পর্যন্ত আমরা সফলভাবে একটি সক্রিয় Zigbee নেটওয়ার্ক তৈরি করেছি, যেখানে একটি Coordinator এবং একটি End Device রয়েছে। এখন আমাদের লক্ষ্য ESP32-C6-কে একই নেটওয়ার্কের আরেকটি End Device হিসেবে কনফিগার করা। এজন্য ESP32-C6-এ প্রয়োজনীয় ফার্মওয়্যার আপলোড করতে হবে।

প্রথমে নিশ্চিত হতে হবে যে আপনার কম্পিউটারে Arduino IDE এবং ESP32 বোর্ড ইন্সটল করা আছে। 

এবার ESP32-C6-কে USB কেবলের মাধ্যমে কম্পিউটারের সাথে সংযোগ দিন। 

Arduino IDE খুলে Tools → Board থেকে ESP32C6 Dev Module সিলেক্ট করুন ।

এরপর File → Examples → Zigbee → Zigbee_On_Off_Light ওপেন করুন। 

এখন Tools → Zigbee Mode থেকে Zigbee ED (End Device) নির্বাচন করুন।

অবশেষে Partition Scheme থেকে Zigbee 4MB with spiffs নির্বাচন করুন। 

সঠিক COM Port নির্বাচন করে, Upload বাটনে ক্লিক করুন।

কোড আপলোড সম্পন্ন হলে আপনার ESP32-C6 সফলভাবে একটি Zigbee End Device হিসেবে প্রস্তুত হয়ে যাবে।

Zigbee নেটওয়ার্কে ESP32-C6 ইন্ট্রিগেশন

এবার আমরা ESP32-C6-কে Sonoff Zigbee Bridge-এর সাথে পেয়ার করে একটি অটোমেশন সিন তৈরি করব, যাতে SONOFF Zigbee Switch ব্যবহার করে ESP32-C6-এর বিল্ট-ইন LED নিয়ন্ত্রণ করা যায়।

প্রথমে অ্যাপের Home ট্যাব থেকে ZBBridge-P-তে ক্লিক করুন। এরপর নিচে থাকা Add বাটনে চাপুন। 

এখন ১৮০ সেকেন্ডের একটি পেয়ারিং কাউন্টডাউন দেখাবে। কিছুক্ষণ অপেক্ষা করলে “1 Device Found” মেসেজ দেখা যাবে—এটাই আপনার ESP32-C6, Next চাপুন এবং ডিভাইসটি ব্রিজের সাথে যুক্ত হয়ে যাবে। যা সাধারণত DeviceXXXXXX নামে প্রদর্শিত হয় (আমার ক্ষেত্রে ছিল Device02500)। 

এবার ব্যাক বাটন চেপে নিচের ট্যাববার থেকে Scene-এ যান এবং Build Now তে ক্লিক করুন।

If সেকশনে + Add চাপুন, Smart Device নির্বাচন করুন, তারপর SNZB-01P সিলেক্ট করে Clicked অপশন বেছে নিন এবং Save করুন।

এরপর Then সেকশনে + Add চাপুন, Smart Device বেছে নিন, ESP32-C6 (DeviceXXXXXX) সিলেক্ট করুন, তারপর Reverse অপশনটি নির্বাচন করে Save করুন।

সবশেষে উপরের ডানদিকে থাকা Save চাপুন, সিনটির একটি নাম দিন এবং আবার Final Save করুন। “New scene created” মেসেজ দেখা গেলে Done চাপুন।

এখন থেকে SONOFF Zigbee Switch ব্যবহার করে সরাসরি ESP32-C6-এর বিল্ট-ইন LED নিয়ন্ত্রণ করা যাবে।

Output 

esp32-c6-as-zigbee-device-final-output

Mahbub Morshed Rifat
Mahbub Morshed Rifat

Engineer
TechShop Bangladesh

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.