একটি ম্যাটার ভার্চুয়াল ডিভাইস তৈরি করুন

1। পরিচিতি

ম্যাটার হল একটি সংযোগ প্রোটোকল যা স্মার্ট ডিভাইসগুলির বিকাশের জন্য উত্তেজনাপূর্ণ সুযোগ নিয়ে আসে। এই কোডল্যাবে, আপনি একটি পূর্ব-কনফিগার করা ডকার ইমেজে আপনার জন্য প্রদত্ত SDK এবং নির্ভরতা ব্যবহার করে আপনার প্রথম ম্যাটার ডিভাইস তৈরি করবেন।

ম্যাটার সম্পর্কে জানতে, Google Home ডেভেলপার সেন্টার বা কানেক্টিভিটি স্ট্যান্ডার্ডস অ্যালায়েন্স ওয়েবসাইটে যান।

আপনি কি শিখবেন

  • কিভাবে একটি ম্যাটার বিল্ড পরিবেশ সেট আপ করবেন
  • কীভাবে একটি ভার্চুয়াল ম্যাটার ডিভাইস তৈরি করবেন যা আপনার কম্পিউটারে চলে
  • গুগল হোমের সাথে ভার্চুয়াল ম্যাটার ডিভাইসটি কীভাবে কমিশন এবং নিয়ন্ত্রণ করবেন

আপনি কি প্রয়োজন হবে

2. আপনার পরিবেশ সেট আপ করুন

আমরা একটি লিনাক্স হোস্ট মেশিনে পূর্বে কনফিগার করা ডকার কন্টেইনার ব্যবহার করব। এই ধারকটিতে একটি ম্যাটার ভার্চুয়াল ডিভাইস তৈরি এবং চালানোর জন্য সমস্ত প্রয়োজনীয় নির্ভরতা অন্তর্ভুক্ত রয়েছে।

আপনার হার্ডওয়্যার পরীক্ষা করুন

Windows এবং macOS কম্পিউটার এই ডকার ইনস্টলেশন দ্বারা সমর্থিত নয়। আপনি ম্যাকওএস-এ ম্যাটার ম্যানুয়ালি ইনস্টল এবং তৈরি করতে পারেন।

এছাড়াও, এই নির্দেশাবলী অনুমান করে যে আপনার লিনাক্স মেশিন X11 উইন্ডো সিস্টেম চালাচ্ছে। আপনার লিনাক্স মেশিন ওয়েল্যান্ড চালালে, নিশ্চিত করুন যে X.Org ও ইনস্টল করা আছে।

ডকার সেট আপ করুন

  1. ডকার ইঞ্জিন ইনস্টল করুন (ডকার ডেস্কটপ ব্যবহার করবেন না)।
  2. ডকার হাব থেকে ডকার ইমেজ টানুন। একটি টার্মিনাল উইন্ডোতে, চালান:
    user@host> docker pull us-docker.pkg.dev/nest-matter/docker-repo/virtual-device-image:latest
    
    এই অপারেশনটি সম্পূর্ণ হতে কয়েক মিনিট সময় লাগতে পারে।
  3. ডকার কন্টেইনার চালু করা শুরু করুন:
    user@host> xhost local:1000
    user@host> docker run -it --ipc=host --net=host -e DISPLAY --name matter-container us-docker.pkg.dev/nest-matter/docker-repo/virtual-device-image:latest
    

কন্টেইনার শুরু করার পরে, আপনি কিছু ডায়াগনস্টিক আউটপুট দেখতে পাবেন যার পরে একটি বার্তা নিশ্চিত করবে যে আপনার কন্টেইনার কনফিগারেশন সঠিক, এবং অবশেষে, কন্টেইনার শেল প্রম্পট:

Environment looks good, you are ready to go!
$

আসুন ডকার কমান্ড এবং আমরা এটিতে যে বিকল্পগুলি দিয়েছি তা বুঝতে পারি:

  • xhost local:1000 X উইন্ডো সিস্টেমকে পোর্ট 1000-এ স্থানীয় হোস্ট থেকে সংযোগ গ্রহণ করতে দেয়, এইভাবে একটি গ্রাফিক ইউজার ইন্টারফেস ব্যবহার করার অনুমতি দেয়।
  • docker run … image প্রদত্ত ইমেজ চালায়, প্রয়োজনে ডকার রেজিস্ট্রি থেকে এটি টেনে নেয়।
  • --ipc=host ডকারকে আপনার হোস্ট মেশিনের সাথে ইন্টারপ্রসেস কমিউনিকেশন নেমস্পেস শেয়ার করতে দেয়।
  • --net=host ডকারকে কন্টেইনারের ভিতরে হোস্টের নেটওয়ার্ক স্ট্যাক ব্যবহার করতে দেয়, যা হোস্ট থেকে কন্টেইনারে mDNS ট্র্যাফিক পাস করার জন্য এবং হোস্ট X11 ডিসপ্লে শেয়ার করার জন্য প্রয়োজনীয়।
  • -e DISPLAY হোস্টে $DISPLAY রপ্তানি করে, আপনার সিস্টেম গ্রাফিক ইন্টারফেসে অ্যাক্সেস প্রদান করে। ম্যাটার ক্লাস্টারগুলি সম্পাদনা করার সময় ZAP টুল চালানোর জন্য এটি প্রয়োজন।
  • -it ব্যাকগ্রাউন্ড প্রক্রিয়ার পরিবর্তে একটি ইন্টারেক্টিভ টার্মিনাল (tty) দিয়ে ডকার চালায়।

ঐচ্ছিকভাবে আপনি একটি দ্বিতীয় টার্মিনাল সেশনের উদাহরণ চালাতে পারেন:

user@host> docker exec -it matter-container /bin/bash
$

থামুন এবং ম্যাটার ডকার কন্টেইনার শুরু করুন

যখনই আপনি একটি docker run কমান্ড চালাবেন, আপনি নির্দিষ্ট চিত্র সহ একটি নতুন ধারক তৈরি করবেন। আপনি যখন এটি করবেন, আপনার পুরানো ডেটা, যা পূর্ববর্তী কন্টেইনার উদাহরণে সংরক্ষিত ছিল, হারিয়ে যাবে। কখনও কখনও এটি আপনি ঘটতে চান, কারণ এটি আপনাকে একটি নতুন ইনস্টলেশন শুরু করতে দেয়৷ কিন্তু এমন সময় আছে যখন আপনি সেশনের মধ্যে আপনার কাজ এবং পরিবেশ কনফিগারেশন সংরক্ষণ করতে পছন্দ করবেন।

এই কারণে, আপনার কন্টেইনার তৈরি করার পরে, আপনি আপনার কাজ হারানো রোধ করতে কন্টেইনারটি বন্ধ করতে পারেন।

user@host> docker stop matter-container

আপনি আবার চালানোর জন্য প্রস্তুত হলে, ধারকটি শুরু করুন এবং একটি টার্মিনাল উইন্ডো খুলুন:

user@host> docker start matter-container
user@host> docker exec -it matter-container /bin/bash

আপনি আপনার কন্টেইনারে অতিরিক্ত টার্মিনাল সেশন খুলতে পারেন:

user@host> docker exec -it matter-container /bin/bash

অথবা ব্যবহার করে একটি রুট সেশন শুরু করুন:

user@host> docker exec -u 0 -it matter-container /bin/bash

প্রাথমিক বিষয় সেটআপ

যখন আপনার টার্মিনাল খোলে, এটি ইতিমধ্যেই ~/connectedhomeip এ ম্যাটার ক্লোন করা সংগ্রহস্থলে থাকবে। কোন অতিরিক্ত বিষয় সেটআপ পদক্ষেপ প্রয়োজন নেই.

হোস্ট এবং ধারক মধ্যে ফাইল শেয়ার করুন

কন্টেইনারের মধ্যে থেকে আপনার হোস্ট মেশিনে ফাইলগুলি অ্যাক্সেস করতে, আপনি একটি বাইন্ড মাউন্ট ব্যবহার করতে পারেন। হোস্ট থেকে সহজে অ্যাক্সেসের জন্য আপনি কন্টেইনারের মধ্যে থেকে মাউন্ট করা ডিরেক্টরিতে ফাইল লিখতে পারেন।

অতিরিক্ত আর্গুমেন্ট দিয়ে আপনার কন্টেইনার চালান --mount source=$(pwd),target=/workspace,type=bind আপনার বর্তমান ওয়ার্কস্পেস ডিরেক্টরীকে /workspace এ কন্টেইনারে মাউন্ট করতে।

user@host> docker run -it --ipc=host --net=host -e DISPLAY --name matter-container --mount source=$(pwd),target=/workspace,type=bind us-docker.pkg.dev/nest-matter/docker-repo/virtual-device-image:latest

মাউন্ট করা ডিরেক্টরিতে কন্টেইনার ব্যবহারকারীর অনুমতি অবশ্যই হোস্টে পরিচালনা করতে হবে।

কন্টেইনারের মধ্যে থেকে কন্টেইনার ব্যবহারকারীর গ্রুপ আইডি পান।

$ id
uid=1000(matter) gid=1000(matter) groups=1000(matter)

কন্টেইনার হোস্টে আরেকটি টার্মিনাল সেশন খুলুন এবং কন্টেইনার দ্বারা মাউন্ট করা ডিরেক্টরিতে ওয়ার্কিং ডিরেক্টরি সেট করুন।

কন্টেইনার ব্যবহারকারীর গোষ্ঠীতে মাউন্ট করা ডিরেক্টরিতে ফাইলগুলির জন্য দলটিকে পুনরাবৃত্তিমূলকভাবে সেট করুন।

user@host> sudo chgrp -R 1000 .

গ্রুপে ডিরেক্টরিতে আপনার পছন্দসই অনুমতি দিন। এই উদাহরণটি কন্টেইনার ব্যবহারকারীর গোষ্ঠীকে মাউন্ট করা ডিরেক্টরির সমস্ত ফাইলে পড়ার, লিখতে এবং কার্যকর করার অনুমতি দেয়।

user@host> sudo chmod -R g+rwx .

মনে রাখবেন যে এই কমান্ডগুলি হোস্ট ব্যবহারকারীর দ্বারা তৈরি করা নতুন ফাইলগুলির অনুমতিকে প্রভাবিত করে না। প্রয়োজনে হোস্টে তৈরি করা নতুন ফাইলের অনুমতি আপডেট করতে ভুলবেন না।

আপনি আপনার হোস্ট ব্যবহারকারীকে কন্টেইনার ব্যবহারকারীর গোষ্ঠীতে যোগ করতে পারেন যাতে কন্টেইনার ব্যবহারকারীর দ্বারা তৈরি করা ফাইলগুলিতে অনুমতি পাওয়া যায়।

user@host> currentuser=$(whoami)
user@host> sudo usermod -a -G 1000 $currentuser

3. গুগল হোম ডেভেলপার কনসোল

Google Home Developer Console হল ওয়েব অ্যাপ্লিকেশন যেখানে আপনি Google Home-এর সাথে আপনার ম্যাটার ইন্টিগ্রেশন পরিচালনা করেন।

কানেক্টিভিটি স্ট্যান্ডার্ড অ্যালায়েন্স (অ্যালায়েন্স) ম্যাটার সার্টিফিকেশন পাস করা যেকোনও ম্যাটার ডিভাইস Google Home ইকোসিস্টেমে কাজ করে। ডেভেলপমেন্টের অধীনে থাকা ডিভাইসগুলি যেগুলিকে প্রত্যয়িত করা হয়নি সেগুলি নির্দিষ্ট শর্তে Google Home ইকোসিস্টেমে চালু করা যেতে পারে - আরও তথ্যের জন্য পেয়ারিং সীমাবদ্ধতা দেখুন।

একটি বিকাশকারী প্রকল্প তৈরি করুন

গুগল হোম ডেভেলপার কনসোলে গিয়ে শুরু করুন:

  1. প্রকল্প তৈরি করুন ক্লিক করুন।
  2. একটি অনন্য প্রকল্পের নাম লিখুন এবং তারপরে প্রকল্প তৈরি করুন ক্লিক করুন।নতুন প্রকল্প ডায়ালগ তৈরি করুন
  3. ক্লিক করুন + সংহতকরণ যোগ করুন , যা আপনাকে ম্যাটার রিসোর্স স্ক্রিনে নিয়ে যায়, যেখানে আপনি ম্যাটার ডেভেলপমেন্ট ডকুমেন্টেশন দেখতে পারেন এবং কিছু টুলস সম্পর্কে পড়তে পারেন।
  4. আপনি যখন চালিয়ে যাওয়ার জন্য প্রস্তুত হন, তখন পরবর্তী ক্লিক করুন: বিকাশ করুন , যা ম্যাটার চেকলিস্ট পৃষ্ঠাটি প্রদর্শন করে।
  5. Next ক্লিক করুন: সেটআপ
  6. সেটআপ পৃষ্ঠায়, আপনার পণ্যের নাম লিখুন।
  7. ডিভাইসের ধরন নির্বাচন করুন ক্লিক করুন এবং ড্রপ-ডাউন মেনু থেকে ডিভাইসের প্রকার নির্বাচন করুন (এই ক্ষেত্রে, Light )।
  8. ভেন্ডর আইডিতে (ভিআইডি), টেস্ট ভিআইডি নির্বাচন করুন এবং টেস্ট ভিআইডি ড্রপ-ডাউন মেনু থেকে 0xFFF1 নির্বাচন করুন। প্রোডাক্ট আইডিতে (পিআইডি), 0x8000 লিখুন এবং সংরক্ষণ করুন এবং চালিয়ে যান ক্লিক করুন এবং তারপরে নিম্নলিখিত পৃষ্ঠায় সংরক্ষণ করুন ক্লিক করুন। এই সঠিক VID/PID মানগুলি ব্যবহার করুন, পরবর্তী কোডল্যাব পদক্ষেপগুলি তাদের উপর নির্ভর করে।
    একটি প্রকল্প স্থাপন
  9. এখন আপনি ম্যাটার ইন্টিগ্রেশনের অধীনে আপনার ইন্টিগ্রেশন দেখতে পাবেন।
  10. আপনার হাব রিবুট করুন যাতে এটি সাম্প্রতিকতম ম্যাটার ইন্টিগ্রেশন প্রজেক্ট কনফিগারেশন পায়। যদি আপনাকে পরে ভিআইডি বা পিআইডি পরিবর্তন করতে হয়, তবে পরিবর্তনটি কার্যকর হওয়ার জন্য আপনাকে প্রকল্পটি সংরক্ষণ করার পরে পুনরায় বুট করতে হবে। ধাপে ধাপে রিবুট নির্দেশাবলীর জন্য Google Nest বা Google Wifi ডিভাইস রিস্টার্ট করুন দেখুন।

4. একটি ডিভাইস তৈরি করুন

ম্যাটারের সমস্ত উদাহরণ Github সংগ্রহস্থলের examples ফোল্ডারে পাওয়া যায়। বেশ কয়েকটি নমুনা উপলব্ধ রয়েছে, তবে এই কোডল্যাবে আমাদের ফোকাস শেফের উপর।

শেফ উভয়ই:

  • একটি নমুনা অ্যাপ যা একটি টার্মিনাল ইন্টারফেস প্রদান করে, মোড়ানো বৈশিষ্ট্যগুলি examples/shell অ্যাপে পাওয়া যায়।
  • একটি স্ক্রিপ্ট যা একটি ম্যাটার-সক্ষম ডিভাইস বিকাশের জন্য প্রয়োজনীয় বেশ কয়েকটি সাধারণ কাজগুলিকে এনক্যাপসুলেট করার জন্য কনভেনশন-ওভার-কনফিগারেশনের নীতিকে গ্রহণ করে৷

শেফ উদাহরণ ফোল্ডারে নেভিগেট করুন এবং আপনার প্রথম ম্যাটার তৈরি করুন:

$ cd examples/chef
$ ./chef.py -zbr -d rootnode_dimmablelight_bCwGYSDpoe -t linux

শেফের কয়েকটি বিকল্প রয়েছে যা chef.py -h চালিয়ে দেখা যেতে পারে। আমরা এখানে যে বিকল্পগুলি ব্যবহার করছি তা হল:

  • -d : ব্যবহার করা ডিভাইসের ধরন সংজ্ঞায়িত করে। এই ক্ষেত্রে, আমরা অন/অফ এবং লেভেল কন্ট্রোল সহ একটি লাইটিং অ্যাপ তৈরি করছি।
  • -z : ডিভাইসের ধরন বাস্তবায়ন করে এমন সোর্স ফাইল তৈরি করতে ZAP টুল ব্যবহার করে। অর্থাৎ, আপনার বাছাই করা আলোর উপর ভিত্তি করে, ZAP স্বয়ংক্রিয়ভাবে বিল্ডে অন্তর্ভূক্ত হওয়ার জন্য কোড তৈরি করবে যা আলো (ডেটা মডেল) এবং এটি অন্যান্য ডিভাইসের সাথে কীভাবে ইন্টারঅ্যাকশন করে (ইন্টার্যাকশন মডেল) সংজ্ঞায়িত করে।
  • -b : তৈরি করে।
  • -r : [ঐচ্ছিক] ভার্চুয়াল ম্যাটার ডিভাইসে RPC সার্ভারকে সক্ষম করে যাতে অন্যান্য উপাদান (যেমন GUI) ডেটা মডেল অ্যাট্রিবিউট সেট করতে এবং পুনরুদ্ধার করতে ডিভাইসের সাথে যোগাযোগ করতে পারে।
  • -t linux : লক্ষ্য প্ল্যাটফর্ম। সমর্থন প্ল্যাটফর্মগুলি হল linux , nrfconnect এবং esp32 । সমস্ত উপলব্ধ কমান্ড এবং সমর্থিত লক্ষ্য প্ল্যাটফর্মগুলি দেখতে আপনি ./chef.py -h চালাতে পারেন। linux ভার্চুয়াল ম্যাটার ডিভাইসের জন্য ব্যবহৃত হয়।

ডিভাইসটি চালান

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

এর সাথে পাত্রে ভার্চুয়াল ডিভাইসটি চালান:

$ ./linux/out/rootnode_dimmablelight_bCwGYSDpoe
   [1648589956496] [14264:16538181] CHIP: [DL] _Init]
...
[1648562026.946882][433632:433632] CHIP:SVR: SetupQRCode: [MT:Y3.13Y2N00KA0648G00]
[1648562026.946893][433632:433632] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code:
[1648562026.946901][433632:433632] CHIP:SVR: https://project-chip.github.io/connectedhomeip/qrcode.html?data=MT%3AY3.13Y2N00KA0648G00
[1648562026.946915][433632:433632] CHIP:SVR: Manual pairing code: [34970112332]

আপনার ডিভাইস চলমান ছেড়ে দিন। এখন আমরা Google Home অ্যাপে আমাদের মনোযোগ দেব যাতে আমরা আপনার ডিভাইসটিকে Google Home-এ চালু করতে পারি।

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

আপনার যদি ডিভাইসটি বন্ধ করার প্রয়োজন হয়, আপনি CTRL+C দিয়ে প্রোগ্রামটি ছেড়ে দিতে পারেন। অ্যাপটি প্রস্থান না করলে, আপনাকে CTRL+\ ব্যবহার করতে হতে পারে।

আপনার ভার্চুয়াল ডিভাইসের জন্য শংসাপত্রগুলি /tmp/ ডিরেক্টরিতে, chip উপসর্গ দিয়ে শুরু হওয়া ফাইলগুলিতে সংরক্ষণ করা হয়।

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

$ rm /tmp/chip*

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

ভার্চুয়াল ডিভাইস কন্ট্রোলার হল একটি স্বতন্ত্র অ্যাপ যা আপনার ভার্চুয়াল ম্যাটার ডিভাইসগুলির অবস্থা নিয়ন্ত্রণ এবং প্রদর্শন করার জন্য একটি গ্রাফিক্যাল ইউজার ইন্টারফেস প্রদান করে। এটি আপনার উন্নয়ন পরিবেশের সাথে সংযুক্ত ম্যাটার ডিভাইসগুলির সাথে যোগাযোগ করতে একটি RPC ক্লায়েন্ট ব্যবহার করে।

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

ভার্চুয়াল ডিভাইস কন্ট্রোলার আপনার ভার্চুয়াল ডিভাইসের একটি ভিজ্যুয়াল উপস্থাপনা প্রদান করে।

আপনি ভার্চুয়াল ডিভাইস কন্ট্রোলার গ্রাফিক ইউজার ইন্টারফেস (GUI) এর মাধ্যমে ভার্চুয়াল ডিভাইসের সাথে ইন্টারঅ্যাক্ট করতে পারেন। GUI-তে আপনার পরিবর্তনগুলি অন্তর্নিহিত ডেটা মডেলকে প্রভাবিত করে। সমর্থিত ম্যাটার ভার্চুয়াল ডিভাইস প্রকারের সম্পূর্ণ তালিকার জন্য সমর্থিত ডিভাইসগুলি দেখুন।

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

ভার্চুয়াল ডিভাইস কন্ট্রোলারটি উবুন্টু এলটিএস 20.04 ডকার কন্টেইনারে আগে থেকে ইনস্টল করা আছে।

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

দ্বিতীয় টার্মিনাল সেশনের উদাহরণ তৈরি করুন:

user@host> docker exec -it matter-container /bin/bash
$

ভার্চুয়াল ডিভাইসের সাথে যোগাযোগ করতে ব্যবহৃত নেটওয়ার্ক সকেট প্রদান করে ভার্চুয়াল ডিভাইস কন্ট্রোলারটি শুরু করুন:

  $ cd ~/matter-virtual-device-gui/
  $ electron main.js --s=localhost:33000 --no-sandbox

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

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

আপনি ভার্চুয়াল কন্ট্রোলার অ্যাপে পরিবর্তন করার সাথে সাথে অ্যাপটি ডিভাইসের RPC সার্ভারে অনুরোধ পাঠায় এবং অবস্থা পুনরুদ্ধার করতে প্রতি সেকেন্ডে একবার RPC সার্ভারে ভোট দেয়।

ভার্চুয়াল ডিভাইস কন্ট্রোলার অ্যাপটি আপনার ডিভাইস কমিশনিং প্রবাহের অংশ হিসাবে QR কোড পুনরুদ্ধার করতেও ব্যবহার করা যেতে পারে। এই ডিভাইসের জন্য QR কোড প্রদর্শন করতে ডিভাইস চিত্রের পাশে QR কোড আইকনে ক্লিক করুন। আপনার ডিভাইস চালু করতে এই QR কোড ব্যবহার করুন।

6. ডিভাইস কমিশন

দ্রষ্টব্য : এই পদক্ষেপটি তখনই সফল হবে যদি আপনি ইতিমধ্যেই Google Home Developer Console-এ আপনার প্রোজেক্ট সেট আপ করে থাকেন।

নেস্ট হাব

ম্যাটার ফ্যাব্রিকে আপনার ডিভাইস চালু করার জন্য একটি হাবের প্রয়োজন। এটি একটি Google Nest ডিভাইস, যেমন Nest Hub (2য় প্রজন্ম), যা ম্যাটারকে সমর্থন করে এবং যেটি থ্রেড-সক্ষম ডিভাইসগুলির জন্য একটি বর্ডার রাউটার এবং স্মার্ট হোমের উদ্দেশ্য রাউটিং করার জন্য একটি স্থানীয় পরিপূর্ণ পথ হিসাবে কাজ করবে।

কোন হাব ম্যাটারকে সমর্থন করে তা দেখতে এই তালিকাটি পড়ুন।

কমিশনিং প্রক্রিয়া শুরু করার আগে, নিশ্চিত হয়ে নিন যে:

  • আপনার হাব একই Google অ্যাকাউন্টের সাথে যুক্ত করা হয়েছে যেটি আপনি Google Home Console-এ সাইন ইন করতে ব্যবহার করেছিলেন।
  • আপনার ভার্চুয়াল ম্যাটার ডিভাইস চালানোর জন্য আপনি যে কম্পিউটারটি ব্যবহার করছেন আপনার হাব একই Wi-Fi নেটওয়ার্কে রয়েছে৷
  • আপনার হাব একই কাঠামোতে রয়েছে যা আপনি আপনার Google Home অ্যাপে ব্যবহার করছেন। ( গুগল হোম গ্রাফের "হাউস" আপনার কাঠামোর প্রতিনিধিত্ব করে)।

একটি QR কোড পান

কমিশনিং প্রক্রিয়ার জন্য একটি QR কোডের মাধ্যমে সরবরাহ করা ম্যাটার অনবোর্ডিং তথ্য প্রয়োজন। আপনি ভার্চুয়াল ডিভাইস কন্ট্রোলার থেকে আপনার ভার্চুয়াল ডিভাইসের জন্য QR কোড পেতে পারেন।

কমিশন অপারেশন সঞ্চালন

  1. Google Home অ্যাপ খুলুন।
  2. উপরের বাম কোণে + আলতো চাপুন।
  3. ডিভাইস সেট আপ করুন আলতো চাপুন।
  4. নতুন ডিভাইসে আলতো চাপুন।
  5. আপনার বাড়ি নির্বাচন করুন এবং পরবর্তী আলতো চাপুন।
  6. Google Home অ্যাপ আপনার ডিভাইসের জন্য স্ক্যান করে। "ম্যাটার ডিভাইস পাওয়া গেছে..." বার্তা দিয়ে অনুরোধ করা হলে, 'হ্যাঁ' এ আলতো চাপুন। অন্যথায়, একটি ভিন্ন ডিভাইস সেট আপ করুন আলতো চাপুন, তারপর ডিভাইসের তালিকা থেকে ম্যাটার ডিভাইস নির্বাচন করুন।
  7. আপনার ক্যামেরাকে আপনার ডিভাইসের QR কোড বা ওয়েবসাইট-জেনারেট করা QR কোডের দিকে নির্দেশ করুন।
  8. Google Home অ্যাপ ফ্লোতে নির্দেশিত পেয়ারিং প্রক্রিয়াটি চালিয়ে যান।

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

Google Home অ্যাপে পেয়ার করা বাল্ব

সমস্যা সমাধান

"কানেক্টিভিটি সমস্যা" বা "Google এর সাথে যোগাযোগ করা যায়নি" ত্রুটি বার্তার সাথে কমিশনিং ব্যর্থ হয়৷

  • নিশ্চিত করুন যে আপনি Google Home Console-এ সঠিক VID/PID সংমিশ্রণ সহ একটি প্রকল্প তৈরি করেছেন এবং একই VID/PID সংমিশ্রণ ব্যবহার করে আপনার কাছে অন্য কোনো প্রকল্প নেই।

দীর্ঘ সময়ের জন্য "আপনার ডিভাইস স্ক্যান করার" পরে কমিশনিং ব্যর্থ হয়৷

7. ডিভাইস নিয়ন্ত্রণ

একবার আপনার ম্যাটার-সক্ষম ডিভাইসটি সফলভাবে চালু হয়ে গেলে এবং Google Home অ্যাপে লাইট বাল্ব হিসেবে প্রদর্শিত হলে, আপনি বিভিন্ন পদ্ধতিতে ডিভাইসটির নিয়ন্ত্রণ পরীক্ষা করতে পারেন:

  • গুগল সহকারী ব্যবহার করছেন।
  • Google Home অ্যাপ ব্যবহার করছেন।
  • ভার্চুয়াল ডিভাইস GUI ব্যবহার করে।

গুগল সহকারী

ভয়েস কমান্ড থেকে ডিভাইসের অবস্থা টগল করতে আপনার ফোন বা হাবে Google অ্যাসিস্ট্যান্ট ব্যবহার করুন, যেমন "Hey Google, আমার লাইট টগল করুন"।

কমান্ডের আরও উদাহরণের জন্য Google Home অ্যাপে যোগ করা কন্ট্রোল স্মার্ট হোম ডিভাইসের ভয়েস কমান্ড সহ কন্ট্রোল স্মার্ট হোম ডিভাইস দেখুন।

গুগল হোম অ্যাপ

আপনি Google Home অ্যাপে দেখানো বাল্ব আইকনের পাশের অন এবং অফ লেবেলে ট্যাপ করতে পারেন।

আরও তথ্যের জন্য Google Home অ্যাপে যোগ করা কন্ট্রোল স্মার্ট হোম ডিভাইসের Google Home অ্যাপের বিভাগ সহ কন্ট্রোল ডিভাইস দেখুন।

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

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

8. অভিনন্দন!

আপনি সফলভাবে আপনার প্রথম ম্যাটার ডিভাইস তৈরি করেছেন। অসাধারণ!

এই কোডল্যাবে আপনি শিখেছেন কিভাবে:

  • একটি প্রাক-প্যাকেজড ডকার ইমেজ ব্যবহার করে একটি ম্যাটার ডেভেলপমেন্ট এনভায়রনমেন্ট ইনস্টল করুন।
  • একটি ম্যাটার ভার্চুয়াল ডিভাইস তৈরি করুন এবং চালান।
  • Google Home থেকে আপনার ভার্চুয়াল ডিভাইস কমিশন ও নিয়ন্ত্রণ করুন।

ম্যাটার সম্পর্কে আরও জানতে, এই রেফারেন্সগুলি অন্বেষণ করুন: