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

1. शुरुआती जानकारी

Matter एक कनेक्टिविटी प्रोटोकॉल है, जो स्मार्ट डिवाइसों को डेवलप करने के बेहतर अवसर उपलब्ध कराता है. इस कोडलैब में, आपको Matter की सुविधा वाला अपना पहला डिवाइस बनाने का विकल्प मिलेगा. इसके लिए, पहले से कॉन्फ़िगर की गई Docker इमेज में, आपके लिए उपलब्ध SDK टूल और डिपेंडेंसी का इस्तेमाल किया जाएगा.

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

आप इन चीज़ों के बारे में जानेंगे

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

आपको इनकी ज़रूरत होगी

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

हम Linux होस्ट मशीन पर, पहले से कॉन्फ़िगर किए गए Docker कंटेनर का इस्तेमाल करेंगे. इस कंटेनर में, Matter का वर्चुअल डिवाइस बनाने और उसे चलाने के लिए सभी ज़रूरी चीज़ें शामिल हैं.

अपने हार्डवेयर की जांच करें

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

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

Docker सेट अप करें

  1. Docker Engine इंस्टॉल करें (Docker डेस्कटॉप का इस्तेमाल न करें).
  2. Docker हब से Docker इमेज खींचें. टर्मिनल विंडो में, इसे चलाएं:
    user@host> docker pull us-docker.pkg.dev/nest-matter/docker-repo/virtual-device-image:latest
    
    इस कार्रवाई को पूरा होने में कुछ मिनट लग सकते हैं.
  3. Docker कंटेनर को शुरू करें:
    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!
$

आइए, Docker कमांड और इसे दिए गए विकल्पों को समझते हैं:

  • xhost local:1000, X window System को पोर्ट 1000 पर, लोकल होस्ट से कनेक्शन पाने की अनुमति देता है. इससे, ग्राफ़िक यूज़र इंटरफ़ेस का इस्तेमाल किया जा सकता है.
  • docker run … image दी गई इमेज को चलाता है. ज़रूरी होने पर, इसे Docker रजिस्ट्री से फ़ेच किया जाता है.
  • --ipc=host, Docker को आपकी होस्ट मशीन के साथ इंटरप्रोसेस कम्यूनिकेशन नेमस्पेस शेयर करने देता है.
  • --net=host, Docker को कंटेनर के अंदर होस्ट के नेटवर्क स्टैक का इस्तेमाल करने की अनुमति देता है. इसकी ज़रूरत होती है, ताकि यह होस्ट से कंटेनर में mडीएनएस ट्रैफ़िक को पास कर सके और होस्ट X11 डिसप्ले को शेयर कर सके.
  • -e DISPLAY, आपके सिस्टम ग्राफ़िक इंटरफ़ेस का ऐक्सेस देता है. इससे, $DISPLAY को होस्ट को एक्सपोर्ट किया जाता है. Matter वाले क्लस्टर में बदलाव करते समय, ZAP टूल चलाना ज़रूरी है.
  • -it, बैकग्राउंड प्रोसेस के बजाय, इंटरैक्टिव टर्मिनल (tty) की मदद से Docker चलाता है.

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

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 का शुरुआती सेटअप

जब आपका टर्मिनल खुलेगा, तो वह पहले से ही ~/connectedhomeip पर, Matter की क्लोन की गई रिपॉज़िटरी में मौजूद होगा. Matter को सेटअप करने के लिए किसी अन्य तरीके की ज़रूरत नहीं है.

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

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

अपनी मौजूदा वर्क डायरेक्ट्री को /workspace पर मौजूद कंटेनर में माउंट करने के लिए, अपने कंटेनर को अतिरिक्त आर्ग्युमेंट --mount source=$(pwd),target=/workspace,type=bind के साथ चलाएं.

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 डेवलपर कंसोल

Google Home Developer Console ऐसा वेब ऐप्लिकेशन है जहां Google Home के साथ Matter के इंटिग्रेशन मैनेज किए जाते हैं.

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

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

Google Home कंसोल पर जाकर शुरुआत करें:

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

4. कोई डिवाइस बनाएं

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

शेफ़ दोनों हैं:

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

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

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

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

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

डिवाइस चलाएं

Matter, टीसीपी/यूडीपी पोर्ट 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+\ का भी इस्तेमाल करना पड़ सकता है.

आपके वर्चुअल डिवाइस के क्रेडेंशियल chip प्रीफ़िक्स से शुरू होने वाली फ़ाइलों में, /tmp/ डायरेक्ट्री में सेव किए जाते हैं.

अगर आपको कमीशन की पूरी प्रोसेस शुरू से ही दोहरानी है, तो इस कमांड का इस्तेमाल करके उन फ़ाइलों को मिटाएं:

$ rm /tmp/chip*

5. वर्चुअल डिवाइस कंट्रोलर

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

वर्चुअल डिवाइस कंट्रोलर

वर्चुअल डिवाइस कंट्रोलर, आपके वर्चुअल डिवाइस को विज़ुअल तौर पर दिखाता है.

वर्चुअल डिवाइस कंट्रोलर के ग्राफ़िक यूज़र इंटरफ़ेस (GUI) की मदद से, वर्चुअल डिवाइस से इंटरैक्ट किया जा सकता है. जीयूआई में किए गए बदलाव, डेटा मॉडल पर असर डालते हैं. Matter वर्चुअल डिवाइस के साथ काम करने वाले टाइप की पूरी सूची देखने के लिए, ऐसे डिवाइस जिन पर यह सुविधा काम करती है देखें.

वर्चुअल डिवाइस कंट्रोलर इंस्टॉल करें

वर्चुअल डिवाइस कंट्रोलर, Ubuntu LTS 20.04 Docker कंटेनर पर पहले से इंस्टॉल किया जाता है.

वर्चुअल डिवाइस कंट्रोलर चलाएं

दूसरा टर्मिनल सेशन इंस्टेंस बनाएं:

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 सर्वर को हर सेकंड में एक बार पोल करता है.

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

6. डिवाइस को क्रेडेंशियल असाइन करें

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

Nest Hub

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

यह सूची देखें और जानें कि कौनसे हब, Matter के साथ काम करते हैं.

कमीशन की प्रोसेस शुरू करने से पहले, इन बातों की जांच कर लें:

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

क्यूआर कोड पाएं

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

कमीशन की कार्रवाई करना

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

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

Google Home ऐप्लिकेशन पर जोड़ा गया बल्ब

समस्या हल करना

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

  • पक्का करें कि आपने Google Home Console में सही वीआईडी/पीआईडी कॉम्बिनेशन वाला प्रोजेक्ट बनाया है और आपके पास एक ही वीआईडी/पीआईडी कॉम्बिनेशन का इस्तेमाल करने वाले दूसरे प्रोजेक्ट नहीं हैं.

लंबे समय तक "आपके डिवाइस को स्कैन करने" के बाद भी, कमीशन की सुविधा चालू नहीं हो पाती

  • पक्का करें कि आपके कंप्यूटर का फ़ायरवॉल बंद हो और यह भी पक्का करें कि वर्चुअल डिवाइस का इस्तेमाल किया जा रहा है.
  • आपके कंप्यूटर पर सिर्फ़ वाई-फ़ाई का इस्तेमाल हो रहा है, यह पक्का करने के लिए सभी फ़िज़िकल नेटवर्क इंटरफ़ेस (ईथरनेट) को डिसकनेक्ट करें.

7. डिवाइस कंट्रोल करें

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

  • Google Assistant का इस्तेमाल किया जा रहा है.
  • Google Home ऐप्लिकेशन का इस्तेमाल करके.
  • वर्चुअल डिवाइस जीयूआई का इस्तेमाल करना.

Google Assistant

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

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

Google Home ऐप्लिकेशन

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

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

वर्चुअल डिवाइस GUI

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

8. बधाई हो!

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

इस कोडलैब में, आपने जाना कि ये काम कैसे किए जाते हैं:

  • पहले से पैकेज की गई Docker इमेज का इस्तेमाल करके, Matter डेवलपमेंट एनवायरमेंट इंस्टॉल करें.
  • Matter का वर्चुअल डिवाइस बनाएं और चलाएं.
  • Google Home से अपने वर्चुअल डिवाइस को कमीशन और कंट्रोल करें.

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

  • Google Home Developer Center पर Matter Primer प्लैटफ़ॉर्म उपलब्ध है. यहां आपको Matter के कॉन्सेप्ट की बुनियादी बातें बताई जाएंगी.
  • Matter की खास जानकारी, Matter डिवाइस लाइब्रेरी, और Matter ऐप्लिकेशन क्लस्टर लाइब्रेरी, जिन्हें Connectivity Standards Alliance ने पब्लिश किया है.
  • Matter GitHub रिपॉज़िटरी.