मैटर वर्चुअल डिवाइस

डिवाइस का SDK टूल

Matter वर्चुअल डिवाइस, Matter सलूशन डेवलप करने और उनकी जांच करने के लिए काम के हैं. इन्हें Google Home app (GHA) की मदद से चालू किया जा सकता है. साथ ही, इन्हें असल Matter डिवाइसों की तरह ही GHA और Google Assistant की मदद से कंट्रोल किया जा सकता है.

ऐप्लिकेशन डेवलपर और ऐसे अन्य ऐप्लिकेशन जिन्हें वर्चुअल Matter डिवाइस की जांच करनी है या उसे एम्युलेट करना है, लेकिन उनके पास फ़िज़िकल या वर्चुअल Matter डिवाइस बनाने के लिए संसाधन नहीं हैं, Google Matter Virtual Device (MVD) ऑफ़र करता है. MVD एक लाइटवेट स्टैंडअलोन Linux डेस्कटॉप टूल है, जो अलग-अलग तरह के वर्चुअल Matter डिवाइसों को सिम्युलेट करता है. साथ ही, वर्चुअल Matter डिवाइस की स्थितियों को कंट्रोल करने और दिखाने के लिए, ग्राफ़िकल यूज़र इंटरफ़ेस उपलब्ध कराता है.

फ़िज़िकल Matter डिवाइस से अलग, MVD Matter के कपड़े को जोड़ने के लिए Bluetooth® कम ऊर्जा (BLE) या Thread® पर भरोसा नहीं करता. इसके बजाय, यह सुविधा सेट अप करने के लिए, होस्ट Linux मशीन के मौजूदा वाई-फ़ाई नेटवर्क कनेक्शन का इस्तेमाल करता है.

अन्य टूल की तुलना में

MVD, Virtual Device Controller (VDC) से अलग है, क्योंकि यह अपने-आप में पूरा समाधान है. इसे कंट्रोल करने के लिए, वर्चुअल डिवाइस को यूज़र इंटरफ़ेस (यूआई) के साथ जोड़ता है. वहीं दूसरी ओर, VDC का इस्तेमाल एक अलग वर्चुअल Matter डिवाइस को कंट्रोल करने के लिए किया जाता है. जैसे, वह डिवाइस जिसे हमने Matter Virtual Device Development Environment (MVD-DE) में बनाया है.

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

टेबल: वर्चुअल Matter डिवाइस टूल की तुलना
MVD VDC MVD-DE (कोडलैब)
Matter की सुविधा वाले किसी डिवाइस को एम्युलेट करें
एम्युलेट किए गए Matter डिवाइस को कंट्रोल करना
डेवलपमेंट से जुड़े प्रयास ज़रूरी हैं
डाउनलोड करें 100 एमबी से कम 9 जीबी 20 जीबी

वे डिवाइस जिन पर YouTube ऐप्लिकेशन से YouTube Kids का इस्तेमाल किया जा सकता है

फ़िलहाल, MVD नीचे दिए गए Matter डिवाइस टाइप के साथ काम करता है:

टेबल: MVD के साथ काम करने वाले Matter डिवाइस टाइप
Matter डिवाइस टाइप ऐप्लिकेशन क्लस्टर घर का नेटवर्क टाइप
कलर टेंपरेचर लाइट 0x0300
0x0008
0x0006
हल्की नींद
डिमेबल लाइट 0x0008
0x0006
हल्की नींद
एक्सटेंडेड कलर लाइट 0x0300
0x0008
0x0006
हल्की नींद
होम में लोगों की मौजूदगी का पता लगाने वाला सेंसर 0x0406
सेंसर
लाइट चालू/बंद 0x0008
0x0006
हल्की नींद
चालू/बंद प्लग-इन यूनिट 0x0008
0x0006
आउटलेट

एमवीडी इंस्टॉल करें

MVD, Debian (11 या उसके बाद के वर्शन) या Ubuntu (20.04 या उसके बाद के वर्शन) पर चलने वाली 64-बिट x86 प्रोसेसर मशीनों पर काम करता है.

इसे इंस्टॉल करने के लिए:

MVD Debian (.deb) पैकेज डाउनलोड करें

आर्मर्ड-ASCII सिग्नेचर (.asc) फ़ाइल डाउनलोड करें

इसके बाद, MVD Debian (.deb) पैकेज इंस्टॉल करने के लिए dpkg चलाएं:

sudo dpkg -i mvd_1.1.0_amd64.deb

पोर्ट के इस्तेमाल की जानकारी देखना

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

यह देखने के लिए कि किसी प्रोसेस में पोर्ट 33000 का इस्तेमाल हो रहा है या नहीं:

sudo fuser -v 33000/tcp

आप एक ही निर्देश से टीसीपी पोर्ट 33000 का इस्तेमाल करके, किसी भी प्रोसेस को बंद कर सकते हैं:

sudo fuser -k 33000/tcp

MVD चलाएं

अपने ऐप्लिकेशन फ़ोल्डर या टर्मिनल से MVD चलाएं:

mvd

अपना डिवाइस कॉन्फ़िगर करें

लॉन्च के बाद मुख्य स्क्रीन दिखती है. इसकी मदद से वर्चुअल डिवाइस को कॉन्फ़िगर किया जा सकता है:

  • डिवाइस टाइप: डिवाइस का टाइप चुनें. उदाहरण के लिए, लाइट, स्विच, सेंसर वगैरह.
  • डिवाइस का नाम: डिवाइस को एक उपयोगकर्ता के लिए आसान नाम दें.
  • डिस्क्रिमिनेटर: यह 12-बिट की संख्या होती है. इसका इस्तेमाल, कमीशन वाले कई डिवाइसों के विज्ञापनों के बीच अंतर करने के लिए किया जाता है. (डिफ़ॉल्ट: 3840).
  • Matter पोर्ट: Matter काम करने और आईपी नेटवर्क के ज़रिए कम्यूनिकेशन करने के लिए पोर्ट. Matter, डिफ़ॉल्ट रूप से टीसीपी/यूडीपी पोर्ट 5540 का इस्तेमाल करता है. हालांकि, किसी दूसरे पोर्ट का इस्तेमाल करने के लिए, वर्चुअल डिवाइस को कॉन्फ़िगर किया जा सकता है. ऐसा तब तक किया जा सकता है, जब तक कोई अन्य सेवा इसका इस्तेमाल न कर रही हो.
  • वेंडर आईडी: फ़िलहाल, सिर्फ़ टेस्ट वेंडर आईडी 0xFFF1 काम करता है.
  • प्रॉडक्ट आईडी: फ़िलहाल, सिर्फ़ 0x8000 से 0x801F तक के टेस्ट प्रॉडक्ट आईडी काम करते हैं.

वर्चुअल डिवाइस कॉन्फ़िगरेशन
स्क्रीन

अपना फ़ायरवॉल कॉन्फ़िगर करना

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

फ़ायरवॉल के मौजूदा चालू नेटफ़िल्टर नियमों को देखने के लिए, इसे चलाएं:

sudo iptables -L -n

ध्यान दें: अगर ufw का इस्तेमाल किया जा रहा है, तो इसे इनसे बंद किया जा सकता है:

sudo ufw disable
और इसे इनकी मदद से फिर से चालू किया जा सकता है:
sudo ufw enable

अपना डिवाइस चलाएं

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

  • चालू/बंद: ज़्यादातर डिवाइसों पर यह आम है.
  • लेवल: उदाहरण के लिए, चमक को घटाने या बढ़ाने के लिए, लाइट में एक लेवल स्लाइडर हो सकता है.
  • रंग: उदाहरण के लिए, किसी रंगीन लाइट का यह कंट्रोल हो सकता है.
  • ऑक्यूपेंसी: ऑक्यूपेंसी सेंसर यह कंट्रोल दिखाता है. इससे पता चलता है कि कोई मौजूद है या खाली है.

सभी वर्चुअल डिवाइसों के पास ये कंट्रोल होते हैं:

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

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

डिवाइस को रजिस्टर करें

डिवाइस बनने के साथ ही उसे कमीशन मिल जाएगा.

डिवाइस को चालू करने के लिए, यहां कुछ ज़रूरी शर्तें दी गई हैं:

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

  • आपके पास ऐसा Google Nest Hub होना चाहिए जो Matter के साथ काम करता हो

  • आपके पास Android 8.1 या इसके बाद के वर्शन पर चलने वाला Android फ़ोन होना चाहिए और GHA इंस्टॉल होना चाहिए.

  • Android फ़ोन उसी वाई-फ़ाई नेटवर्क से कनेक्ट होना चाहिए जिससे हब कनेक्ट है.

  • होस्ट मशीन, वाई-फ़ाई नेटवर्क से कनेक्ट होनी चाहिए.

GHA का इस्तेमाल करके डिवाइस को चालू करने के लिए, QRCode पर क्लिक करें, ताकि डिवाइस का क्यूआर कोड दिखे. इसके बाद, Matter डिवाइस को जोड़ें में दिए गए निर्देशों का पालन करें. इसमें GHA का इस्तेमाल करके, Matter डिवाइस को अपने साथ जोड़ने का तरीका बताया गया है. Google Home Sample App for Matter का इस्तेमाल करके भी डिवाइस को कमीशन किया जा सकता है.

यह जानने के लिए कि Matter कैसे काम करता है, हमारा Matter Primer देखें.

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

वर्चुअल डिवाइस बनाने के बाद, Google Home ऐप्लिकेशन या Google Assistant की मदद से उसे कंट्रोल किया जा सकता है. इनमें से कोई एक विकल्प चुना जा सकता है:

  • वर्चुअल डिवाइस की स्थिति में होने वाले बदलावों को मॉनिटर करके, GHA या Assistant से डिवाइस को कंट्रोल करें या
  • वर्चुअल डिवाइस की स्थिति में होने वाले बदलावों पर नज़र रखते समय,Sample App for Matter का इस्तेमाल करके डिवाइस को कंट्रोल करें या
  • GHA या Assistant में स्थिति में होने वाले बदलावों को मॉनिटर करते समय, MVD से डिवाइस की स्थिति को खुद कंट्रोल करें.

डिवाइस से टेस्ट करें

Assistant से टेस्ट करने के लिए, हमारा सुझाव है कि आप उच्चारण सिम्युलेटर का इस्तेमाल करें, जैसे कि VS Code के लिए Google Home एक्सटेंशन या Android Studio के लिए Google Home प्लगिन.

डिवाइस की जानकारी देखना

डिवाइस की जानकारी वाली स्क्रीन पर, डिवाइस की पूरी जानकारी दिखती है:

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

डिवाइस लॉग देखें

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

डिवाइस बंद करो

डिवाइस को रोकने और मिटाने के लिए, मिटाएं पर क्लिक करें.

ऐप्लिकेशन को बंद करें

कंट्रोल विंडो को बंद करने से, डिवाइस बंद हो जाता है और MVD ऐप्लिकेशन बंद हो जाता है. अगर आपने टर्मिनल से ऐप्लिकेशन लॉन्च किया है, तो आप टर्मिनल में Ctrl-C टाइप करके, ऐप्लिकेशन को बंद भी कर सकते हैं.

मदद पाना

MVD से जुड़ी मदद पाने, गड़बड़ी की शिकायत करने या नई सुविधा का अनुरोध करने के लिए, Google की सहायता टीम से संपर्क करें.

विंडो के ऊपर दाएं कोने में सहायता बटन पर क्लिक करने से, आपको इस पेज पर ले जाया जाता है.

बग दायर करें

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

सुझाव/राय भेजना या शिकायत करना

MVD के बारे में आपको क्या पसंद है या इस टूल को इस्तेमाल करने का आपका अनुभव कैसे बेहतर बनाया जा सकता है, इस बारे में अपनी राय देने के लिए, हमारा सुझाव/राय देने या शिकायत करने वाला फ़ॉर्म भरें.

विंडो के ऊपर दाएं कोने में मौजूद, सुझाव, शिकायत या राय बटन से या नीचे दिए गए बटन पर क्लिक करके, फ़ॉर्म को लॉन्च किया जा सकता है.

हमें अपने सुझाव/राय दें या शिकायत करें