อุปกรณ์เสมือน Matter

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

macOS

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

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

จากนั้นดับเบิลคลิกไฟล์ 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

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

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

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

หลังจากกำหนดค่าอุปกรณ์แล้ว ให้คลิกสร้างอุปกรณ์ เมื่อสร้างอุปกรณ์แล้ว หน้าจอตัวควบคุมจะปรากฏขึ้น คุณอาจเห็นตัวควบคุมต่อไปนี้อย่างน้อย 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 ได้ด้วย