ম্যাটার ভার্চুয়াল ডিভাইস

বিষয় ; হোম এপিআই

Matter ভার্চুয়াল ডিভাইসগুলো Matter সলিউশন তৈরি ও পরীক্ষা করার জন্য উপযোগী এবং এগুলোকে ফিজিক্যাল Matter ডিভাইসের মতোই Google Home app (GHA) ব্যবহার করে চালু করা যায় ও GHA এবং Google Assistant দিয়ে নিয়ন্ত্রণ করা যায়।

অ্যাপ ডেভেলপার এবং অন্যান্যদের জন্য, যাদের একটি ভার্চুয়াল Matter ডিভাইস পরীক্ষা বা অনুকরণ করার প্রয়োজন কিন্তু নিজস্ব ভৌত বা ভার্চুয়াল Matter ডিভাইস তৈরি করার মতো সংস্থান নেই, গুগল Matter Virtual Device (MVD) প্রদান করে। MVD হলো একটি হালকা ওজনের স্বতন্ত্র লিনাক্স বা ম্যাকওএস ডেস্কটপ টুল, যা বিভিন্ন ধরণের ভার্চুয়াল Matter ডিভাইস সিমুলেট করে এবং ভার্চুয়াল Matter ডিভাইসটির অবস্থা নিয়ন্ত্রণ ও প্রদর্শন করার জন্য একটি গ্রাফিক্যাল ইউজার ইন্টারফেস প্রদান করে।

একটি ভৌত Matter ডিভাইসের মতো নয়, MVD কোনো Matter ফ্যাব্রিকে যুক্ত হওয়ার জন্য ব্লুটুথ® লো এনার্জি (বিএলই) বা থ্রেড®-এর উপর নির্ভর করে না। এর পরিবর্তে, এটি কমিশনিংয়ের জন্য হোস্ট লিনাক্স বা ম্যাকওএস মেশিনের বিদ্যমান ওয়াই-ফাই নেটওয়ার্ক সংযোগ ব্যবহার করে।

অন্যান্য সরঞ্জামের তুলনায়

MVD Virtual Device Controller (VDC) থেকে এই কারণে ভিন্ন যে, এটি একটি স্বয়ংসম্পূর্ণ সমাধান, যা একটি ভার্চুয়াল ডিভাইসের সাথে সেটিকে নিয়ন্ত্রণের জন্য একটি ইউআই (UI)-কে একত্রিত করে। এর বিপরীতে, VDC একটি পৃথক ভার্চুয়াল Matter ডিভাইস নিয়ন্ত্রণ করতে ব্যবহৃত হয়।

MVD আগে থেকে তৈরি বিভিন্ন ভার্চুয়াল ডিভাইস রয়েছে এবং সেগুলোকে চালানো ও নিয়ন্ত্রণ করার জন্য একটি সমন্বিত ইউআই অন্তর্ভুক্ত আছে।

সমর্থিত ডিভাইস

MVD নিম্নলিখিত Matter ডিভাইস প্রকারগুলিকে সমর্থন করে:

সারণি: MVD জন্য সমর্থিত Matter ডিভাইসের প্রকারভেদ
Matter ডিভাইসের ধরন অ্যাপ্লিকেশন ক্লাস্টার(গুলি) বাড়ির বাস্তুতন্ত্রের ধরণ
এয়ার পিউরিফায়ার ০x০২০২
০x০০৬
০x০০৭১
এয়ার পিউরিফায়ার
বায়ুর গুণমান সেন্সর ০x০০৫বি
০x০৪০২
০x০৪০৫
0x040c
0x040d
0x042a
0x042d
0x042e
সেন্সর
বেসিক ভিডিও প্লেয়ার ০x০০৬
০x০৫০৬
০x০৫০৯
টেলিভিশন
রঙের তাপমাত্রা আলো ০x০৩০০
০x০০৮
০x০০৬
আলো
কন্টাক্ট সেন্সর ০x০০৪৫
সেন্সর
ম্লানযোগ্য আলো ০x০০৮
০x০০৬
আলো
ডিমেবল প্লাগ-ইন ইউনিট ০x০০৬
০x০০৮
আউটলেট
ডিশওয়াশার ০x০০৬
০x০০৫৯
০x০০৫৬
০x০০৬০
ডিশওয়াশার
দরজার তালা ০x০১০১
তালা
বর্ধিত রঙিন আলো ০x০৩০০
০x০০৮
০x০০৬
আলো
ভক্ত ০x০২০২
০x০০৬
ভক্ত
প্রবাহ সেন্সর ০x০৪০৪
সেন্সর
জেনেরিক সুইচ 0x003b
সুইচ
আর্দ্রতা সেন্সর ০x০৪০৫
সেন্সর
লন্ড্রি ওয়াশার ০x০০৬
০x০০৫১
০x০০৫৩
০x০০৫৬
০x০০৬০
ওয়াশার
আলো সেন্সর ০x০৪০০
সেন্সর
দখলদারি সেন্সর ০x০৪০৬
সেন্সর
অন/অফ লাইট ০x০০৮
০x০০৬
আলো
অন/অফ লাইট সুইচ ০x০০৬
সুইচ
অন/অফ প্লাগ-ইন ইউনিট ০x০০৮
০x০০৬
আউটলেট
চাপ সেন্সর ০x০৪০৩
সেন্সর
পাম্প ০x০০৬
০x০২০০
০x০৪০২
০x০৪০৩
০x০৪০৪
পাম্প
রোবট ভ্যাকুয়াম ক্লিনার ০x০০৫৪
০x০০৫৫
০x০০৬১
ভ্যাকুয়াম
রুম এয়ার কন্ডিশনার ০x০০৬
০x০২০১
০x০২০২
এয়ার কন্ডিশনার
ধোঁয়া CO অ্যালার্ম 0x005C
কো ডিটেক্টর
ধোঁয়া শনাক্তকারী
তাপমাত্রা সেন্সর ০x০৪০২
সেন্সর
থার্মোস্ট্যাট ০x০২০১
থার্মোস্ট্যাট
জানালার আচ্ছাদন ০x০১০২
ব্লাইন্ডস

এমভিডি ইনস্টল করুন

MVD ডেবিয়ান (১৩ Trixie বা তার উচ্চতর সংস্করণ), উবুন্টু (২০.০৪ Noble Numbat বা তার উচ্চতর সংস্করণ), অথবা ম্যাকওএস চালিত ৬৪-বিট এক্স৮৬ প্রসেসর মেশিনে চলে।

লিনাক্স

MVD ডেবিয়ান (.deb) প্যাকেজটি ডাউনলোড করুন

আর্মর্ড-ASCII স্বাক্ষর (.asc) ফাইলটি ডাউনলোড করুন

এরপর MVD ডেবিয়ান (.deb) প্যাকেজটি ইনস্টল করতে dpkg চালান:

sudo dpkg -i mvd_1.7.0_amd64.deb

ম্যাকওএস

MVD (macOS x86) dmg ফাইলটি ডাউনলোড করুন

MVD (ARM64 M1) dmg ফাইলটি ডাউনলোড করুন

এরপর ইনস্টলেশন উইন্ডোটি খোলার জন্য dmg ফাইলটিতে ডাবল-ক্লিক করুন।

ইনস্টলেশন সম্পন্ন করতে, mvd আইকনটি নির্বাচন করে Applications ফোল্ডারে টেনে আনুন:

ম্যাকওএস ইনস্টল

পোর্ট ব্যবহার পরীক্ষা করুন

MVD এর কন্ট্রোলার মডিউলটি ভার্চুয়াল ডিভাইসে RPC কল করার জন্য TCP পোর্ট 33000 ব্যবহার করে, তাই আপনার কম্পিউটারে যদি এই পোর্টটি আগে থেকেই অন্য কোনো প্রসেস দ্বারা ব্যবহৃত হয়ে থাকে, তবে অবশ্যই এটিকে খালি করে দিন।

কোনো প্রসেস ৩৩০০০ পোর্ট ব্যবহার করছে কিনা তা দেখতে:

লিনাক্স

sudo fuser -v 33000/tcp

ম্যাকওএস

lsof -i:33000

আপনি TCP পোর্ট 33000 ব্যবহার করে যেকোনো প্রসেসকে একটিমাত্র কমান্ডের মাধ্যমে বন্ধ করতে পারেন:

লিনাক্স

sudo fuser -k 33000/tcp

ম্যাকওএস

lsof -ti:33000 | xargs kill

রান এমভিডি

লিনাক্স

লিনাক্সে, আপনার অ্যাপ্লিকেশন ফোল্ডার থেকে অথবা টার্মিনাল থেকে MVD চালান:

mvd

ম্যাকওএস

macOS-এ, Launchpad ব্যবহার করে MVD খুলুন অথবা টার্মিনাল থেকে MVD চালান:

cd /Applications
open mvd.app

আপনার ডিভাইস কনফিগার করুন

চালু করার সাথে সাথে মূল স্ক্রিনটি প্রদর্শিত হয় এবং আপনাকে একটি ভার্চুয়াল ডিভাইস কনফিগার করার সুযোগ দেয়:

  • ডিভাইসের ধরণ : ডিভাইসের ধরণ নির্বাচন করুন (যেমন, লাইট, সুইচ, সেন্সর ইত্যাদি)।
  • ডিভাইসের নাম : ডিভাইসটির একটি ব্যবহার-বান্ধব নাম দিন।
  • ডিসক্রিমিনেটর : একাধিক কমিশনযোগ্য ডিভাইস বিজ্ঞাপনের মধ্যে পার্থক্য করার জন্য ব্যবহৃত একটি ১২-বিট সংখ্যা। (ডিফল্ট: 3840 )।
  • Matter পোর্ট : Matter চালু করা এবং আইপি নেটওয়ার্কের মাধ্যমে যোগাযোগের জন্য একটি পোর্ট। ম্যাটার ডিফল্টরূপে TCP/UDP পোর্ট 5540 ব্যবহার করে, কিন্তু আপনি ভার্চুয়াল ডিভাইসটিকে একটি ভিন্ন পোর্ট ব্যবহার করার জন্য কনফিগার করতে পারেন, যতক্ষণ পর্যন্ত অন্য কোনো পরিষেবা সেটি ব্যবহার না করে।
  • ভেন্ডর আইডি : শুধুমাত্র টেস্ট ভেন্ডর আইডি 0xFFF1 সমর্থিত।
  • প্রোডাক্ট আইডি : শুধুমাত্র 0x8000 থেকে 0x801F পর্যন্ত টেস্ট প্রোডাক্ট আইডিগুলো সমর্থিত।

ভার্চুয়াল ডিভাইস কনফিগারেশন স্ক্রিন

আপনার ফায়ারওয়াল কনফিগার করুন

লিনাক্স

আপনার কম্পিউটারে যদি ফায়ারওয়াল চালু থাকে, তবে হয় সেটি বন্ধ করে দিন, অথবা Matter পোর্টে আগত TCP/UDP সংযোগের অনুমতি দিন।

বর্তমান সক্রিয় নেটফিল্টার ফায়ারওয়াল নিয়মগুলি দেখতে, চালান:

sudo iptables -L -n

আপনি যদি `ufw` ব্যবহার করেন, তবে এটি এভাবে নিষ্ক্রিয় করা যেতে পারে:

sudo ufw disable

এবং এটি নিম্নলিখিত উপায়ে পুনরায় সক্রিয় করা যেতে পারে:

sudo ufw enable

ম্যাকওএস

macOS-এ ফায়ারওয়াল কনফিগার বা নিষ্ক্রিয় করতে:

  1.  Apple মেনুতে যান এবং সিস্টেম সেটিংস বেছে নিন।
  2. সাইডবার তালিকায় নেটওয়ার্ক-এ ক্লিক করুন।
  3. ফায়ারওয়ালে ক্লিক করুন।
  4. ফায়ারওয়ালের সুইচটি অফ অবস্থানে টগল করুন।

আপনার ডিভাইসটি চালান

ডিভাইসটি কনফিগার করার পর, 'Create device'-এ ক্লিক করুন। ডিভাইসটি তৈরি হয়ে গেলে, কন্ট্রোলার স্ক্রিনটি প্রদর্শিত হবে। আপনার নির্বাচিত ডিভাইসের ধরনের ওপর নির্ভর করে, আপনি নিম্নলিখিত এক বা একাধিক কন্ট্রোল দেখতে পারেন:

  • চালু/বন্ধ : অধিকাংশ ডিভাইসের ক্ষেত্রেই এটি সাধারণ।
  • লেভেল : উদাহরণস্বরূপ, একটি আলোর উজ্জ্বলতা সমন্বয় করার জন্য একটি লেভেল স্লাইডার থাকতে পারে।
  • রঙ : উদাহরণস্বরূপ, একটি রঙিন আলোতে এই নিয়ন্ত্রণটি থাকতে পারে।
  • উপস্থিতি : উপস্থিতি সেন্সরটি দখলকৃত বা খালি অবস্থা অনুকরণ করার জন্য এই নিয়ন্ত্রণ সুবিধাটি প্রদান করে।

সকল ভার্চুয়াল ডিভাইসে নিম্নলিখিত নিয়ন্ত্রণগুলো রয়েছে:

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

ভার্চুয়াল ডিভাইস নিয়ন্ত্রণ স্ক্রিন

নির্মাতা-নির্দিষ্ট বৈশিষ্ট্য

প্রস্তুতকারক-নির্দিষ্ট (MS) ট্রেইটগুলো অ্যান্ড্রয়েডের জন্য হোম এপিআই দ্বারা সমর্থিত এবং Matter -এর স্ট্যান্ডার্ড ট্রেইটগুলোর বাইরে অতিরিক্ত কার্যকারিতা প্রদান করে। একটি MS ট্রেইটযুক্ত ডিভাইস পরীক্ষা করার জন্য, MVD আপনাকে কাস্টম ক্লাস্টার নামক বিভাগে ট্রেইটগুলোর সাথে ইন্টারঅ্যাক্ট করার সুযোগ দেয় (উপরের ছবিটি দেখুন)।

আপনার ডিভাইসটি চালু করুন

ডিভাইসটি তৈরি হওয়ার সাথে সাথেই চালু করা যায়।

ডিভাইসটি চালু করার জন্য কয়েকটি পূর্বশর্ত রয়েছে:

  • Google Home Developer Console আপনার অবশ্যই একটি প্রজেক্ট থাকতে হবে। এই প্রজেক্টটিতে অবশ্যই একটি Matter ইন্টিগ্রেশন থাকতে হবে, যার VID/PID কম্বিনেশনটি আপনার ভার্চুয়াল ডিভাইস সেট আপ করার সময় ব্যবহৃত কম্বিনেশনের মতোই হবে। বিস্তারিত জানতে প্রজেক্ট তৈরির নির্দেশিকা দেখুন।

  • আপনার অবশ্যই এমন একটি গুগল নেস্ট হাব থাকতে হবে যা ম্যাটার সমর্থন করে।

  • আপনার কাছে অ্যান্ড্রয়েড ৮.১ বা তার পরবর্তী সংস্করণের একটি অ্যান্ড্রয়েড ফোন থাকতে হবে, যেটিতে GHA ইনস্টল করা আছে।

  • অ্যান্ড্রয়েড ফোনটিকে অবশ্যই হাবের সাথে একই ওয়াই-ফাই নেটওয়ার্কে সংযুক্ত থাকতে হবে।

  • হোস্ট মেশিনটিকে অবশ্যই ওয়াই-ফাই নেটওয়ার্কের সাথে সংযুক্ত থাকতে হবে।

GHA ব্যবহার করে ডিভাইসটি চালু করতে, ডিভাইসের QR কোডটি দেখার জন্য ‘QRCode’-এ ক্লিক করুন, তারপর ‘Pair a Matter device’- এর নির্দেশাবলী অনুসরণ করুন, যেখানে GHA ব্যবহার করে একটি Matter ডিভাইস কীভাবে অনবোর্ড করতে হয় তা ব্যাখ্যা করা হয়েছে। এছাড়াও আপনি Google Home Sample App for Matter ব্যবহার করে ডিভাইসটি চালু করতে পারেন।

Matter কমিশনিং কীভাবে কাজ করে তা জানতে আমাদের Matter প্রাইমার দেখুন।

ডিভাইসটি নিয়ন্ত্রণ করুন

একটি ভার্চুয়াল ডিভাইস চালু করার পর, আপনি গুগল হোম অ্যাপ অথবা ভয়েসের মাধ্যমে গুগল অ্যাসিস্ট্যান্ট ব্যবহার করে ডিভাইসটি নিয়ন্ত্রণ করতে পারবেন। আপনি নিম্নলিখিত দুটি উপায়ের যেকোনো একটি অবলম্বন করতে পারেন:

  • ভার্চুয়াল ডিভাইসের অবস্থার পরিবর্তন পর্যবেক্ষণ করার পাশাপাশি GHA বা Assistant মাধ্যমে ডিভাইসটি নিয়ন্ত্রণ করুন, অথবা
  • ভার্চুয়াল ডিভাইসের অবস্থার পরিবর্তন পর্যবেক্ষণ করার পাশাপাশি Sample App for Matter ব্যবহার করে ডিভাইসটি নিয়ন্ত্রণ করুন, অথবা
  • GHA বা Assistant এ অবস্থার পরিবর্তন পর্যবেক্ষণ করার পাশাপাশি সরাসরি MVD মাধ্যমেই ডিভাইসের অবস্থা নিয়ন্ত্রণ করুন।

ডিভাইস দিয়ে পরীক্ষা করুন

Assistant দিয়ে পরীক্ষা করার জন্য, আমরা গুগল হোম এক্সটেনশন ফর ভিএস কোড অথবা গুগল হোম প্লাগইন ফর অ্যান্ড্রয়েড স্টুডিও- এর মতো একটি আটারেন্স সিমুলেটর ব্যবহার করার পরামর্শ দিই।

ডিভাইসের বিবরণ দেখুন

ডিভাইস ডিটেইল স্ক্রিনটি ডিভাইসের বিস্তারিত তথ্য দেখায়:

  • নাম: ডিভাইসটিকে দেওয়া বন্ধুত্বপূর্ণ নাম।
  • ডিভাইসের ধরণ : নির্বাচিত ডিভাইসের ধরণ।
  • ডিসক্রিমিনেটর : বর্তমান ডিভাইস ডিসক্রিমিনেটর।
  • ভেন্ডর আইডি : বর্তমান ডিভাইস ভেন্ডর আইডি।
  • প্রোডাক্ট আইডি : বর্তমান ডিভাইসটির প্রোডাক্ট আইডি।
  • আরপিসি পোর্ট : যে আরপিসি পোর্টের মাধ্যমে ডিভাইসটি কন্ট্রোলারদের (জিইউআই) সাথে যোগাযোগ করে।
  • Matter পোর্ট : বর্তমান ডিভাইসটি আইপি নেটওয়ার্কের মাধ্যমে যোগাযোগের জন্য যে পোর্টটি ব্যবহার করে।
  • পাস কোড : নেটওয়ার্কের মাধ্যমে ডিভাইসটি চালু করতে ব্যবহৃত পিন।
  • কনফিগারেশন ফোল্ডার : যে ফোল্ডারে ভার্চুয়াল ডিভাইস তার কনফিগারেশন সংরক্ষণ করে।
  • কমিশন তথ্য : ডিভাইসটি যে ফ্যাব্রিক(গুলি)তে যোগদান করেছে এবং ফ্যাব্রিকের মধ্যে ডিভাইসটির নোড আইডি দেখায়।

ডিভাইস লগ দেখুন

আপনি যদি টার্মিনাল থেকে MVD চালু করে থাকেন, তাহলে লগ আউটপুট stdout এ দেখা যাবে। এছাড়াও আপনি 'ডিভাইস লগস' ট্যাবে ডিভাইস লগগুলো দেখতে পারেন।

ডিভাইসটি বন্ধ করুন

ডিভাইসটি বন্ধ করতে ও ধ্বংস করতে, ডিলিট-এ ক্লিক করুন।

অ্যাপটি বন্ধ করুন

কন্ট্রোল উইন্ডোটি বন্ধ করলে ডিভাইসটি ধ্বংস হয়ে যায় এবং MVD অ্যাপ্লিকেশনটি বন্ধ হয়ে যায়। আপনি যদি টার্মিনাল থেকে এটি চালু করে থাকেন, তবে টার্মিনালে Ctrl-C টাইপ করেও অ্যাপ্লিকেশনটি বন্ধ করতে পারেন।

সাহায্য নিন

MVD সংক্রান্ত সাহায্য পেতে, কোনো বাগ রিপোর্ট করতে, বা নতুন কোনো ফিচারের অনুরোধ জানাতে, আপনার Google সাপোর্ট কন্ট্যাক্টের সাথে যোগাযোগ করুন।

উইন্ডোর উপরের ডান কোণায় থাকা বাটনটিতে ক্লিক করলে আপনাকে এই পৃষ্ঠায় নিয়ে আসা হবে।

একটি ত্রুটি রিপোর্ট করুন

যদি আপনার মনে হয় যে আপনি MVD তে কোনো ত্রুটি খুঁজে পেয়েছেন, তাহলে উইন্ডোর উপরের-ডান কোণায় থাকা 'Issue বোতামে ক্লিক করে একটি বাগ রিপোর্ট করতে পারেন।

মতামত পাঠান

MVD কোন বিষয়গুলো আপনার ভালো লাগে অথবা এই টুলটি ব্যবহারের অভিজ্ঞতা আমরা কীভাবে আরও উন্নত করতে পারি, সে সম্পর্কে আপনার মতামত জানাতে আমাদের ফিডব্যাক ফর্মটি পূরণ করুন।

ফর্মটি উইন্ডোর উপরের-ডান কোণায় থাকা ‘feedback বাটন থেকে, অথবা নিচের বাটনটিতে ক্লিক করে চালু করা যাবে।

আপনার মতামত আমাদের জানান।

আপনি যখন MVD ব্যবহার করবেন, তখন নীচে যে সমীক্ষাটি পপ-আপ হবে, সেটির মাধ্যমেও মতামত জানাতে পারেন।