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

Matter ; Home APIs

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

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

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

অন্যান্য টুলের তুলনায়

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

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

যেসব ডিভাইসে এটি দেখা যাবে

MVD-এ নিম্নলিখিত Matter ডিভাইসের ধরন কাজ করে:

টেবিল: Matter ডিভাইস MVD-এর জন্য কাজ করে এমন ধরন
Matter ডিভাইসের ধরন অ্যাপ্লিকেশন ক্লাস্টার হোম ইকোসিস্টেমের ধরন
এয়ার পিউরিফায়ার 0x0202
0x0006
0x0071
0x0072
এয়ার পিউরিফায়ার
এয়ার কোয়ালিটি সেন্সর 0x005b
0x0402
0x0405
0x040c
0x040d
0x042a
0x042b
0x042c
0x042d
0x042e
0x042f
0x0413
0x0415
সেন্সর
প্রাথমিক ভিডিও প্লেয়ার 0x0006
0x0506
0x0509
টেলিভিশন
কালার টেম্পারেচার লাইট 0x0300
0x0008
0x0006
লাইট
কন্ট্যাক্ট সেন্সর 0x0045
সেন্সর
আলো কমানো যায় 0x0008
0x0006
লাইট
ডিম করা যায় এমন প্লাগ-ইন ইউনিট 0x0006
0x0008
আউটলেট
ডিশ ওয়াশার 0x0006
0x0059
0x0056
0x0060
ডিশওয়াশার
ডোর লক 0x0101
লক করুন
এক্সটেন্ডেড কালার লাইট 0x0300
0x0008
0x0006
লাইট
ফ্যান 0x0202
0x0006
ফ্যান
ফ্লো সেন্সর 0x0404
সেন্সর
জেনেরিক সুইচ 0x003b
পরিবর্তন করুন
আর্দ্রতা সেন্সর 0x0405
সেন্সর
লন্ড্রি ওয়াশার 0x0006
0x0051
0x0053
0x0056
0x0060
ওয়াশার
লাইট সেন্সর 0x0400
সেন্সর
অকুপেন্সি সেন্সর 0x0406
সেন্সর
লাইট চালু/বন্ধ করা 0x0008
0x0006
লাইট
লাইট সুইচ চালু/বন্ধ করা 0x0006
পরিবর্তন করুন
চালু/বন্ধ করার প্লাগ-ইন ইউনিট 0x0008
0x0006
আউটলেট
প্রেশার সেন্সর 0x0403
সেন্সর
পাম্প 0x0006
0x0200
0x0402
0x0403
0x0404
পাম্প
রোবট ভ্যাকুয়াম ক্লিনার 0x0054
0x0055
0x0061
ভ্যাকুয়াম
রুম এয়ার কন্ডিশনার 0x0006
0x0201
0x0202
এয়ার কন্ডিশনার
স্মোক ও কার্বন মনোক্সাইড অ্যালার্ম 0x005C
কার্বন মনোক্সাইড ডিটেক্টর
স্মোক ডিটেক্টর
তাপমাত্রা সেন্সর 0x0402
সেন্সর
থার্মোস্ট্যাট 0x0201
থার্মোস্ট্যাট
জানলার আচ্ছাদন 0x0102
ব্লাইন্ড

MVD ইনস্টল করা

MVD 64-বিট x86 প্রসেসর মেশিনে চলে, যা Debian (13 Trixie বা তার পরের যেকোনও ভার্সন), Ubuntu (20.04 Noble Numbat বা তার পরের যেকোনও ভার্সন) বা macOS-এ চলে।

Linux

MVD Debian (.deb) প্যাকেজ ডাউনলোড করুন

আর্মরড-ASCII সিগনেচার (.asc) ফাইল ডাউনলোড করুন

তারপরে, dpkg রান করে MVD Debian (.deb) প্যাকেজ ইনস্টল করুন:

sudo dpkg -i mvd_1.7.0_amd64.deb

macOS

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

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

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

ইনস্টলেশন সম্পূর্ণ করতে, mvd আইকনটি বেছে নিয়ে টেনে এনে Applications ফোল্ডারে রাখুন:

macOS ইনস্টল করা

পোর্ট ব্যবহার চেক করা

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

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

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

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

Linux

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

Run MVD

Linux

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

mvd

macOS

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

cd /Applications
open mvd.app

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

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

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

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

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

Linux

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

বর্তমান অ্যাক্টিভ netfilter ফায়ারওয়াল নিয়ম দেখতে, এগুলি রান করান:

sudo iptables -L -n

আপনি `ufw` ব্যবহার করলে, এটি বন্ধ করা যেতে পারে:

sudo ufw disable

এবং এটি এর মাধ্যমে আবার চালু করা যেতে পারে:

sudo ufw enable

macOS

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

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

আপনার ডিভাইস রান করা

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

  • চালু/বন্ধ করুন: বেশিরভাগ ডিভাইসে এটি সাধারণ।
  • লেভেল: যেমন, একটি লাইটে উজ্জ্বলতা অ্যাডজাস্ট করার জন্য একটি লেভেল স্লাইডার থাকতে পারে।
  • রঙ: যেমন, কোনও রঙিন লাইটের এই কন্ট্রোল থাকতে পারে।
  • অকুপেন্সি: অকুপেন্সি সেন্সর এই কন্ট্রোল অফার করে, যাতে অকুপাইড বা আনঅকুপাইড স্টেট সিমুলেট করা যায়।

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

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

ভার্চুয়াল ডিভাইস কন্ট্রোল
স্ক্রিন

প্রস্তুতকারক-নির্দিষ্ট বৈশিষ্ট্য

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

আপনার ডিভাইস কমিশন করা

ডিভাইস তৈরি হওয়ার সাথে সাথেই সেটি কমিশন পাওয়ার উপযুক্ত হয়ে যায়।

ডিভাইস কমিশন করার জন্য কিছু পূর্বশর্ত আছে:

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

  • আপনার কাছে অবশ্যই Matter কাজ করে এমন Google Nest Hub থাকতে হবে

  • আপনার কাছে Android 8.1 বা তার পরবর্তী যেকোনও ভার্সন সহ Android ফোন থাকতে হবে, সাথে GHA ইনস্টল করা থাকতে হবে।

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

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

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

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

ডিভাইস কন্ট্রোল করা

আপনি ভার্চুয়াল ডিভাইস কমিশন করার পরে, Google Home অ্যাপ বা Google Assistant-এর মাধ্যমে ভয়েস ব্যবহার করে ডিভাইস কন্ট্রোল করতে পারবেন। এগুলির মধ্যে যেকোনও একটি করতে পারেন:

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

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

Assistant-এর সাথে পরীক্ষা করার জন্য, আমরা VS Code-এর জন্য Google Home এক্সটেনশন বা Android Studio-এর জন্য Google Home প্লাগ-ইন-এর মতো উচ্চারণ সিমুলেটর ব্যবহার করার পরামর্শ দিই।

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

ডিভাইসের বিবরণ স্ক্রিনে ডিভাইসের বিস্তারিত তথ্য দেখানো হয়:

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

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

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

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

ডিভাইসটি বন্ধ ও ডেটা মুছে দিতে, মুছে দিন বিকল্পে ক্লিক করুন।

অ্যাপটি বন্ধ করে দেওয়া

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

সহায়তা পান

MVD-এর ব্যাপারে সাহায্য পেতে, কোনও বাগ সম্পর্কে অভিযোগ জানাতে অথবা নতুন ফিচারের অনুরোধ করতে, Google সহায়তা টিমের সাথে যোগাযোগ করুন।

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

সমস্যার ব্যাপারে অভিযোগ জানান

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

মতামত জানান

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

উইন্ডোর উপরের ডানদিকের কোণে থাকা মতামত বোতামে ক্লিক করে অথবা নিচে দেওয়া বোতামে ক্লিক করে ফর্মটি লঞ্চ করা যাবে।

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

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