Matter वर्चुअल डिवाइस बनाना

1. परिचय

Matter एक कनेक्टिविटी प्रोटोकॉल है, जो स्मार्ट डिवाइसों को डेवलप करने के लिए शानदार अवसर उपलब्ध कराता है. इस कोडलैब में, Matter SDK के संसाधनों का इस्तेमाल करके, Matter का पहला डिवाइस बनाया जाएगा.

Matter के बारे में जानने के लिए, Google Home Developer Center या Connectivity Standards Alliance की वेबसाइट पर जाएं.

आपको क्या सीखने को मिलेगा

  • Matter का बिल्ड एनवायरमेंट सेट अप करने का तरीका
  • अपने कंप्यूटर पर चलने वाला Matter का वर्चुअल डिवाइस बनाने का तरीका
  • Google Home की मदद से, Matter के वर्चुअल डिवाइस को सेट अप और कंट्रोल करने का तरीका

आपको किन चीज़ों की ज़रूरत होगी

2. अपना एनवायरमेंट सेट अप करने का तरीका

अपना हार्डवेयर देखें

Windows और macOS वाले कंप्यूटरों पर, Docker का यह वर्शन काम नहीं करता. macOS पर, Matter को मैन्युअल तरीके से इंस्टॉल और बिल्ड किया जा सकता है.

इसके अलावा, इन निर्देशों में यह माना गया है कि आपकी Linux मशीन, X11 विंडोइंग सिस्टम पर चल रही है. अगर आपकी Linux मशीन Wayland पर चलती है, तो पक्का करें कि X.Org भी इंस्टॉल हो.

डेवलपमेंट एनवायरमेंट सेट अप करना

  1. Docker Engine इंस्टॉल करें. Docker Desktop का इस्तेमाल न करें.
  2. Matter SDK क्लोन करें. ध्यान दें कि हम यहां कौनसी कमिट का इस्तेमाल कर रहे हैं.
    git clone https://github.com/project-chip/connectedhomeip.git
    cd connectedhomeip
    git show
    commit f2f3d0eb03ba5bea32b22f19982c402a8c1c9063
    
  3. एसडीके की सार्वजनिक सीआई इमेज का इस्तेमाल करके, बिल्ड कंटेनर चलाएं. साथ ही, इस कंटेनर में, हाल ही में बनाए गए वर्चुअल डिवाइस को एक्ज़ीक्यूट करें. एसडीके के हमारे वर्शन के हिसाब से, इस्तेमाल की जाने वाली इमेज ढूंढने के लिए, यह तरीका अपनाएं:
    buildimage=$(grep chip-build .github/workflows/chef.yaml | head -n 1 | awk '{print $2}')
    echo $buildimage
    
    अगर आपने भी यही कमिट इस्तेमाल की है, तो आपको ghcr.io/project-chip/chip-build:66 दिखेगा. सबसे पहले, xhost पोर्ट फ़ॉरवर्ड करें, ताकि हम बाद में यूआई ऐप्लिकेशन का इस्तेमाल कर सकें:
    xhost local:1000
    
    इसके बाद, होस्ट (हमारा एसडीके चेकआउट, नेटवर्किंग, और डिसप्ले/कम्यूनिकेशन संसाधन) से फ़ॉरवर्ड किए गए ज़रूरी संसाधनों के साथ कंटेनर शुरू करें.
    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 Window System को पोर्ट 1000 पर लोकल होस्ट से कनेक्शन पाने की अनुमति मिलती है. इससे ग्राफ़िक यूज़र इंटरफ़ेस का इस्तेमाल किया जा सकता है.
  • docker run … image से दी गई इमेज चलती है. अगर ज़रूरी हो, तो इसे Docker रजिस्ट्री से पुल किया जाता है.
  • --ipc=host से, Docker को इंटरप्रोसेस कम्यूनिकेशन नेमस्पेस को अपनी होस्ट मशीन के साथ शेयर करने की अनुमति मिलती है.
  • --net=host से, Docker को कंटेनर के अंदर होस्ट के नेटवर्क स्टैक का इस्तेमाल करने की अनुमति मिलती है. इसकी ज़रूरत तब पड़ती है, जब इसे होस्ट से कंटेनर तक mDNS ट्रैफ़िक पास करना हो और होस्ट X11 डिसप्ले को शेयर करना हो.
  • -e DISPLAY से, $DISPLAY को होस्ट पर एक्सपोर्ट किया जाता है. इससे आपके सिस्टम ग्राफ़िक इंटरफ़ेस का ऐक्सेस मिलता है. Matter क्लस्टर में बदलाव करते समय, ZAP टूल चलाने के लिए इसकी ज़रूरत पड़ती है.
  • -it से, Docker को बैकग्राउंड प्रोसेस के तौर पर चलाने के बजाय, इंटरैक्टिव टर्मिनल (tty) के साथ चलाया जाता है.
  • --mount से, पहले से चेक आउट किए गए एसडीके को कंटेनर में माउंट किया जाता है.
  • --workdir से, लॉन्च के समय वर्किंग डायरेक्ट्री को माउंट की गई एसडीके डायरेक्ट्री पर सेट किया जाता है.

आपके पास दूसरा टर्मिनल सेशन इंस्टेंस चलाने का विकल्प भी है:

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

Matter Docker कंटेनर को बंद और चालू करना

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

Matter का शुरुआती सेटअप

एसडीके सेटअप करना

Matter SDK सेटअप करें. इस ऑपरेशन को पूरा होने में कुछ मिनट लगेंगे.

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

आपका Matter SDK अब सेटअप हो गया है. आने वाले समय में, एनवायरमेंट को तुरंत फिर से सेटअप करने के लिए, यह कमांड चलाएं:

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

होस्ट और कंटेनर के बीच फ़ाइलें शेयर करना

पहले, हमने बाइंड माउंट का इस्तेमाल करके, कंटेनर में आपकी होस्ट मशीन पर मौजूद फ़ाइलें ऐक्सेस की थीं. होस्ट से ऐक्सेस करने के लिए, कंटेनर में माउंट की गई डायरेक्ट्री में फ़ाइलें भी लिखी जा सकती हैं.

आम तौर पर, बाइंड माउंट का इस्तेमाल करने के लिए, अपने कंटेनर को इस अतिरिक्त आर्ग्युमेंट के साथ चलाएं: --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 Developer Console, वेब ऐप्लिकेशन है. इसकी मदद से, Google Home के साथ Matter के इंटिग्रेशन को मैनेज किया जाता है.

Matter का ऐसा कोई भी डिवाइस जो Connectivity Standards Alliance (Alliance) से Matter सर्टिफ़िकेशन पा चुका है, वह Google Home के इकोसिस्टम में काम करता है. डेवलप किए जा रहे ऐसे डिवाइस जिन्हें सर्टिफ़िकेट नहीं मिला है, उन्हें Google Home के इकोसिस्टम में कुछ शर्तों के तहत सेट अप किया जा सकता है. ज़्यादा जानकारी के लिए, डिवाइसों को जोड़ने से जुड़ी पाबंदियां देखें.

डेवलपर प्रोजेक्ट बनाना

शुरुआत करने के लिए, Google Home Developer Console पर जाएं:

  1. प्रोजेक्ट बनाएं पर क्लिक करें.
  2. प्रोजेक्ट का कोई यूनीक नाम डालें. इसके बाद, प्रोजेक्ट बनाएं पर क्लिक करें. 'नया प्रोजेक्ट बनाएं' डायलॉग
  3. + इंटिग्रेशन जोड़ें पर क्लिक करें. इससे आपको Matter के संसाधन स्क्रीन पर ले जाया जाएगा. यहां Matter के डेवलपमेंट से जुड़ा दस्तावेज़ देखा जा सकता है. साथ ही, कुछ टूल के बारे में पढ़ा जा सकता है.
  4. जब आपको लगे कि आगे बढ़ना है, तो आगे बढ़ें: डेवलप करें पर क्लिक करें. इससे Matter की ज़रूरी शर्तें पेज दिखेगा.
  5. आगे बढ़ें: सेटअप पर क्लिक करें
  6. सेटअप पेज पर, प्रॉडक्ट का नाम डालें.
  7. डिवाइस का टाइप चुनें पर क्लिक करें और ड्रॉप-डाउन मेन्यू से डिवाइस का टाइप चुनें. इस मामले में, Light को चुना गया है.
  8. वेंडर आईडी (वीआईडी) में, वीआईडी की जांच करें को चुनें. इसके बाद, वीआईडी की जांच करें ड्रॉप-डाउन मेन्यू से 0xFFF1 को चुनें. प्रॉडक्ट आईडी (पीआईडी) में, 0x8000 डालें और सेव करें और जारी रखें पर क्लिक करें. इसके बाद, अगले पेज पर सेव करें पर क्लिक करें. वीआईडी/पीआईडी की इन वैल्यू का ही इस्तेमाल करें. कोडलैब के अगले चरण इन पर निर्भर करते हैं.
    प्रोजेक्ट सेट अप करना
  9. अब आपको Matter के इंटिग्रेशन में अपना इंटिग्रेशन दिखेगा.
  10. अपने हब को रीबूट करें, ताकि यह पक्का किया जा सके कि उसे Matter के इंटिग्रेशन प्रोजेक्ट का सबसे नया कॉन्फ़िगरेशन मिला हो. अगर आपको बाद में वीआईडी या पीआईडी बदलना है, तो प्रोजेक्ट को सेव करने के बाद भी रीबूट करना होगा, ताकि बदलाव लागू हो सकें. रीबूट करने के सिलसिलेवार निर्देशों के लिए, Google Nest या Google Wifi डिवाइस रीस्टार्ट करना देखें.

4. डिवाइस बनाना

Matter के सभी उदाहरण, Github की डेटा स्टोर करने की जगह में मौजूद examples फ़ोल्डर में मिलते हैं. यहां कई सैंपल उपलब्ध हैं, लेकिन इस कोडलैब में हमारा फ़ोकस Chef पर है.

Chef, ये दोनों काम करता है:

  • एक सैंपल के तौर पर मिला ऐप्लिकेशन, जो टर्मिनल इंटरफ़ेस उपलब्ध कराता है. इसमें examples/shell ऐप्लिकेशन में मौजूद सुविधाएं भी शामिल हैं.
  • एक स्क्रिप्ट, जो Matter की सुविधा वाले डिवाइस को डेवलप करने के लिए ज़रूरी कई सामान्य टास्क को कैप्सूल करने के लिए, कॉन्फ़िगरेशन-ओवर-कन्वेंशन के सिद्धांत का इस्तेमाल करती है.

Chef के उदाहरण वाले फ़ोल्डर पर जाएं और Matter का पहला बिल्ड बनाएं:

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

Chef के कुछ विकल्प हैं. इन्हें chef.py -h चलाकर देखा जा सकता है. हम यहां इन विकल्पों का इस्तेमाल कर रहे हैं:

  • -d: इस्तेमाल किए जाने वाले डिवाइस के टाइप को तय करता है. इस मामले में, हम चालू/बंद और लेवल कंट्रोल वाली लाइटिंग ऐप्लिकेशन बना रहे हैं.
  • -z: डिवाइस के टाइप को लागू करने वाली सोर्स फ़ाइलें जनरेट करने के लिए, ZAP टूल को शुरू करता है. इसका मतलब है कि लाइटिंग के लिए आपकी चुनी गई सेटिंग के आधार पर, ZAP अपने-आप ऐसा कोड बनाएगा जिसे बिल्ड में शामिल किया जा सकता है. यह कोड, लाइट (डेटा मॉडल) और अन्य डिवाइसों के साथ उसके इंटरैक्ट करने के तरीके (इंटरैक्शन मॉडल) को तय करता है.
  • -b: बिल्ड करता है.
  • -r: [ज़रूरी नहीं] Matter के वर्चुअल डिवाइस पर आरपीसी सर्वर को चालू करता है, ताकि अन्य कॉम्पोनेंट (जैसे, जीयूआई) डिवाइस के साथ कम्यूनिकेट करके, डेटा मॉडल एट्रिब्यूट सेट और वापस पा सकें.
  • -t linux: टारगेट प्लैटफ़ॉर्म. ये प्लैटफ़ॉर्म काम करते हैं: linux, nrfconnect, और esp32. उपलब्ध सभी कमांड और काम करने वाले टारगेट प्लैटफ़ॉर्म देखने के लिए, ./chef.py -h चलाया जा सकता है. Matter के वर्चुअल डिवाइसों के लिए, linux का इस्तेमाल किया जाता है.

डिवाइस चलाना

मैटर, टीसीपी/यूडीपी पोर्ट 5540 का इस्तेमाल करता है. इसलिए, अगर आपके कंप्यूटर में फ़ायरवॉल चल रहा है, तो उसे बंद करें या पोर्ट 5540 पर आने वाले टीसीपी/यूडीपी कनेक्शन की अनुमति दें.

कंटेनर में वर्चुअल डिवाइस चलाने के लिए, यह कमांड चलाएं:

$ ./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. डिवाइस को सेट अप करना

ध्यान दें: यह चरण सिर्फ़ तब पूरा होगा, जब आपने Google Home Developer Console में अपना प्रोजेक्ट पहले से सेट अप किया हो.

Nest Hub

Matter फ़ैब्रिक पर अपने डिवाइस को सेट अप करने के लिए, हब की ज़रूरत होती है. यह Google Nest डिवाइस है. जैसे, Nest Hub (दूसरी पीढ़ी). यह Matter की सुविधा के साथ काम करता है. साथ ही, यह थ्रेड की सुविधा वाले डिवाइसों के लिए बॉर्डर राउटर और स्मार्ट होम इंटेंट को राउट करने के लिए, लोकल फ़ुलफ़िलमेंट पाथ के तौर पर काम करेगा.

यह देखने के लिए कि कौनसे हब Matter की सुविधा के साथ काम करते हैं, यह सूची देखें.

सेट अप करने की प्रोसेस शुरू करने से पहले, पक्का करें कि:

  • आपका हब, उसी Google खाते से जोड़ा गया हो जिसका इस्तेमाल आपने Google Home Console में साइन इन करने के लिए किया था.
  • आपका हब, उसी वाई-फ़ाई नेटवर्क पर हो जिसका इस्तेमाल Matter के वर्चुअल डिवाइस को चलाने के लिए किया जा रहा है.
  • आपका हब, उसी स्ट्रक्चर में हो जिसका इस्तेमाल Google Home ऐप्लिकेशन पर किया जा रहा है. Google Home Graph में "घर" आपके स्ट्रक्चर को दिखाता है.

क्यूआर कोड पाना

सेट अप करने की प्रोसेस के लिए, Matter के ऑनबोर्डिंग की जानकारी की ज़रूरत होती है. यह जानकारी, क्यूआर कोड के ज़रिए मिलती है. Matter ऐप्लिकेशन के कंसोल आउटपुट की जांच करें. इसमें, सेट अप करने से जुड़ा क्यूआर कोड पाने का लिंक होगा.

सेट अप करने का ऑपरेशन करना

  1. Google Home ऐप्लिकेशन खोलें.
  2. सबसे ऊपर बाईं ओर, + पर टैप करें.
  3. डिवाइस सेट अप करें पर टैप करें.
  4. नया डिवाइस पर टैप करें.
  5. अपना घर चुनें और आगे बढ़ें पर टैप करें.
  6. Google Home ऐप्लिकेशन, आपके डिवाइस को स्कैन करता है. अगर आपको "Matter डिवाइस मिला..." मैसेज दिखता है, तो 'हां' पर टैप करें. इसके अलावा, कोई दूसरा डिवाइस सेट अप करें पर टैप करें. इसके बाद, डिवाइसों की सूची में से Matter डिवाइस को चुनें.
  7. अपने कैमरे को डिवाइस के क्यूआर कोड या वेबसाइट से जनरेट किए गए क्यूआर कोड पर ले जाएं.
  8. Google Home ऐप्लिकेशन के फ़्लो में बताए गए तरीके से, डिवाइस को जोड़ने की प्रोसेस जारी रखें.

इन चरणों को पूरा करने के बाद, Matter का वर्चुअल डिवाइस सेट अप हो जाना चाहिए. साथ ही, यह Google Home ऐप्लिकेशन में नए आइकॉन के तौर पर दिखना चाहिए.

Google Home ऐप्लिकेशन से कनेक्ट किया गया बल्ब

समस्या का हल

"कनेक्टिविटी की समस्या" या "Google से संपर्क नहीं किया जा सका" गड़बड़ी वाले मैसेज दिखने पर, सेट अप करने की प्रोसेस पूरी नहीं हो पाती

  • पक्का करें कि आपने Google Home Console में, वीआईडी/पीआईडी के सही कॉम्बिनेशन के साथ कोई प्रोजेक्ट बनाया हो. साथ ही, आपके पास ऐसे अन्य प्रोजेक्ट न हों जिनमें वीआईडी/पीआईडी का वही कॉम्बिनेशन इस्तेमाल किया गया हो.

लंबे समय तक "आपके डिवाइस को स्कैन किया जा रहा है" मैसेज दिखने पर, सेट अप करने की प्रोसेस पूरी नहीं हो पाती

6. डिवाइस को कंट्रोल करना

Matter की सुविधा वाला डिवाइस सेट अप हो जाने और Google Home ऐप्लिकेशन में लाइट बल्ब के तौर पर दिखने के बाद, अलग-अलग तरीकों से डिवाइस को कंट्रोल करने की सुविधा की जांच की जा सकती है:

  • Google Assistant का इस्तेमाल करके.
  • Google Home ऐप्लिकेशन का इस्तेमाल करके.

Google Assistant

अपने फ़ोन या हब पर Google Assistant का इस्तेमाल करके, आवाज़ से दिए जाने वाले कमांड से डिवाइस की स्थिति को टॉगल करें. जैसे, "Ok Google, मेरी लाइटें टॉगल करो" कहें.

कमांड के ज़्यादा उदाहरणों के लिए, Google Home ऐप्लिकेशन में जोड़े गए स्मार्ट होम डिवाइसों को आवाज़ से दिए जाने वाले कमांड से कंट्रोल करना लेख का आवाज़ से दिए जाने वाले कमांड से स्मार्ट होम डिवाइसों को कंट्रोल करना सेक्शन देखें.

Google Home ऐप्लिकेशन

Google Home ऐप्लिकेशन पर दिखने वाले बल्ब आइकॉन के बगल में मौजूद, चालू और बंद लेबल पर टैप किया जा सकता है.

ज़्यादा जानकारी के लिए, Google Home ऐप्लिकेशन में जोड़े गए स्मार्ट होम डिवाइसों को आवाज़ से दिए जाने वाले कमांड से कंट्रोल करना लेख का Google Home ऐप्लिकेशन से डिवाइसों को कंट्रोल करना सेक्शन देखें.

7. बधाई हो!

आपने Matter का पहला डिवाइस बना लिया है. बहुत बढ़िया!

इस कोडलैब में, आपने इनके बारे में जाना:

  • Matter का डेवलपमेंट एनवायरमेंट इंस्टॉल करना.
  • Matter का वर्चुअल डिवाइस बनाना और उसे चलाना.
  • Google Home से अपने वर्चुअल डिवाइस को सेट अप और कंट्रोल करना.

Matter के बारे में ज़्यादा जानने के लिए, ये रेफ़रंस देखें: