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 ที่ผสานรวมไว้เพื่อเรียกใช้และควบคุมอุปกรณ์
MVD | VDC | MVD-DE (Codelab) | |
---|---|---|---|
จำลองอุปกรณ์ Matter | |||
ควบคุมอุปกรณ์ Matter ที่จำลอง | |||
ต้องมีการดำเนินการพัฒนา | |||
ดาวน์โหลด | น้อยกว่า 100 MB | 9 GB | 20 GB |
อุปกรณ์ที่รองรับ
MVD รองรับ Matter ต่อไปนี้ ประเภทอุปกรณ์:
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
:
ตรวจสอบการใช้งานพอร์ต
โมดูลตัวควบคุมใน 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 แล้วเลือกการตั้งค่าระบบ
- คลิกเครือข่ายในรายการแถบด้านข้าง
- คลิกไฟร์วอลล์
- สลับสวิตช์ไฟร์วอลล์ไปที่ตำแหน่งปิด
เรียกใช้อุปกรณ์ของคุณ
หลังจากกำหนดค่าอุปกรณ์แล้ว ให้คลิกสร้างอุปกรณ์ เมื่ออุปกรณ์กำลัง หน้าจอตัวควบคุมจะปรากฏขึ้น คุณอาจเห็นตัวควบคุมอย่างน้อย 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 หรืออย่างไร เราจะปรับปรุงประสบการณ์ที่คุณได้รับจากเครื่องมือนี้ได้ โปรดกรอกแบบฟอร์มความคิดเห็น
คุณเปิดแบบฟอร์มได้จากปุ่มความคิดเห็น
ที่มุมขวาบนของหน้าต่าง หรือคลิกปุ่มด้านล่าง