Perangkat virtual Matter berguna untuk mengembangkan dan menguji solusi Matter, dan dapat ditugaskan menggunakan Google Home app (GHA), serta dikontrol menggunakan GHA dan Google Assistant, sama seperti perangkat Matter fisik.
Untuk developer aplikasi dan orang lain yang perlu menguji atau mengemulasi perangkat Matter virtual tetapi tidak memiliki resource untuk mem-build perangkat Matter fisik atau virtual mereka sendiri, Google menawarkan Matter Virtual Device (MVD). MVD adalah alat desktop Linux mandiri yang ringan yang menyimulasikan berbagai jenis perangkat Matter virtual dan menyediakan antarmuka pengguna grafis untuk mengontrol dan menampilkan status perangkat Matter virtual.
Tidak seperti perangkat Matter fisik, MVD tidak mengandalkan Bluetooth® Hemat Energi (BLE) atau Thread® untuk menggabungkan fabric Matter. Sebagai gantinya, server akan menggunakan koneksi jaringan Wi-Fi yang sudah ada dari mesin Linux host untuk commissioning.
Dibandingkan dengan alat lainnya
MVD berbeda dengan Virtual Device Controller (VDC) karena merupakan solusi mandiri yang menggabungkan perangkat virtual dengan UI untuk mengontrolnya. Sebaliknya, VDC digunakan untuk mengontrol perangkat Matter virtual terpisah, seperti yang kita build di Matter Virtual Device Development Environment (MVD-DE).
Anda mungkin telah menggunakan codelab MVD-DE. Dalam codelab ini, Anda akan mem-build satu jenis perangkat virtual, yaitu bohlam smart. Sebaliknya, MVD berisi beberapa perangkat virtual bawaan yang berbeda dan menyertakan UI terintegrasi untuk menjalankan dan mengontrolnya.
MVD | VDC | MVD-DE (Codelab) | |
---|---|---|---|
Emulasi perangkat Matter | |||
Mengontrol perangkat Matter yang diemulasi | |||
Upaya pengembangan yang diperlukan | |||
Download | kurang dari 100 MB | 9 GB | 20 GB |
Perangkat yang didukung
Saat ini, MVD mendukung jenis perangkat Matter berikut:
Matter Jenis Perangkat | Cluster Aplikasi | Jenis Ekosistem Rumah |
---|---|---|
Suhu Warna Terang |
0x0300 0x0008 0x0006 |
Terang |
Cahaya Redup |
0x0008 0x0006 |
Terang |
Lampu Warna yang Diperluas |
0x0300 0x0008 0x0006 |
Terang |
Sensor Kehadiran |
0x0406 |
Sensor |
Lampu Aktif/Nonaktif |
0x0008 0x0006 |
Terang |
Unit Plugin Aktif/Nonaktif |
0x0008 0x0006 |
Outlet |
Menginstal MVD
MVD berjalan pada mesin prosesor x86 64-bit yang menjalankan Debian (11 atau yang lebih baru) atau Ubuntu (20.04 atau yang lebih baru).
Untuk menginstalnya:
Download paket MVD Debian (.deb)
Download file tanda tangan armored-ASCII (.asc)
Kemudian, jalankan dpkg
untuk menginstal paket Debian (.deb) MVD:
sudo dpkg -i mvd_1.1.0_amd64.deb
Memeriksa penggunaan port
Modul pengontrol di MVD menggunakan port TCP 33000 untuk melakukan panggilan RPC ke perangkat virtual, jadi jika port ini sudah digunakan oleh proses lain di komputer Anda, pastikan untuk mengosongkannya.
Untuk melihat apakah ada proses yang menggunakan port 33000:
sudo fuser -v 33000/tcp
Anda dapat mematikan proses apa pun menggunakan TCP port 33000 dengan satu perintah:
sudo fuser -k 33000/tcp
Jalankan MVD
Jalankan MVD dari folder aplikasi Anda atau dari terminal:
mvd
Mengonfigurasi perangkat
Layar utama akan muncul saat peluncuran, dan memungkinkan Anda mengonfigurasi perangkat virtual:
- Device Type: Pilih jenis perangkat (misalnya, Lampu, Tombol, Sensor, dan sebagainya).
- Nama Perangkat: Memberi perangkat nama yang mudah digunakan.
- Diskriminator: Angka 12-bit yang digunakan untuk membedakan antara beberapa
iklan perangkat yang dapat ditugaskan. (Default:
3840
). - Port Matter: Port untuk commissioning dan komunikasi Matter melalui jaringan IP. Matter menggunakan port TCP/UDP 5540 secara default, tetapi Anda dapat mengonfigurasi perangkat virtual agar menggunakan port yang berbeda, selama tidak ada layanan lain yang menggunakannya.
- ID Vendor: Saat ini hanya ID vendor pengujian
0xFFF1
yang didukung. - ID Produk: Saat ini hanya mendukung ID produk pengujian
0x8000
hingga0x801F
.
Konfigurasikan firewall Anda
Jika Anda memiliki firewall yang berjalan di komputer, matikan atau izinkan koneksi TCP/UDP masuk di port Matter.
Untuk melihat aturan firewall netfilter yang aktif saat ini, jalankan:
sudo iptables -L -n
Catatan: Jika Anda menggunakan ufw
, fitur ini dapat dinonaktifkan dengan:
sudo ufw disable
Dan dapat diaktifkan kembali dengan:
sudo ufw enable
Jalankan perangkat Anda
Setelah perangkat dikonfigurasi, klik Buat perangkat. Saat perangkat dibuat, layar Controller akan muncul. Bergantung pada jenis perangkat yang dipilih, Anda mungkin akan melihat satu atau beberapa kontrol berikut:
- Aktif/Nonaktif: Umum di sebagian besar perangkat.
- Level: Misalnya, lampu dapat memiliki penggeser level untuk menyesuaikan kecerahan.
- Warna: Misalnya, lampu warna dapat memiliki kontrol ini.
- Jumlah Tamu: Sensor Kehadiran menawarkan kontrol ini, untuk menyimulasikan status terisi/tidak ada.
Semua perangkat virtual memiliki kontrol berikut:
- QRCode: Menunjukkan kode QR yang digunakan untuk melakukan commissioning.
- Mulai ulang: Memulai ulang perangkat virtual. Perangkat terputus dari jaringan sebentar.
- Reset: Mereset perangkat saat ini ke setelan pabrik dan menghapus semua status, termasuk commissioning, status kontrol saat ini, dan sebagainya
- Delete: Menghancurkan perangkat dan kembali ke layar Create device.
Tetapkan perangkat Anda
Perangkat dapat ditugaskan segera setelah dibuat.
Ada beberapa prasyarat untuk commissioning perangkat:
Anda harus memiliki project di Google Home Developer Console. Project ini harus berisi integrasi Matter yang memiliki kombinasi VID/PID yang sama seperti yang Anda gunakan dalam menyiapkan perangkat virtual. Lihat panduan pembuatan project untuk mengetahui detailnya.
Anda harus memiliki Google Nest Hub yang mendukung Matter
Anda harus memiliki ponsel Android yang menjalankan Android 8.1 atau yang lebih baru, dengan menginstal GHA.
Ponsel Android harus terhubung ke jaringan Wi-Fi yang sama dengan hub.
Mesin host harus terhubung ke jaringan Wi-Fi.
Untuk melakukan commissioning pada perangkat menggunakan GHA, klik QRCode untuk menampilkan kode QR perangkat, lalu ikuti petunjuk dalam Menyambungkan perangkat Matter yang menjelaskan cara mengaktivasi perangkat Matter menggunakan GHA. Anda juga dapat melakukan commissioning untuk perangkat menggunakan Google Home Sample App for Matter.
Lihat Matter Primer kami untuk mempelajari cara kerja Commissioning Matter.
Mengontrol perangkat
Setelah memesan perangkat virtual, Anda dapat mengontrol perangkat menggunakan Aplikasi Google Home atau Asisten Google dengan suara. Anda dapat:
- Kontrol perangkat melalui GHA atau Assistant sambil memantau perubahan status di perangkat virtual, atau
- Kontrol perangkat menggunakan Sample App for Matter sambil memantau perubahan status di perangkat virtual,atau
- Kontrol status perangkat melalui MVD itu sendiri sambil memantau perubahan status di GHA atau Assistant.
Menguji dengan perangkat
Untuk melakukan pengujian dengan Assistant, sebaiknya gunakan simulator ucapan seperti Ekstensi Google Home untuk VS Code atau Plugin Google Home untuk Android Studio.
Melihat detail perangkat
Layar Detail perangkat menampilkan informasi perangkat mendetail:
- Nama: Nama ramah yang diberikan ke perangkat.
- Device Type: Jenis perangkat yang dipilih.
- Disriminator: Diskriminator perangkat saat ini.
- ID Vendor: ID vendor perangkat saat ini.
- ID Produk: ID produk perangkat saat ini.
- Port RPC: Port RPC yang berkomunikasi dengan perangkat dengan pengontrol (GUI).
- Port Matter: Port yang digunakan oleh perangkat saat ini untuk berkomunikasi melalui jaringan IP.
- Kode Sandi: PIN yang digunakan untuk melakukan commissioning pada perangkat melalui jaringan.
- Configuration Folder: Folder yang digunakan perangkat virtual untuk menyimpan konfigurasi.
- Commission Information: Menunjukkan fabric yang bergabung dengan perangkat dan ID node perangkat pada fabric
Lihat log perangkat
Jika Anda meluncurkan MVD dari terminal, output log akan muncul
pada stdout
.
Anda juga dapat melihat log perangkat di tab Device logs.
Hentikan perangkat
Untuk menghentikan dan menghancurkan perangkat, klik Hapus.
Menghentikan aplikasi
Menutup jendela kontrol akan menghapus perangkat dan menghentikan aplikasi MVD. Jika meluncurkan dari terminal, Anda juga dapat menghentikan aplikasi dengan mengetik Ctrl-C di terminal.
Mendapatkan bantuan
Untuk mendapatkan bantuan terkait MVD, melaporkan bug, atau meminta fitur baru, hubungi kontak dukungan Google Anda.
Mengklik tombol bantuan
di sudut kanan atas jendela akan membawa Anda ke halaman ini.Laporkan bug
Jika Anda merasa telah menemukan kerusakan di MVD, Anda dapat melaporkan bug dengan mengklik tombol Masalah di pojok kanan atas jendela.
Kirim masukan
Untuk mengirimkan pendapat Anda tentang hal yang Anda sukai dari MVD atau bagaimana kami dapat meningkatkan pengalaman Anda dengan alat ini, lengkapi Formulir Masukan kami.
Formulir dapat diluncurkan dari tombol
masukan di sudut kanan atas jendela, atau dengan mengklik tombol di bawah ini.Kirim masukan Anda kepada kami