Matter อุปกรณ์เสมือนมีประโยชน์ในการพัฒนาและทดสอบ Matterโซลูชัน และสามารถจัดสรรได้โดยใช้ Google Home app (GHA) และควบคุมโดยใช้ GHA และ Google Assistant เช่นเดียวกับอุปกรณ์ Matter จริง
สำหรับนักพัฒนาแอปและคนอื่นๆ ที่ต้องการทดสอบหรือจำลองMatterอุปกรณ์เสมือน แต่ไม่มีทรัพยากรในการสร้างอุปกรณ์จริงหรือเสมือน Matterของตนเอง Google มีMatter Virtual Device (MVD)ไว้ให้บริการ MVD เป็นเครื่องมือเดสก์ท็อปแบบสแตนด์อโลนขนาดเล็กสำหรับ Linux หรือ macOS ที่จำลองอุปกรณ์เสมือน Matter ประเภทต่างๆ และมีอินเทอร์เฟซผู้ใช้แบบกราฟิกเพื่อควบคุมและแสดงสถานะของอุปกรณ์เสมือน Matter
MVD ไม่เหมือนกับMatterจริง MVD ไม่ได้ใช้บลูทูธพลังงานต่ำ (BLE) หรือ Thread® เพื่อเข้าร่วมMatter แต่จะใช้การเชื่อมต่อเครือข่าย Wi-Fi ที่มีอยู่ของเครื่อง Linux หรือ macOS โฮสต์สำหรับการจัดสรรแทน
เมื่อเทียบกับเครื่องมืออื่นๆ
MVD แตกต่างจาก Virtual Device Controller (VDC) ตรงที่MVD เป็นโซลูชันแบบสแตนด์อโลนที่รวมอุปกรณ์เสมือนเข้ากับ UI สำหรับ ควบคุมอุปกรณ์ ในทางตรงกันข้าม VDC ใช้เพื่อ ควบคุมอุปกรณ์ Matter เสมือนแยกต่างหาก
MVD มีอุปกรณ์เสมือนที่สร้างไว้ล่วงหน้าหลายแบบ และมี UI ในตัวสำหรับเรียกใช้และควบคุมอุปกรณ์เหล่านั้น
อุปกรณ์ที่รองรับ
MVD รองรับMatter อุปกรณ์ประเภทต่อไปนี้
Matter ประเภทอุปกรณ์ | คลัสเตอร์แอปพลิเคชัน | ประเภทระบบนิเวศของบ้าน |
---|---|---|
เครื่องฟอกอากาศ |
0x0202 0x0006 0x0071 |
เครื่องฟอกอากาศ |
เซ็นเซอร์ตรวจวัดคุณภาพอากาศ |
0x005b 0x0402 0x0405 0x040c 0x040d 0x042a 0x042d 0x042e |
เซ็นเซอร์ |
วิดีโอเพลเยอร์พื้นฐาน |
0x0006 0x0506 0x0509 |
โทรทัศน์ |
หลอดไฟอุณหภูมิสี |
0x0300 0x0008 0x0006 |
สว่าง |
เซ็นเซอร์ตรวจจับการสัมผัส |
0x0045 |
เซ็นเซอร์ |
ไฟหรี่ได้ |
0x0008 0x0006 |
สว่าง |
อุปกรณ์ปลั๊กอินที่หรี่ไฟได้ |
0x0006 0x0008 |
Outlet |
เครื่องล้างจาน |
0x0006 0x0059 0x0056 0x0060 |
เครื่องล้างจาน |
ล็อกประตู |
0x0101 |
ล็อก |
Extended Color Light |
0x0300 0x0008 0x0006 |
สว่าง |
พัดลม |
0x0202 0x0006 |
พัดลม |
เซ็นเซอร์การไหล |
0x0404 |
เซ็นเซอร์ |
Generic Switch |
0x003b |
เปลี่ยน |
เซ็นเซอร์วัดความชื้น |
0x0405 |
เซ็นเซอร์ |
เครื่องซักผ้า |
0x0006 0x0051 0x0053 0x0056 0x0060 |
เครื่องซักผ้า |
เซ็นเซอร์แสง |
0x0400 |
เซ็นเซอร์ |
เซ็นเซอร์ตรวจจับการมีคนอยู่ |
0x0406 |
เซ็นเซอร์ |
เปิด/ปิดไฟ |
0x0008 0x0006 |
สว่าง |
สวิตช์ไฟเปิด/ปิด |
0x0006 |
เปลี่ยน |
หน่วยปลั๊กอินเปิด/ปิด |
0x0008 0x0006 |
Outlet |
เซ็นเซอร์แรงดัน |
0x0403 |
เซ็นเซอร์ |
ปั๊ม |
0x0006 0x0200 0x0402 0x0403 0x0404 |
ปั๊ม |
หุ่นยนต์ดูดฝุ่น |
0x0054 0x0055 0x0061 |
เครื่องดูดฝุ่น |
เครื่องปรับอากาศติดห้อง |
0x0006 0x0201 0x0202 |
เครื่องปรับอากาศ |
สัญญาณเตือนควันและคาร์บอนมอนอกไซด์ |
0x005C |
เครื่องตรวจจับ Co2
เครื่องตรวจจับควัน |
เซ็นเซอร์วัดอุณหภูมิ |
0x0402 |
เซ็นเซอร์ |
ตัวควบคุมอุณหภูมิ |
0x0201 |
ตัวควบคุมอุณหภูมิ |
ม่านบังตา |
0x0102 |
ม่าน |
ติดตั้ง MVD
MVD ทำงานบนเครื่องประมวลผล x86 64 บิตที่ใช้ Debian
(13 Trixie
ขึ้นไป), Ubuntu (20.04 Noble Numbat
ขึ้นไป) หรือ macOS
Linux
ดาวน์โหลดแพ็กเกจ MVD Debian (.deb)
ดาวน์โหลดไฟล์ลายเซ็น ASCII ที่หุ้มเกราะ (.asc)
จากนั้นเรียกใช้ dpkg
เพื่อติดตั้งแพ็กเกจ MVD
Debian (.deb)
sudo dpkg -i mvd_1.7.0_amd64.deb
macOS
ดาวน์โหลดไฟล์ MVD (macOS x86) dmg
ดาวน์โหลดไฟล์ MVD (ARM64 M1) dmg
จากนั้นดับเบิลคลิกไฟล์ dmg
เพื่อเปิดหน้าต่างการติดตั้ง
หากต้องการติดตั้งให้เสร็จสมบูรณ์ ให้เลือกและลากไอคอน mvd
ไปยัง
โฟลเดอร์ Applications

ตรวจสอบการใช้งานพอร์ต
โมดูลควบคุมใน MVD ใช้พอร์ต TCP 33000 เพื่อทำการเรียก RPC ไปยังอุปกรณ์เสมือน ดังนั้นหากพอร์ตนี้มีกระบวนการอื่น ในคอมพิวเตอร์ใช้งานอยู่แล้ว โปรดตรวจสอบว่าได้ยกเลิกการใช้งานพอร์ตดังกล่าวแล้ว
วิธีดูว่ามีกระบวนการใดใช้พอร์ต 33000 หรือไม่
Linux
sudo fuser -v 33000/tcp
macOS
lsof -i:33000
คุณสามารถหยุดกระบวนการใดก็ได้ที่ใช้พอร์ต TCP 33000 ด้วยคำสั่งเดียว
Linux
sudo fuser -k 33000/tcp
macOS
lsof -ti:33000 | xargs kill
เรียกใช้ MVD
Linux
ใน Linux ให้เรียกใช้ MVD จากโฟลเดอร์แอปพลิเคชันหรือจาก เทอร์มินัล
mvd
macOS
ใน macOS ให้ใช้ Launchpad เพื่อเปิด MVD หรือเรียกใช้ MVD จากเทอร์มินัล
cd /Applications
open 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 enable
macOS
วิธีกำหนดค่าหรือปิดใช้ไฟร์วอลล์ใน macOS
- ไปที่เมนู Apple แล้วเลือกการตั้งค่าระบบ
- คลิกเครือข่ายในรายการแถบด้านข้าง
- คลิก Firewall
- สลับสวิตช์สำหรับไฟร์วอลล์ไปที่ตำแหน่งปิด
เรียกใช้อุปกรณ์
หลังจากกำหนดค่าอุปกรณ์แล้ว ให้คลิกสร้างอุปกรณ์ เมื่อสร้างอุปกรณ์แล้ว หน้าจอตัวควบคุมจะปรากฏขึ้น คุณอาจเห็นตัวควบคุมอย่างน้อย 1 รายการต่อไปนี้ ทั้งนี้ขึ้นอยู่กับประเภทอุปกรณ์ที่เลือก
- เปิด/ปิด: พบได้ในอุปกรณ์ส่วนใหญ่
- ระดับ: เช่น หลอดไฟอาจมีแถบเลื่อนระดับเพื่อปรับ ความสว่าง
- สี: เช่น ไฟสีอาจมีการควบคุมนี้
- การตรวจหาการมีคนอยู่: เซ็นเซอร์ตรวจหาการมีคนอยู่มีการควบคุมนี้เพื่อจำลองสถานะ ที่มีคนอยู่หรือไม่มีคนอยู่
อุปกรณ์เสมือนทั้งหมดมีการควบคุมต่อไปนี้
- QRCode: แสดงคิวอาร์โค้ดที่ใช้ในการจัดสรร
- รีบูต: รีสตาร์ทอุปกรณ์เสมือน อุปกรณ์ถูกตัดการเชื่อมต่อ จากเครือข่ายชั่วคราว
- รีเซ็ต: รีเซ็ตอุปกรณ์ปัจจุบันเป็นค่าเริ่มต้นและล้างสถานะทั้งหมด ซึ่งรวมถึง การจัดสรร สถานะการควบคุมปัจจุบัน และอื่นๆ
- ลบ: ทำลายอุปกรณ์และกลับไปที่หน้าจอสร้างอุปกรณ์
ลักษณะเฉพาะของผู้ผลิต
ลักษณะเฉพาะของผู้ผลิต (MS) ได้รับการรองรับโดย Home API สำหรับ Android และมีฟังก์ชันการทำงานเพิ่มเติม นอกเหนือจากลักษณะมาตรฐานใน Matter หากต้องการทดสอบอุปกรณ์ ที่มีลักษณะ MS MVD จะช่วยให้คุณโต้ตอบกับลักษณะใน ส่วนที่ชื่อว่าคลัสเตอร์ที่กำหนดเอง (ดูรูปภาพด้านบน)
ตั้งค่าอุปกรณ์
อุปกรณ์จะได้รับค่าคอมมิชชันทันทีที่สร้าง
ข้อกำหนดเบื้องต้นสำหรับการจัดสรรอุปกรณ์มีดังนี้
คุณต้องมีโปรเจ็กต์ใน 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การว่าจ้าง
ควบคุมอุปกรณ์
หลังจากมอบสิทธิ์อุปกรณ์เสมือนแล้ว คุณจะควบคุมอุปกรณ์ได้โดยใช้แอป Google Home หรือ Google Assistant ด้วยเสียง เลือกดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้
- ควบคุมอุปกรณ์ผ่าน GHA หรือ Assistant ขณะตรวจสอบการเปลี่ยนแปลงสถานะใน อุปกรณ์เสมือน หรือ
- ควบคุมอุปกรณ์โดยใช้ Sample App for Matter ขณะตรวจสอบการเปลี่ยนแปลงสถานะ ในอุปกรณ์เสมือน หรือ
- ควบคุมสถานะอุปกรณ์ผ่าน MVD เองขณะ ตรวจสอบการเปลี่ยนแปลงสถานะใน GHA หรือ Assistant
ทดสอบด้วยอุปกรณ์
หากต้องการทดสอบด้วย Assistant เราขอแนะนำให้ใช้โปรแกรมจำลองคำพูด เช่น ส่วนขยาย Google Home สำหรับ VS Code หรือปลั๊กอิน Google Home สำหรับ Android Studio
ดูรายละเอียดอุปกรณ์
หน้าจอรายละเอียดอุปกรณ์จะแสดงข้อมูลอุปกรณ์โดยละเอียด ดังนี้
- ชื่อ: ชื่อที่ตั้งให้กับอุปกรณ์
- ประเภทอุปกรณ์: ประเภทอุปกรณ์ที่เลือก
- ตัวแบ่ง: ตัวแบ่งอุปกรณ์ปัจจุบัน
- รหัสผู้ให้บริการ: รหัสผู้ให้บริการอุปกรณ์ปัจจุบัน
- รหัสผลิตภัณฑ์: รหัสผลิตภัณฑ์ของอุปกรณ์ปัจจุบัน
- พอร์ต RPC: พอร์ต RPC ที่อุปกรณ์ใช้สื่อสารกับคอนโทรลเลอร์ (GUI)
- Matter พอร์ต: พอร์ตที่อุปกรณ์ปัจจุบันใช้เพื่อ สื่อสารผ่านเครือข่าย IP
- รหัสผ่าน: PIN ที่ใช้ในการจัดสรรอุปกรณ์ผ่านเครือข่าย
- โฟลเดอร์การกำหนดค่า: โฟลเดอร์ที่อุปกรณ์เสมือนจัดเก็บการกำหนดค่า
- ข้อมูลการจัดเตรียม: แสดง Fabric ที่อุปกรณ์เข้าร่วมและ รหัสโหนดของอุปกรณ์ใน Fabric
ดูบันทึกของอุปกรณ์
หากคุณเปิดใช้ MVD จากเทอร์มินัล เอาต์พุตบันทึกจะปรากฏ
ใน stdout
นอกจากนี้ คุณยังดูบันทึกของอุปกรณ์ได้ในแท็บบันทึกของอุปกรณ์
หยุดอุปกรณ์
หากต้องการหยุดและทำลายอุปกรณ์ ให้คลิกลบ
สิ้นสุดการทำงานของแอป
การปิดหน้าต่างควบคุมจะทำให้อุปกรณ์เสียหายและปิดแอปพลิเคชัน MVD หากเปิดจากเทอร์มินัล คุณจะยุติแอปพลิเคชันได้ด้วยการพิมพ์ Ctrl-C ในเทอร์มินัล
รับความช่วยเหลือ
หากต้องการรับความช่วยเหลือเกี่ยวกับ MVD รายงานข้อบกพร่อง หรือขอฟีเจอร์ใหม่ โปรดติดต่อผู้ติดต่อฝ่ายสนับสนุนของ Google
การคลิกปุ่มความช่วยเหลือ
ที่มุมขวาบนของหน้าต่างจะนำคุณไปยังหน้านี้รายงานข้อบกพร่อง
หากคุณพบข้อบกพร่องใน MVD คุณสามารถ รายงานข้อบกพร่องได้โดยคลิกปุ่มปัญหา ที่มุมขวาบนของหน้าต่าง
ส่งความคิดเห็น
หากต้องการส่งความคิดเห็นเกี่ยวกับสิ่งที่คุณชอบใน MVD หรือวิธีที่เราจะปรับปรุงประสบการณ์การใช้งานเครื่องมือให้ดียิ่งขึ้น โปรดกรอกแบบฟอร์มความคิดเห็น
คุณเปิดแบบฟอร์มได้จากปุ่มความคิดเห็น
ที่มุมขวาบนของหน้าต่าง หรือโดยคลิกปุ่มด้านล่างนอกจากนี้ คุณยังแสดงความคิดเห็นได้ด้วยแบบสำรวจที่จะปรากฏขึ้นที่ด้านล่างเมื่อคุณใช้ MVD