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

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

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

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

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

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

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 डिवाइस टाइप ऐप्लिकेशन क्लस्टर होम नेटवर्क का टाइप
बुनियादी वीडियो प्लेयर 0x0006
0x0506
0x0509
टीवी
हल्के रंग का तापमान 0x0300
0x0008
0x0006
हल्की
सेंसर से संपर्क करें 0x0045
सेंसर
कम रोशनी वाला मोड 0x0008
0x0006
हल्की
दरवाज़ा लॉक 0x0101
लॉक करें
एक्सटेंडेड कलर लाइट 0x0300
0x0008
0x0006
हल्की
पंखा 0x0202
0x0006
प्रशंसक
फ़्लो सेंसर 0x0404
सेंसर
जेनेरिक स्विच 0x003b
स्विच करें
आर्द्रता सेंसर 0x0405
सेंसर
लाइट सेंसर 0x0400
सेंसर
ऑक्युपेंसी सेंसर 0x0406
सेंसर
लाइट चालू/बंद है 0x0008
0x0006
हल्की
लाइट चालू/बंद करने वाला स्विच 0x0006
स्विच करें
चालू/बंद प्लग-इन यूनिट 0x0008
0x0006
आउटलेट
दबाव सेंसर 0x0403
सेंसर
पंप 0x0006
0x0200
0x0402
0x0403
0x0404
लागू नहीं
रोबोट वैक्यूम क्लीनर 0x0054
0x0055
0x0061
वैक्यूम
कमरे में एयर कंडिशनर 0x0006
0x0201
0x0202
एसी
धुएं का कार्बन अलार्म 0x005C
धुआं
धुएं का कार्बन अलार्म 0x005C
धुआं
तापमान मापने वाला सेंसर 0x0402
सेंसर
थर्मोस्टैट 0x0201
थर्मोस्टैट
विंडो कवरिंग 0x0102
ब्लाइंड

MVD इंस्टॉल करें

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

Linux

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

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

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

sudo dpkg -i mvd_1.4.0_amd64.deb

macOS

MVD (macOS x86) की डीएमवी फ़ाइल डाउनलोड करना

MVD (ARM64 M1) की डीएमवी फ़ाइल डाउनलोड करना

इसके बाद, इंस्टॉलेशन विंडो खोलने के लिए dmg फ़ाइल पर दो बार क्लिक करें.

इंस्टॉलेशन पूरा करने के लिए, mvd आइकॉन को चुनें और खींचकर Applications फ़ोल्डर में छोड़ें:

macOS इंस्टॉल

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

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

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

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

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

Linux

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

MVD चलाएं

Linux

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

mvd

macOS

macOS पर, MVD खोलने के लिए Launchpad का इस्तेमाल करें या टर्मिनल से MVD को चलाएं:

cd /Applications
open mvd.app

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

लॉन्च होने पर मुख्य स्क्रीन दिखती है और आपको कोई वर्चुअल डिवाइस कॉन्फ़िगर करने की सुविधा मिलती है:

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

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

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

Linux

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

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

sudo iptables -L -n

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

sudo ufw disable

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

sudo ufw enable

macOS

macOS पर फ़ायरवॉल को कॉन्फ़िगर या बंद करने के लिए:

  1.  Apple मेन्यू में जाएँ और सिस्टम सेटिंग चुनें.
  2. साइडबार सूची में नेटवर्क पर क्लिक करें.
  3. फ़ायरवॉल पर क्लिक करें.
  4. फ़ायरवॉल के स्विच को बंद पर टॉगल करें.

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

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

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

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

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

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

अपने डिवाइस को कमीशन दें

डिवाइस बनाते ही उसे चालू कर दिया जाता है.

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

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

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

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

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

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

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

Matter को कमीशन करने की प्रोसेस कैसे काम करती है, इस बारे में जानने के लिए, हमारे Matter प्रायर पर जाएं.

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

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

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

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

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

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

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

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

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

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

डिवाइस रोकें

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

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

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

मदद पाना

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

विंडो के ऊपर-दाएं कोने में मौजूद हेल्प बटन पर क्लिक करने से, इस पेज पर पहुंचा जा सकता है.

गड़बड़ी की शिकायत करें

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

सुझाव/राय दें या शिकायत करें

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

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

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