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

กรณี SDK ของอุปกรณ์

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® เพื่อร่วมใช้ผ้า Matter แต่จะใช้โฮสต์แทน การเชื่อมต่อเครือข่าย Wi-Fi ที่มีอยู่ของเครื่อง Linux หรือ macOS สำหรับการว่าจ้าง

เทียบกับเครื่องมืออื่นๆ

MVD แตกต่างจาก Virtual Device Controller (VDC) อยู่ในนั้น เป็นโซลูชันที่ทำงานได้ด้วยตนเอง โดยผสานอุปกรณ์เสมือนเข้ากับ UI กำลังควบคุมอยู่ ในทางตรงกันข้าม VDC ใช้เพื่อควบคุมอุปกรณ์ Matter เสมือนแยกต่างหาก เช่น อุปกรณ์ที่เราสร้างใน Matter Virtual Device Development Environment (MVD-DE)

คุณอาจใช้งาน Codelab ของ MVD-DE อยู่แล้ว ด้วยวิธีนี้ Codelab ให้คุณสร้างอุปกรณ์เสมือนชนิดเดียว ซึ่งก็คือหลอดไฟอัจฉริยะ 1 ดวง ใน ตรงกันข้าม พารามิเตอร์ MVD ที่สร้างไว้ล่วงหน้าหลายรายการ อุปกรณ์เสมือนและมี UI ที่ผสานรวมไว้เพื่อเรียกใช้และควบคุมอุปกรณ์

ตาราง: การเปรียบเทียบเครื่องมือสำหรับอุปกรณ์ Matter เสมือน
MVD VDC MVD-DE (Codelab)
จำลองอุปกรณ์ Matter
ควบคุมอุปกรณ์ Matter ที่จำลอง
ต้องมีการดำเนินการพัฒนา
ดาวน์โหลด น้อยกว่า 100 MB 9 GB 20 GB

อุปกรณ์ที่รองรับ

MVD รองรับ Matter ต่อไปนี้ ประเภทอุปกรณ์:

ตาราง: อุปกรณ์ Matter เครื่อง ประเภทที่รองรับสำหรับ MVD
Matter ประเภทอุปกรณ์ คลัสเตอร์แอปพลิเคชัน ประเภทระบบนิเวศในบ้าน
วิดีโอเพลเยอร์พื้นฐาน 0x0006
0x0506
0x0509
ทีวี
หลอดไฟปรับอุณหภูมิสี 0x0300
0x0008
0x0006
เบา
เซ็นเซอร์รายชื่อติดต่อ 0x0045
เซ็นเซอร์
หรี่ไฟได้ 0x0008
0x0006
เบา
ตัวล็อกประตู 0x0101
ล็อก
แสงสีส่วนเพิ่ม 0x0300
0x0008
0x0006
เบา
พัดลม 0x0202
0x0006
มีพัดลม
เซ็นเซอร์การไหล 0x0404
เซ็นเซอร์
สวิตช์ทั่วไป 0x003b
เปลี่ยน
เซ็นเซอร์วัดความชื้น 0x0405
เซ็นเซอร์
เซ็นเซอร์แสง 0x0400
เซ็นเซอร์
เซ็นเซอร์ตรวจจับการมีคนอยู่ 0x0406
เซ็นเซอร์
เปิด/ปิดไฟ 0x0008
0x0006
เบา
สวิตช์เปิด/ปิดไฟ 0x0006
เปลี่ยน
ชุดปลั๊กเปิด/ปิด 0x0008
0x0006
เต้ารับ
เซ็นเซอร์วัดความดัน 0x0403
เซ็นเซอร์
ปั๊ม 0x0006
0x0200
0x0402
0x0403
0x0404
ปั๊มน้ำ
หุ่นยนต์ดูดฝุ่น 0x0054
0x0055
0x0061
เครื่องดูดฝุ่น
เครื่องปรับอากาศติดห้อง 0x0006
0x0201
0x0202
Ac
สัญญาณเตือนควันคาร์บอนมอนอกไซด์ 0x005C
ควัน
เซ็นเซอร์อุณหภูมิ 0x0402
เซ็นเซอร์
ตัวควบคุมอุณหภูมิ 0x0201
ตัวควบคุมอุณหภูมิ
อุปกรณ์ตกแต่งหน้าต่าง 0x0102
ม่าน

ติดตั้ง MVD

MVD ทำงานบนเครื่องประมวลผล 64 บิต x86 ที่ใช้ Debian (11 ขึ้นไป), Ubuntu (20.04 ขึ้นไป) หรือ macOS

Linux

ดาวน์โหลดแพ็กเกจ MVD Debian (.deb)

ดาวน์โหลดไฟล์ลายเซ็น ASCII แบบขยาย (.asc)

จากนั้นเรียกใช้ dpkg เพื่อติดตั้ง MVD แพ็กเกจ Debian (.deb):

sudo dpkg -i mvd_1.4.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

เรียกใช้ 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. คลิกไฟร์วอลล์
  4. สลับสวิตช์ไฟร์วอลล์ไปที่ตำแหน่งปิด

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

หลังจากกำหนดค่าอุปกรณ์แล้ว ให้คลิกสร้างอุปกรณ์ เมื่ออุปกรณ์กำลัง หน้าจอตัวควบคุมจะปรากฏขึ้น คุณอาจเห็นตัวควบคุมอย่างน้อย 1 รายการต่อไปนี้ ทั้งนี้ขึ้นอยู่กับประเภทอุปกรณ์ที่เลือก

  • เปิด/ปิด: เหมือนกันกับอุปกรณ์ส่วนใหญ่
  • ระดับ: เช่น ไฟอาจมีแถบเลื่อนระดับเพื่อปรับ ความสว่าง
  • สี: เช่น ไฟสีอาจมีการควบคุมนี้
  • การมีคนอยู่: เซ็นเซอร์ตรวจจับการมีคนอยู่มีตัวควบคุมนี้เพื่อจำลอง สถานะที่ไม่มีคนอยู่หรือไม่มีคนอยู่

อุปกรณ์เสมือนทั้งหมดมีการควบคุมต่อไปนี้

  • QRCode: แสดงคิวอาร์โค้ดที่ใช้เพื่อจัดเตรียมระบบ
  • รีบูต: รีสตาร์ทอุปกรณ์เสมือน อุปกรณ์ไม่ได้เชื่อมต่ออยู่ จากเครือข่ายเป็นเวลาสั้นๆ
  • รีเซ็ต: รีเซ็ตอุปกรณ์ปัจจุบันเป็นค่าเริ่มต้นและล้างสถานะทั้งหมด รวมถึง การว่าจ้าง สถานะการควบคุมปัจจุบัน และอื่นๆ
  • ลบ: ทำลายอุปกรณ์และกลับไปที่หน้าจอสร้างอุปกรณ์

การควบคุมอุปกรณ์เสมือน
หน้าจอ

เตรียมอุปกรณ์ให้พร้อมใช้งาน

อุปกรณ์จะใช้งานได้ทันทีที่สร้าง

ข้อกำหนดเบื้องต้นในการใช้งานอุปกรณ์มี 2 ประการดังนี้

  • คุณต้องมีโปรเจ็กต์ใน Google Home Developer Console โปรเจ็กต์นี้ต้อง มีการผสานรวม Matter ที่มี VID/PID เดียวกัน โดยใช้ร่วมกันในการตั้งค่าอุปกรณ์เสมือน โปรดดู คู่มือการสร้างโปรเจ็กต์เพื่อดูรายละเอียด

  • คุณต้องมี Google Nest Hub ที่รองรับ กรณี

  • คุณต้องมีโทรศัพท์ 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 Plugin for Android Studio

ดูรายละเอียดอุปกรณ์

หน้าจอรายละเอียดอุปกรณ์จะแสดงข้อมูลอุปกรณ์โดยละเอียดดังนี้

  • ชื่อ: ชื่อที่จำง่ายให้กับอุปกรณ์
  • ประเภทอุปกรณ์: ประเภทอุปกรณ์ที่เลือก
  • ตัวคั่น: เครื่องมือเลือกอุปกรณ์ปัจจุบัน
  • รหัสผู้ให้บริการ: รหัสผู้ให้บริการอุปกรณ์ปัจจุบัน
  • รหัสผลิตภัณฑ์: รหัสผลิตภัณฑ์ของอุปกรณ์ปัจจุบัน
  • พอร์ต RPC: พอร์ต RPC ที่อุปกรณ์สื่อสารกับตัวควบคุม (GUI)
  • Matter พอร์ต: พอร์ตที่อุปกรณ์ปัจจุบันใช้เพื่อ สื่อสารผ่านเครือข่าย IP
  • รหัสผ่าน: PIN ที่ใช้เพื่อจัดเตรียมอุปกรณ์ผ่านเครือข่าย
  • โฟลเดอร์การกำหนดค่า: โฟลเดอร์ที่อุปกรณ์เสมือนจัดเก็บไว้ การกำหนดค่า
  • ข้อมูลการมอบหมาย: แสดง Fabric ที่อุปกรณ์เข้าร่วมและรหัสโหนดของอุปกรณ์ใน Fabric

ดูบันทึกของอุปกรณ์

หากคุณเปิดใช้ MVD จากเทอร์มินัล เอาต์พุตบันทึกจะปรากฏขึ้น ในวันที่ stdout คุณสามารถดูบันทึกของอุปกรณ์ในแท็บบันทึกอุปกรณ์ได้เช่นกัน

หยุดอุปกรณ์

หากต้องการหยุดและทำลายอุปกรณ์ ให้คลิกลบ

ยุติแอป

การปิดหน้าต่างควบคุมจะทำลายอุปกรณ์และสิ้นสุด MVD แอปพลิเคชัน หากคุณเปิดใช้จากเครื่องอ่านบัตร คุณสามารถ หยุดแอปพลิเคชันโดยพิมพ์ Ctrl-C ในเทอร์มินัลด้วย

รับความช่วยเหลือ

หากต้องการความช่วยเหลือเกี่ยวกับ MVD รายงานข้อบกพร่อง หรือ สำหรับฟีเจอร์ใหม่ โปรดติดต่อทีมสนับสนุนของ Google

คลิกปุ่มความช่วยเหลือ ใน ที่มุมบนขวาของหน้าต่างจะนำคุณไปยังหน้านี้

รายงานข้อบกพร่อง

หากคุณคิดว่าพบข้อบกพร่องใน MVD คุณสามารถ รายงานข้อบกพร่องโดยคลิกปัญหา ที่มุมบนขวาของหน้าต่าง

ส่งความคิดเห็น

เพื่อส่งความคิดเห็นว่าคุณชอบอะไรเกี่ยวกับ MVD หรืออย่างไร เราจะปรับปรุงประสบการณ์ที่คุณได้รับจากเครื่องมือนี้ได้ โปรดกรอกแบบฟอร์มความคิดเห็น

คุณเปิดแบบฟอร์มได้จากปุ่มความคิดเห็น ที่มุมขวาบนของหน้าต่าง หรือคลิกปุ่มด้านล่าง

ส่งความคิดเห็นถึงเรา