Matter อุปกรณ์เสมือนมีประโยชน์ในการพัฒนาและทดสอบ Matterโซลูชัน และสามารถจัดสรรได้โดยใช้ Google Home app (GHA) และควบคุมโดยใช้ GHA และ Google Assistant เช่นเดียวกับอุปกรณ์ Matter จริง
สำหรับนักพัฒนาแอปและคนอื่นๆ ที่ต้องการทดสอบหรือจำลองอุปกรณ์เสมือน Matter แต่ไม่มีทรัพยากรในการสร้างอุปกรณ์จริงหรือ เสมือน Matterของตนเอง Google มี Matter Virtual Device (MVD) ให้ MVD เป็นเครื่องมือเดสก์ท็อปแบบสแตนด์อโลนขนาดเล็กสำหรับ Linux หรือ macOS ที่จำลองMatterเสมือนประเภทต่างๆ และมีอินเทอร์เฟซผู้ใช้แบบกราฟิกเพื่อควบคุมและแสดงสถานะของอุปกรณ์ Matterเสมือน
MVD ไม่เหมือนกับอุปกรณ์ Matter จริง เนื่องจากไม่ได้ใช้บลูทูธพลังงานต่ำ (BLE) หรือ Thread® เพื่อเข้าร่วม Fabric ของ 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 |
ตัวตรวจจับคาร์บอนมอนอกไซด์
ตัวตรวจจับควัน |
| เซ็นเซอร์อุณหภูมิ |
0x0402 |
เซ็นเซอร์ |
| ตัวควบคุมอุณหภูมิ |
0x0201 |
ตัวควบคุมอุณหภูมิ |
| ม่านบังตา |
0x0102 |
ม่าน |
ติดตั้ง MVD
MVD ทำงานบนเครื่องประมวลผล x86 64 บิตที่ใช้ Debian
(13 Trixie ขึ้นไป), Ubuntu (20.04 Noble Numbat ขึ้นไป) หรือ macOS
Linux
ดาวน์โหลดแพ็กเกจ Debian (.deb) ของ MVD
ดาวน์โหลดไฟล์ลายเซ็น ASCII ที่หุ้มเกราะ (.asc)
จากนั้นเรียกใช้ dpkg เพื่อติดตั้งแพ็กเกจ MVD
Debian (.deb)
sudo dpkg -i mvd_1.7.0_amd64.debmacOS
ดาวน์โหลดไฟล์ MVD (macOS x86) .dmg
ดาวน์โหลดไฟล์ MVD (ARM64 M1) dmg
จากนั้นดับเบิลคลิกไฟล์ 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 killรันเอ็มวีดี
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
- สลับสวิตช์สำหรับไฟร์วอลล์ไปที่ตำแหน่งปิด
เรียกใช้อุปกรณ์
หลังจากกำหนดค่าอุปกรณ์แล้ว ให้คลิกสร้างอุปกรณ์ เมื่อสร้างอุปกรณ์แล้ว หน้าจอController จะปรากฏขึ้น คุณอาจเห็นตัวควบคุมอย่างน้อย 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 เพื่อแสดงรหัส QR ของอุปกรณ์ จากนั้นทำตามคำแนะนำในหัวข้อจับคู่อุปกรณ์ 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