อุปกรณ์เสมือนจริง Matter มีประโยชน์สำหรับการพัฒนาและทดสอบโซลูชัน Matter และสามารถตั้งค่าให้ใช้งานได้โดยใช้ Google Home app (GHA) และควบคุมโดยใช้ GHA และ Google Assistant เช่นเดียวกับอุปกรณ์ Matter จริง
สำหรับนักพัฒนาแอปและบุคคลอื่นๆ ที่ต้องการทดสอบหรือจำลองอุปกรณ์เสมือนจริงMatter แต่ไม่มีทรัพยากรในการสร้างอุปกรณ์จริงหรือเสมือนจริง Matterของตนเอง Google มี Matter Virtual Device (MVD) ให้บริการ MVD เป็นเครื่องมือเดสก์ท็อป Linux หรือ macOS แบบสแตนด์อโลนที่มีน้ำหนักเบา ซึ่งจำลองอุปกรณ์ Matter เสมือนจริงประเภทต่างๆ และมีอินเทอร์เฟซผู้ใช้แบบกราฟิกเพื่อควบคุมและแสดงสถานะของอุปกรณ์ Matter เสมือนจริง
MVD ไม่เหมือนกับอุปกรณ์ Matter จริงตรงที่ ไม่ต้องใช้ Bluetooth® พลังงานต่ำ (BLE) หรือ Thread® เพื่อเข้าร่วมโครงสร้าง Matter แต่จะใช้การเชื่อมต่อเครือข่าย Wi-Fi ที่มีอยู่ของเครื่อง Linux หรือ macOS โฮสต์เพื่อทำการคอมมิชชันแทน
เมื่อเทียบกับเครื่องมืออื่นๆ
MVD แตกต่างจาก Virtual Device Controller (VDC) ตรงที่เป็นโซลูชันแบบครบวงจรที่รวมอุปกรณ์เสมือนจริงเข้ากับ UI สำหรับควบคุมอุปกรณ์ ในทางตรงกันข้าม VDC จะใช้เพื่อควบคุมอุปกรณ์ Matter เสมือนจริงแยกต่างหาก
MVD มีอุปกรณ์เสมือนจริงที่สร้างไว้ล่วงหน้าหลายประเภทและมี UI ในตัวเพื่อเรียกใช้และควบคุมอุปกรณ์เหล่านั้น
อุปกรณ์ที่รองรับ
MVD รองรับอุปกรณ์ Matter ประเภทต่อไปนี้
| ประเภทอุปกรณ์ Matter | คลัสเตอร์แอปพลิเคชัน | ประเภทระบบนิเวศของบ้าน |
|---|---|---|
| เครื่องฟอกอากาศ |
0x0202 0x0006 0x0071 0x0072 |
เครื่องฟอกอากาศ |
| เซ็นเซอร์คุณภาพอากาศ |
0x005b 0x0402 0x0405 0x040c 0x040d 0x042a 0x042b 0x042c 0x042d 0x042e 0x042f 0x0413 0x0415 |
เซ็นเซอร์ |
| วิดีโอเพลเยอร์พื้นฐาน |
0x0006 0x0506 0x0509 |
โทรทัศน์ |
| ไฟอุณหภูมิสี |
0x0300 0x0008 0x0006 |
สว่าง |
| เซ็นเซอร์ตรวจจับการเปิด/ปิด |
0x0045 |
เซ็นเซอร์ |
| หลอดไฟที่หรี่แสงได้ |
0x0008 0x0006 |
สว่าง |
| หน่วยแบบเสียบปลั๊กที่หรี่ไฟได้ |
0x0006 0x0008 |
เต้ารับ |
| เครื่องล้างจาน |
0x0006 0x0059 0x0056 0x0060 |
เครื่องล้างจาน |
| ล็อกประตู |
0x0101 |
ล็อก |
| ไฟสีแบบขยาย |
0x0300 0x0008 0x0006 |
สว่าง |
| พัดลม |
0x0202 0x0006 |
พัดลม |
| เซ็นเซอร์ตรวจจับการไหล |
0x0404 |
เซ็นเซอร์ |
| สวิตช์ทั่วไป |
0x003b |
เปลี่ยน |
| เซ็นเซอร์วัดความชื้น |
0x0405 |
เซ็นเซอร์ |
| เครื่องซักผ้า |
0x0006 0x0051 0x0053 0x0056 0x0060 |
เครื่องซักผ้า |
| เซ็นเซอร์แสง |
0x0400 |
เซ็นเซอร์ |
| เซ็นเซอร์ตรวจจับการมีคนอยู่ |
0x0406 |
เซ็นเซอร์ |
| เปิด/ปิดไฟ |
0x0008 0x0006 |
สว่าง |
| สวิตช์เปิด/ปิดไฟ |
0x0006 |
เปลี่ยน |
| หน่วยปลั๊กอินเปิด/ปิด |
0x0008 0x0006 |
เต้ารับ |
| เซ็นเซอร์แรงดัน |
0x0403 |
เซ็นเซอร์ |
| ปั๊ม |
0x0006 0x0200 0x0402 0x0403 0x0404 |
ปั๊ม |
| หุ่นยนต์ดูดฝุ่น |
0x0054 0x0055 0x0061 |
เครื่องดูดฝุ่น |
| เครื่องปรับอากาศติดห้อง |
0x0006 0x0201 0x0202 |
เครื่องปรับอากาศ |
| สัญญาณเตือนควันและคาร์บอนมอนอกไซด์ |
0x005C |
เครื่องตรวจจับคาร์บอนมอนอกไซด์
เครื่องตรวจจับควัน |
| เซ็นเซอร์อุณหภูมิ |
0x0402 |
เซ็นเซอร์ |
| ตัวควบคุมอุณหภูมิ |
0x0201 |
ตัวควบคุมอุณหภูมิ |
| วัสดุปิดหน้าต่าง |
0x0102 |
ม่าน |
ติดตั้ง MVD
MVD ทำงานบนเครื่องที่มีโปรเซสเซอร์ x86 แบบ 64 บิตที่ใช้ Debian (13 Trixie ขึ้นไป), Ubuntu (20.04 Noble Numbat ขึ้นไป) หรือ macOS
Linux
ดาวน์โหลดแพ็กเกจ MVD Debian (.deb)
ดาวน์โหลดไฟล์ลายเซ็น ASCII แบบหุ้มเกราะ (.asc)
จากนั้นเรียกใช้ dpkg เพื่อติดตั้งแพ็กเกจ Debian (.deb) ของ MVD
sudo dpkg -i mvd_1.7.0_amd64.debmacOS
ดาวน์โหลดไฟล์ dmg ของ MVD (macOS x86)
ดาวน์โหลดไฟล์ dmg ของ MVD (ARM64 M1)
จากนั้นดับเบิลคลิกไฟล์ dmg เพื่อเปิดหน้าต่างการติดตั้ง
หากต้องการติดตั้งให้เสร็จสมบูรณ์ ให้เลือกและลากไอคอน mvd ไปยังโฟลเดอร์ Applications ดังนี้
ตรวจสอบการใช้งานพอร์ต
โมดูลตัวควบคุมใน MVD ใช้พอร์ต TCP 33000 เพื่อทำการเรียก RPC ไปยังอุปกรณ์เสมือนจริง ดังนั้นหากกระบวนการอื่นในคอมพิวเตอร์ใช้พอร์ตนี้อยู่แล้ว โปรดตรวจสอบว่าได้ปล่อยพอร์ตนี้ให้ว่าง
หากต้องการดูว่ามีกระบวนการใดใช้พอร์ต 33000 อยู่หรือไม่ ให้ทำดังนี้
Linux
sudo fuser -v 33000/tcpmacOS
lsof -i:33000คุณสามารถหยุดกระบวนการใดๆ ที่ใช้พอร์ต TCP 33000 ได้ด้วยคำสั่งเดียว ดังนี้
Linux
sudo fuser -k 33000/tcpmacOS
lsof -ti:33000 | xargs killMVD ของรัฐโรดไอแลนด์
Linux
ใน Linux ให้เรียกใช้ MVD จากโฟลเดอร์แอปพลิเคชันหรือจากเทอร์มินัล ดังนี้
mvdmacOS
ใน macOS ให้ใช้ Launchpad เพื่อเปิด MVD หรือเรียกใช้ MVD จากเทอร์มินัล
cd /Applicationsopen mvd.app
กำหนดค่าอุปกรณ์
หน้าจอหลักจะปรากฏขึ้นเมื่อเปิดแอป และให้คุณกำหนดค่าอุปกรณ์เสมือนจริงได้ ดังนี้
- ประเภทอุปกรณ์: เลือกประเภทอุปกรณ์ (เช่น หลอดไฟ สวิตช์ เซ็นเซอร์ และอื่นๆ)
- ชื่ออุปกรณ์: ตั้งชื่ออุปกรณ์ที่ใช้ง่าย
- ตัวจำแนก: ตัวเลข 12 บิตที่ใช้เพื่อแยกความแตกต่างระหว่างโฆษณาอุปกรณ์ที่สามารถคอมมิชชันได้หลายรายการ (ค่าเริ่มต้น:
3840) - พอร์ต Matter: พอร์ตสำหรับMatterการทดสอบระบบและการสื่อสารผ่านเครือข่าย IP Matter ใช้พอร์ต TCP/UDP 5540 โดยค่าเริ่มต้น แต่คุณสามารถกำหนดค่าอุปกรณ์เสมือนจริงให้ใช้พอร์ตอื่นได้ ตราบใดที่ไม่มีบริการอื่นใช้พอร์ตนั้นอยู่
- รหัสผู้ให้บริการ: รองรับเฉพาะรหัสผู้ให้บริการทดสอบ
0xFFF1 - รหัสสินค้า: รองรับเฉพาะรหัสสินค้าทดสอบ
0x8000ถึง0x801Fเท่านั้น
กำหนดค่าไฟร์วอลล์
Linux
หากมีไฟร์วอลล์ทำงานอยู่ในคอมพิวเตอร์ ให้ปิดไฟร์วอลล์หรืออนุญาตการเชื่อมต่อ TCP/UDP ขาเข้าในพอร์ต Matter
หากต้องการดูกฎไฟร์วอลล์ netfilter ที่ใช้งานอยู่ในปัจจุบัน ให้เรียกใช้คำสั่งต่อไปนี้
sudo iptables -L -nหากคุณใช้ `ufw` คุณสามารถปิดใช้ได้ด้วยคำสั่งต่อไปนี้
sudo ufw disableและเปิดใช้ใหม่ได้ด้วยวิธีต่อไปนี้
sudo ufw enablemacOS
วิธีกำหนดค่าหรือปิดใช้ไฟร์วอลล์ใน macOS
- ไปที่เมนู Apple แล้วเลือกการตั้งค่าระบบ
- คลิกเครือข่ายในรายการแถบด้านข้าง
- คลิก Firewall
- สลับสวิตช์สำหรับไฟร์วอลล์ไปที่ตำแหน่งปิด
เรียกใช้อุปกรณ์
หลังจากกำหนดค่าอุปกรณ์แล้ว ให้คลิกสร้างอุปกรณ์ เมื่อสร้างอุปกรณ์แล้ว หน้าจอตัวควบคุมจะปรากฏขึ้น คุณอาจเห็นตัวควบคุมต่อไปนี้อย่างน้อย 1 รายการ ทั้งนี้ขึ้นอยู่กับประเภทอุปกรณ์ที่เลือก
- เปิด/ปิด: พบได้ทั่วไปในอุปกรณ์ส่วนใหญ่
- ระดับ: เช่น หลอดไฟอาจมีแถบเลื่อนระดับเพื่อปรับความสว่าง
- สี: เช่น หลอดไฟสีอาจมีการควบคุมนี้
- การมีคนอยู่: เซ็นเซอร์ตรวจจับการมีคนอยู่จะให้การควบคุมนี้เพื่อจำลองสถานะมีคนอยู่หรือไม่มีคนอยู่
อุปกรณ์เสมือนจริงทั้งหมดมีการควบคุมต่อไปนี้
- QRCode: แสดงคิวอาร์โค้ดที่ใช้สำหรับการจัดเตรียมฮาร์ดแวร์
- รีบูต: รีสตาร์ทอุปกรณ์เสมือนจริง อุปกรณ์จะตัดการเชื่อมต่อจากเครือข่ายชั่วคราว
- รีเซ็ต: รีเซ็ตอุปกรณ์ปัจจุบันเป็นค่าเริ่มต้นและล้างสถานะทั้งหมด ซึ่งรวมถึงการคอมมิชชัน สถานะการควบคุมปัจจุบัน และอื่นๆ
- ลบ: ทำลายอุปกรณ์และกลับไปที่หน้าจอสร้างอุปกรณ์
ลักษณะเฉพาะของผู้ผลิต
ลักษณะเฉพาะของผู้ผลิต (MS) รองรับโดย Home API สำหรับ Android และมีฟังก์ชันการทำงานเพิ่มเติมที่นอกเหนือจากลักษณะมาตรฐานใน Matter หากต้องการทดสอบอุปกรณ์ที่มีลักษณะ MS MVD จะให้คุณโต้ตอบกับลักษณะต่างๆ ในส่วนที่เรียกว่าคลัสเตอร์ที่กำหนดเอง (ดูรูปภาพด้านบน)
ตั้งค่าอุปกรณ์
อุปกรณ์จะพร้อมใช้งานทันทีที่สร้างขึ้น
คุณต้องมีข้อกำหนดเบื้องต้น 2 ข้อในการเริ่มใช้งานอุปกรณ์ ดังนี้
คุณต้องมีโปรเจ็กต์ใน Google Home Developer Console โปรเจ็กต์นี้ต้องมีการผสานรวม Matter ที่มีชุดค่าผสม VID/PID เดียวกับที่คุณใช้ในการตั้งค่าอุปกรณ์เสมือนจริง ดูรายละเอียดได้ที่คู่มือการสร้างโปรเจ็กต์
คุณต้องมี Google Nest Hub ที่รองรับ Matter
คุณต้องมีโทรศัพท์ Android ที่ใช้ Android 8.1 ขึ้นไป และติดตั้ง GHA ไว้
โทรศัพท์ Android ต้องเชื่อมต่อกับเครือข่าย Wi-Fi เดียวกันกับฮับ
เครื่องโฮสต์ต้องเชื่อมต่อกับเครือข่าย Wi-Fi
หากต้องการคอมมิชชันอุปกรณ์โดยใช้ GHA ให้คลิกQRCodeเพื่อแสดงคิวอาร์โค้ดของอุปกรณ์ จากนั้นทำตามวิธีการในหัวข้อจับคู่อุปกรณ์ Matter ซึ่งอธิบายวิธีเริ่มต้นใช้งานอุปกรณ์ Matter โดยใช้ GHA นอกจากนี้ คุณยังสามารถคอมมิชชันอุปกรณ์โดยใช้ Google Home Sample App for Matter ได้ด้วย
ดูMatter คู่มือเพื่อดูวิธีการทำงานของMatter Commissioning
ควบคุมอุปกรณ์
หลังจากคอมมิชชันอุปกรณ์เสมือนจริงแล้ว คุณจะควบคุมอุปกรณ์ได้โดยใช้แอป Google Home หรือ Google Assistant ด้วยเสียง เลือกดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้
- ควบคุมอุปกรณ์ผ่าน GHA หรือ Assistant ขณะตรวจสอบการเปลี่ยนแปลงสถานะในอุปกรณ์เสมือนจริง หรือ
- ควบคุมอุปกรณ์โดยใช้ Sample App for Matter ขณะตรวจสอบการเปลี่ยนแปลงสถานะในอุปกรณ์เสมือนจริง หรือ
- ควบคุมสถานะอุปกรณ์ผ่าน MVD เองขณะตรวจสอบการเปลี่ยนแปลงสถานะใน GHA หรือ Assistant
ทดสอบด้วยอุปกรณ์
หากต้องการทดสอบกับ Assistant เราขอแนะนำให้ใช้เครื่องจำลองคำพูด เช่น ส่วนขยาย Google Home สำหรับ VS Code หรือปลั๊กอิน Google Home สำหรับ Android Studio
ดูรายละเอียดของอุปกรณ์
หน้าจอรายละเอียดอุปกรณ์จะแสดงข้อมูลอุปกรณ์โดยละเอียด ดังนี้
- ชื่อ: ชื่อที่จำง่ายซึ่งกำหนดให้กับอุปกรณ์
- ประเภทอุปกรณ์: ประเภทอุปกรณ์ที่เลือก
- Discriminator: ตัวแบ่งอุปกรณ์ปัจจุบัน
- รหัสผู้ให้บริการ: รหัสผู้ให้บริการอุปกรณ์ปัจจุบัน
- รหัสสินค้า: รหัสสินค้าของอุปกรณ์ปัจจุบัน
- พอร์ต RPC: พอร์ต RPC ที่อุปกรณ์ใช้สื่อสารกับตัวควบคุม (GUI)
- พอร์ต Matter: พอร์ตที่อุปกรณ์ปัจจุบันใช้เพื่อสื่อสารผ่านเครือข่าย IP
- รหัสผ่าน: PIN ที่ใช้ในการคอมมิชชันอุปกรณ์ผ่านเครือข่าย
- โฟลเดอร์การกำหนดค่า: โฟลเดอร์ที่อุปกรณ์เสมือนจริงจัดเก็บการกำหนดค่า
- ข้อมูลการคอมมิชชัน: แสดง Fabric ที่อุปกรณ์เข้าร่วมและรหัสโหนดของอุปกรณ์ใน Fabric
ดูบันทึกของอุปกรณ์
หากคุณเปิด MVD จากเทอร์มินัล เอาต์พุตบันทึกจะปรากฏใน stdout
นอกจากนี้ คุณยังดูบันทึกของอุปกรณ์ได้ในแท็บบันทึกของอุปกรณ์
หยุดอุปกรณ์
หากต้องการหยุดและทำลายอุปกรณ์ ให้คลิกลบ
สิ้นสุดการทำงานของแอป
การปิดหน้าต่างควบคุมจะเป็นการทำลายอุปกรณ์และสิ้นสุดแอปพลิเคชัน MVD หากเปิดจากเทอร์มินัล คุณยังสิ้นสุดแอปพลิเคชันได้โดยพิมพ์ Ctrl-C ในเทอร์มินัล
รับความช่วยเหลือ
หากต้องการความช่วยเหลือเกี่ยวกับ MVD, รายงานข้อบกพร่อง หรือขอฟีเจอร์ใหม่ โปรดติดต่อทีมสนับสนุนของ Google
การคลิกปุ่มความช่วยเหลือ ที่มุมขวาบนของหน้าต่างจะนำคุณไปยังหน้านี้
รายงานข้อบกพร่อง
หากคุณคิดว่าพบข้อบกพร่องใน MVD คุณสามารถรายงานข้อบกพร่องได้โดยคลิกปุ่มปัญหา ที่มุมขวาบนของหน้าต่าง
ส่งความคิดเห็น
หากต้องการส่งความคิดเห็นเกี่ยวกับสิ่งที่คุณชอบใน MVD หรือวิธีที่เราจะปรับปรุงประสบการณ์การใช้งานเครื่องมือของคุณได้ โปรดกรอกแบบฟอร์มความคิดเห็น
คุณเปิดแบบฟอร์มได้จากปุ่มความคิดเห็น ที่มุมขวาบนของหน้าต่าง หรือคลิกปุ่มด้านล่าง
นอกจากนี้ คุณยังแสดงความคิดเห็นผ่านแบบสำรวจที่ปรากฏขึ้นที่ด้านล่างเมื่อใช้ MVD ได้ด้วย