อุปกรณ์เสมือนจริงกรณี

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 อุปกรณ์ ประเภทที่รองรับสำหรับ MVD
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.deb

macOS

ดาวน์โหลดไฟล์ MVD (macOS x86) .dmg

ดาวน์โหลดไฟล์ MVD (ARM64 M1) dmg

จากนั้นดับเบิลคลิกไฟล์ dmg เพื่อเปิดหน้าต่างการติดตั้ง

หากต้องการติดตั้งให้เสร็จสมบูรณ์ ให้เลือกและลากไอคอน mvd ไปยังโฟลเดอร์ Applications

การติดตั้ง macOS

ตรวจสอบการใช้งานพอร์ต

โมดูลควบคุมใน 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

รันเอ็มวีดี

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

  1. ไปที่เมนู  Apple แล้วเลือกการตั้งค่าระบบ
  2. คลิกเครือข่ายในรายการแถบด้านข้าง
  3. คลิก Firewall
  4. สลับสวิตช์สำหรับไฟร์วอลล์ไปที่ตำแหน่งปิด

เรียกใช้อุปกรณ์

หลังจากกำหนดค่าอุปกรณ์แล้ว ให้คลิกสร้างอุปกรณ์ เมื่อสร้างอุปกรณ์แล้ว หน้าจอ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