Perangkat virtual Matter berguna untuk mengembangkan dan menguji solusi Matter, dan dapat diaktifkan menggunakan Google Home app (GHA), serta dikontrol menggunakan GHA dan Google Assistant, 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 atau macOS mandiri yang ringan dan menyimulasikan berbagai jenis perangkat Matter virtual serta menyediakan antarmuka pengguna grafis untuk mengontrol dan menampilkan status perangkat Matter virtual.
Tidak seperti perangkat Matter fisik, MVD tidak mengandalkan Bluetooth® Low Energy (BLE) atau Thread® untuk bergabung dengan fabric Matter. Sebagai gantinya, perangkat ini menggunakan koneksi jaringan Wi-Fi yang ada di mesin Linux atau macOS host untuk commissioning.
Dibandingkan dengan alat lain
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 mengerjakan 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) | |
---|---|---|---|
Mengemulasikan perangkat Matter | |||
Mengontrol perangkat Matter yang diemulasikan | |||
Perlu upaya pengembangan | |||
Download | kurang dari 100 MB | 9 GB | 20 GB |
Perangkat yang didukung
MVD mendukung jenis perangkat Matter berikut:
Matter Jenis Perangkat | Cluster Aplikasi | Jenis Ekosistem Rumah |
---|---|---|
Pemutar Video Dasar |
0x0006 0x0506 0x0509 |
Tv |
Lampu Suhu Warna |
0x0300 0x0008 0x0006 |
Ringan |
Sensor Kontak |
0x0045 |
Sensor |
Lampu yang Dapat Diredupkan |
0x0008 0x0006 |
Ringan |
Kunci Pintu |
0x0101 |
Kunci |
Lampu Warna yang Diperluas |
0x0300 0x0008 0x0006 |
Ringan |
Kipas |
0x0202 0x0006 |
Kipas |
Sensor Aliran |
0x0404 |
Sensor |
Tombol Umum |
0x003b |
Ganti |
Sensor Kelembapan |
0x0405 |
Sensor |
Sensor Cahaya |
0x0400 |
Sensor |
Sensor Kehadiran |
0x0406 |
Sensor |
Lampu Aktif/Nonaktif |
0x0008 0x0006 |
Ringan |
Sakelar Lampu Aktif/Nonaktif |
0x0006 |
Ganti |
Unit Plugin Aktif/Nonaktif |
0x0008 0x0006 |
Outlet |
Sensor Tekanan |
0x0403 |
Sensor |
Pompa |
0x0006 0x0200 0x0402 0x0403 0x0404 |
Pompa Air |
Robot Penyedot Debu |
0x0054 0x0055 0x0061 |
Penyedot Debu |
AC Ruangan |
0x0006 0x0201 0x0202 |
Ac |
Alarm Asap dan Gas CO |
0x005C |
Asap |
Sensor Suhu |
0x0402 |
Sensor |
Termostat |
0x0201 |
Termostat |
Penutup Jendela |
0x0102 |
Tirai |
Menginstal MVD
MVD berjalan di komputer prosesor x86 64-bit yang menjalankan Debian (11 atau yang lebih baru), Ubuntu (20.04 atau yang lebih baru), atau macOS.
Linux
Download paket Debian (.deb) MVD
Download file tanda tangan ASCII berarmor (.asc)
Kemudian, jalankan dpkg
untuk menginstal paket
Debian (.deb) MVD:
sudo dpkg -i mvd_1.4.0_amd64.deb
macOS
Mendownload file dmg MVD (macOS x86)
Mendownload file dmg MVD (ARM64 M1)
Kemudian, klik dua kali file dmg
untuk membuka jendela
penginstalan.
Untuk menyelesaikan penginstalan, pilih dan tarik ikon mvd
ke
folder Applications
:
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:
Linux
sudo fuser -v 33000/tcp
macOS
lsof -i:33000
Anda dapat menghentikan proses apa pun menggunakan port TCP 33000 dengan satu perintah:
Linux
sudo fuser -k 33000/tcp
macOS
lsof -ti:33000 | xargs kill
Menjalankan MVD
Linux
Di Linux, jalankan MVD dari folder aplikasi atau dari terminal:
mvd
macOS
Di macOS, gunakan Launchpad untuk membuka MVD atau jalankan MVD dari terminal:
cd /Applications
open mvd.app
Mengonfigurasi perangkat
Layar utama akan muncul saat diluncurkan, dan memungkinkan Anda mengonfigurasi perangkat virtual:
- Jenis Perangkat: Pilih jenis perangkat (misalnya, Lampu, Tombol, Sensor, dan sebagainya).
- Nama Perangkat: Berikan nama yang mudah digunakan untuk perangkat.
- Pembeda: Angka 12-bit yang digunakan untuk membedakan antara beberapa
iklan perangkat yang dapat memperoleh komisi. (Default:
3840
). - Port Matter: Port untuk komisioning dan komunikasi Matter melalui jaringan IP. Matter menggunakan port TCP/UDP 5540 secara default, tetapi Anda dapat mengonfigurasi perangkat virtual untuk menggunakan port yang berbeda, selama tidak ada layanan lain yang menggunakannya.
- ID Vendor: Hanya ID vendor pengujian
0xFFF1
yang didukung. - ID Produk: Hanya ID produk pengujian
0x8000
hingga0x801F
yang didukung.
Mengonfigurasi firewall
Linux
Jika Anda memiliki firewall yang berjalan di komputer, nonaktifkan, atau izinkan koneksi TCP/UDP masuk di port Matter.
Untuk melihat aturan firewall netfilter yang aktif saat ini, jalankan:
sudo iptables -L -n
Jika Anda menggunakan `ufw`, Anda dapat menonaktifkannya dengan:
sudo ufw disable
Dan dapat diaktifkan kembali dengan:
sudo ufw enable
macOS
Untuk mengonfigurasi atau menonaktifkan firewall di macOS:
- Buka menu Apple dan pilih System Settings.
- Klik Jaringan di daftar sidebar.
- Klik Firewall.
- Alihkan tombol untuk Firewall ke posisi Nonaktif.
Menjalankan perangkat
Setelah perangkat dikonfigurasi, klik Create device. Saat perangkat dibuat, layar Pengontrol akan muncul. Bergantung pada jenis perangkat yang Anda pilih, Anda mungkin melihat satu atau beberapa kontrol berikut:
- Aktif/Nonaktif: Umum untuk sebagian besar perangkat.
- Tingkat: Misalnya, lampu dapat memiliki penggeser tingkat untuk menyesuaikan kecerahan.
- Warna: Misalnya, lampu warna dapat memiliki kontrol ini.
- Kehadiran: Sensor Kehadiran menawarkan kontrol ini, untuk menyimulasikan status ada orang atau tidak ada orang.
Semua perangkat virtual memiliki kontrol berikut:
- QRCode: Menampilkan kode QR yang digunakan untuk commissioning.
- Mulai ulang: Memulai ulang perangkat virtual. Perangkat terputus dari jaringan untuk sementara.
- Reset: Mereset perangkat saat ini ke setelan pabrik dan menghapus semua status, termasuk commissioning, status kontrol saat ini, dan sebagainya
- Hapus: Menghancurkan perangkat dan kembali ke layar Buat perangkat.
Mengonfigurasi perangkat
Perangkat dapat menerima komisi segera setelah dibuat.
Ada beberapa prasyarat untuk mengaktifkan perangkat:
Anda harus memiliki project di Google Home Developer Console. Project ini harus berisi integrasi Matter yang memiliki kombinasi VID/PID yang sama dengan 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 GHA terinstal.
Ponsel Android harus terhubung ke jaringan Wi-Fi yang sama dengan hub.
Komputer host harus terhubung ke jaringan Wi-Fi.
Untuk mengaktifkan perangkat menggunakan GHA, klik QRCode untuk menampilkan kode QR perangkat, lalu ikuti petunjuk di Sambungkan perangkat Matter yang menjelaskan cara melakukan aktivasi perangkat Matter menggunakan GHA. Anda juga dapat mengaktifkan perangkat menggunakan Google Home Sample App for Matter.
Lihat Panduan Matter untuk mempelajari cara kerja Komisioning Matter.
Mengontrol perangkat
Setelah mengaktifkan perangkat virtual, Anda dapat mengontrol perangkat menggunakan Aplikasi Google Home atau Asisten Google dengan suara. Anda dapat:
- Mengontrol perangkat melalui GHA atau Assistant sambil memantau perubahan status di perangkat virtual, atau
- Mengontrol perangkat menggunakan Sample App for Matter sambil memantau perubahan status pada perangkat virtual,atau
- Kontrol status perangkat melalui MVD itu sendiri saat memantau perubahan status di GHA atau Assistant.
Menguji dengan perangkat
Untuk menguji 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 yang mendetail:
- Nama: Nama yang diberikan ke perangkat.
- Jenis Perangkat: Jenis perangkat yang dipilih.
- Diskriminator: Diskriminator perangkat saat ini.
- ID Vendor: ID vendor perangkat saat ini.
- ID Produk: ID produk perangkat saat ini.
- Port RPC: Port RPC yang digunakan perangkat untuk berkomunikasi dengan pengontrol (GUI).
- Port Matter: Port yang digunakan oleh perangkat saat ini untuk berkomunikasi melalui jaringan IP.
- Kode Sandi: PIN yang digunakan untuk mengaktifkan perangkat melalui jaringan.
- Folder Konfigurasi: Folder tempat perangkat virtual menyimpan konfigurasi.
- Informasi Komisi: Menampilkan fabric yang ditambahkan perangkat dan ID node perangkat di fabric.
Melihat log perangkat
Jika Anda meluncurkan MVD dari terminal, output log akan muncul
di stdout
.
Anda juga dapat melihat log perangkat di tab Log perangkat.
Menghentikan perangkat
Untuk menghentikan dan menghancurkan perangkat, klik Hapus.
Menghentikan aplikasi
Menutup jendela kontrol akan menghancurkan perangkat dan menghentikan aplikasi MVD. Jika diluncurkan dari terminal, Anda juga dapat menghentikan aplikasi dengan mengetik Ctrl-C di terminal.
Dapatkan 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 mengarahkan Anda ke halaman ini.Laporkan bug
Jika merasa telah menemukan cacat pada MVD, Anda dapat melaporkan bug dengan mengklik tombol Masalah di sudut kanan atas jendela.
Kirim masukan
Untuk menyampaikan pendapat Anda tentang hal-hal yang Anda sukai dari MVD atau cara 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.