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

1. ভূমিকা

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

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

তুমি কি শিখবে

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

তোমার যা লাগবে

  • একটি হাব, যা যেকোনো Google Nest ডিভাইস যা Matter সমর্থন করে , যেমন Nest Hub (দ্বিতীয় প্রজন্ম)।
  • X11 উইন্ডোিং সিস্টেম চালানোর জন্য একটি লিনাক্স মেশিন।
  • ডকার।
  • গিট।
  • লিনাক্সের প্রাথমিক জ্ঞান।
    • মনে রাখবেন যে এই কোডল্যাবের সমস্ত কমান্ডের জন্য ধরে নেওয়া শেল হল BASH।

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

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

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

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

উন্নয়ন পরিবেশ স্থাপন করুন

  1. ডকার ইঞ্জিন ইনস্টল করুন (ডকার ডেস্কটপ ব্যবহার করবেন না)।
  2. ম্যাটার SDK ক্লোন করুন, আমরা যে কমিটটি ব্যবহার করছি তা নিম্নলিখিতটিতে লক্ষ্য করুন।
    git clone https://github.com/project-chip/connectedhomeip.git
    cd connectedhomeip
    git show
    commit f2f3d0eb03ba5bea32b22f19982c402a8c1c9063
    
  3. SDK এর পাবলিক CI ইমেজ ব্যবহার করে একটি বিল্ড কন্টেইনার চালান এবং এই কন্টেইনারের মধ্যে থেকে নতুন তৈরি ভার্চুয়াল ডিভাইসটি চালান। আমাদের SDK সংস্করণের সাথে মেলে এমন চিত্রটি ব্যবহার করার জন্য এটি সনাক্ত করুন:
    buildimage=$(grep chip-build .github/workflows/chef.yaml | head -n 1 | awk '{print $2}')
    echo $buildimage
    
    যদি আপনি একই কমিট ব্যবহার করেন, তাহলে আপনার ghcr.io/project-chip/chip-build:66 দেখতে হবে প্রথমে, xhost পোর্টগুলি ফরোয়ার্ড করুন যাতে আমরা পরে UI অ্যাপ্লিকেশনগুলি ব্যবহার করতে পারি:
    xhost local:1000
    
    এরপর, হোস্ট থেকে ফরোয়ার্ড করা উপযুক্ত রিসোর্স (আমাদের SDK চেকআউট, নেটওয়ার্কিং এবং ডিসপ্লে/কম রিসোর্স) দিয়ে কন্টেইনারটি শুরু করুন।
    docker run -it --ipc=host --net=host -e DISPLAY --name matter-container --mount source=$(pwd),target=/workspace,type=bind   --workdir="/workspace" $buildimage /bin/bash
    

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

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

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

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

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

SDK আরম্ভ করুন

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

source scripts/bootstrap.sh
python3 scripts/checkout_submodules.py --shallow --platform linux

আপনার ম্যাটার SDK এখন আরম্ভ করা হয়েছে। ভবিষ্যতে দ্রুত পরিবেশ পুনরায় চালু করতে, চালান:

sudo docker exec -it  matter-container /bin/bash
source ./scripts/activate.sh

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

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

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

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

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

গুগল হোম ডেভেলপার কনসোল হল এমন একটি ওয়েব অ্যাপ্লিকেশন যেখানে আপনি গুগল হোমের সাথে আপনার ম্যাটার ইন্টিগ্রেশন পরিচালনা করেন।

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

একটি ডেভেলপার প্রকল্প তৈরি করুন

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

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

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

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

শেফ উভয়ই:

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

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

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

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

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

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

ম্যাটার TCP/UDP পোর্ট 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*

৫. ডিভাইসটি চালু করুন

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

নেস্ট হাব

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

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

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

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

একটি QR কোড পান

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

কমিশন কার্যক্রম সম্পাদন করুন

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

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

গুগল হোম অ্যাপে পেয়ার করা বাল্ব

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

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

  • নিশ্চিত করুন যে আপনি গুগল হোম কনসোলে সঠিক ভিআইডি/পিআইডি সংমিশ্রণ ব্যবহার করে একটি প্রকল্প তৈরি করেছেন এবং আপনার কাছে একই ভিআইডি/পিআইডি সংমিশ্রণ ব্যবহার করে অন্য কোনও প্রকল্প নেই।

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

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

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

  • গুগল অ্যাসিস্ট্যান্ট ব্যবহার করা।
  • গুগল হোম অ্যাপ ব্যবহার করা।

গুগল সহকারী

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

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

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

আপনি গুগল হোম অ্যাপে দেখানো বাল্ব আইকনের পাশে থাকা চালু এবং বন্ধ লেবেলগুলিতে ট্যাপ করতে পারেন।

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

৭. অভিনন্দন!

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

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

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

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