Perangkat Virtual Materi

Kasus SDK Perangkat

Perangkat virtual Matter berguna untuk pengembangan dan pengujian Matter, dan dapat ditugaskan menggunakan Google Home app (GHA), dan dikontrol menggunakan GHA dan Google Assistant, sama seperti Matter fisik perangkat.

Untuk developer aplikasi dan pengguna lain yang perlu menguji atau mengemulasikan aplikasi virtual Matter perangkat tetapi tidak memiliki resource untuk membuat versinya sendiri fisik atau perangkat virtual Matter, Google menawarkan Matter Virtual Device (MVD). MVD adalah alat desktop Linux atau macOS mandiri yang ringan yang menyimulasikan berbagai jenis perangkat Matter virtual dan memberikan antarmuka pengguna untuk mengontrol dan menampilkan status virtual Matter perangkat.

Tidak seperti perangkat Matter fisik, MVD tidak bergantung pada Bluetooth® Hemat Energi (BLE) atau Thread® untuk menggabungkan fabric Matter. Sebagai gantinya, perangkat ini menggunakan koneksi jaringan Wi-Fi yang ada di mesin Linux atau macOS host untuk commissioning.

Dibandingkan dengan alat lainnya

MVD berbeda dengan Virtual Device Controller (VDC) di dalamnya adalah solusi mandiri yang menggabungkan perangkat virtual dengan UI untuk mengendalikannya. Sebaliknya, VDC digunakan untuk mengontrol perangkat Matter virtual terpisah, seperti yang yang kita buat di Matter Virtual Device Development Environment (MVD-DE).

Anda mungkin sudah menggunakan codelab MVD-DE. Di sini codelab, Anda akan membangun satu jenis perangkat virtual, yaitu bohlam smart. Di beberapa MVD berisi beberapa jenis template bawaan perangkat virtual dan menyertakan UI terintegrasi untuk menjalankan dan mengontrolnya.

Tabel: Perbandingan alat perangkat Matter virtual
MVD VDC MVD-DE (Codelab)
Emulasikan perangkat Matter
Mengontrol perangkat Matter yang diemulasi
Perlu upaya pengembangan
Download kurang dari 100 MB 9 GB 20 GB

Perangkat yang didukung

MVD mendukung Matter berikut jenis perangkat:

Tabel: Matter perangkat jenis yang didukung untuk MVD
Matter Jenis Perangkat Cluster Aplikasi Jenis Ekosistem Rumah
Pemutar Video Dasar 0x0006
0x0506
0x0509
TV
Suhu Warna Terang 0x0300
0x0008
0x0006
Ringan
Sensor Kontak 0x0045
Sensor
Lampu yang Dapat Diredupkan 0x0008
0x0006
Ringan
Kunci Pintu 0x0101
Kunci
Warna Terang yang Diperpanjang 0x0.300
0x0008
0x0006
Ringan
Kipas 0x0202
0x0006
Kipas
Sensor Aliran 0x0404
Sensor
Tombol Generik 0x003b
Ganti
Sensor Kelembapan 0x0405
Sensor
Sensor Cahaya 0x0400
Sensor
Sensor Kehadiran 0x0406
Sensor
Lampu Nyala/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 CO 0x005C
Asap
Sensor Suhu 0x0402
Sensor
Termostat 0x0201
Termostat
Penutup Jendela 0x0102
Trai

Instal MVD

MVD berjalan di mesin prosesor x86 64-bit yang menjalankan Debian (11 atau lebih baru), Ubuntu (20.04 atau lebih tinggi) atau macOS.

Linux

Download paket MVD Debian (.deb)

Download file armored-ASCII (.asc)

Kemudian jalankan dpkg untuk menginstal MVD Paket Debian (.deb):

sudo dpkg -i mvd_1.4.0_amd64.deb

macOS

Download file dmg MVD (macOS x86)

Download file dmg MVD (ARM64 M1)

Kemudian, klik dua kali file dmg untuk membuka penginstalan jendela.

Untuk menyelesaikan penginstalan, pilih dan tarik ikon mvd untuk folder Applications:

Penginstalan macOS

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 mematikan proses apa pun menggunakan TCP port 33000 dengan satu perintah:

Linux

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

Jalankan 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

Konfigurasi perangkat Anda

Layar utama akan muncul saat peluncuran, dan memungkinkan Anda mengonfigurasi perangkat virtual:

  • Jenis Perangkat: Pilih jenis perangkat (misalnya, Lampu, Tombol, Sensor, dan sebagainya).
  • Nama Perangkat: Beri perangkat nama yang mudah digunakan.
  • Diskriminator: Angka 12-bit yang digunakan untuk membedakan antara beberapa iklan perangkat yang dapat 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 mengkonfigurasi perangkat virtual untuk menggunakan alamat IP porta, selama tidak ada layanan lain yang menggunakannya.
  • ID Vendor: Hanya ID vendor pengujian 0xFFF1 yang didukung.
  • ID Produk: Hanya ID produk pengujian 0x8000 hingga 0x801F didukung.

Konfigurasi Perangkat Virtual
layar

Mengonfigurasi firewall

Linux

Jika Anda memiliki {i>firewall<i} yang berjalan di komputer Anda, Anda bisa mematikannya atau mengizinkan koneksi TCP/UDP yang masuk pada porta Matter.

Untuk melihat netfilter yang aktif saat ini aturan firewall, jalankan:

sudo iptables -L -n

Jika Anda menggunakan `ufw`, fitur ini dapat dinonaktifkan dengan:

sudo ufw disable

Dan fitur tersebut dapat diaktifkan kembali dengan:

sudo ufw enable

macOS

Untuk mengonfigurasi atau menonaktifkan firewall di macOS:

  1. Buka menu Apple μ dan pilih System Settings.
  2. Klik Jaringan di daftar sidebar.
  3. Klik Firewall.
  4. Alihkan tombol untuk Firewall ke posisi Nonaktif.

Jalankan perangkat Anda

Setelah perangkat dikonfigurasi, klik Buat perangkat. Saat perangkat dibuat, layar Controller akan muncul. Tergantung pada jenis perangkat yang Anda dipilih, Anda mungkin melihat satu atau beberapa kontrol berikut:

  • Aktif/Nonaktif: Umum untuk sebagian besar perangkat.
  • Level: Misalnya, lampu dapat memiliki penggeser level untuk menyesuaikan kecerahan.
  • Warna: Misalnya, lampu warna dapat memiliki kontrol ini.
  • Jumlah Tamu: Sensor Jumlah Kehadiran menawarkan kontrol ini, untuk menyimulasikan ada atau tidak terisi.

Semua perangkat virtual memiliki kontrol berikut:

  • QRCode: Menampilkan kode QR yang digunakan untuk commissioning.
  • Mulai ulang: Memulai ulang perangkat virtual. Perangkat terputus dari jaringan secara singkat.
  • Reset: Mereset perangkat saat ini ke setelan pabrik dan menghapus semua status, termasuk komisi, status kontrol saat ini, dan sebagainya
  • Hapus: Menghancurkan perangkat dan kembali ke layar Buat perangkat.

Kontrol Perangkat Virtual
layar

Lakukan komisi untuk perangkat Anda

Perangkat dapat digunakan segera setelah dibuat.

Ada beberapa prasyarat untuk melakukan commissioning perangkat:

  • Anda harus memiliki project di Google Home Developer Console. Project ini harus berisi integrasi Matter yang memiliki VID/PID yang sama sama seperti yang Anda gunakan dalam menyiapkan perangkat virtual Anda. Lihat panduan pembuatan project untuk mengetahui detailnya.

  • Anda harus memiliki Google Nest Hub yang mendukung Kasus

  • Anda harus memiliki ponsel Android yang menjalankan Android 8.1 atau yang lebih baru, dengan GHA telah diinstal.

  • 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 tampilkan kode QR perangkat, lalu ikuti petunjuk di Menyambungkan Matter perangkat yang menjelaskan cara mengaktivasi perangkat Matter menggunakan GHA. Anda juga dapat mengaktifkan perangkat menggunakan Google Home Sample App for Matter.

Lihat Matter Primer ke pelajari cara kerja Commissioning Matter.

Mengontrol perangkat

Setelah memesan perangkat virtual, Anda dapat mengontrol perangkat tersebut 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
  • Kontrol perangkat menggunakan Sample App for Matter saat memantau status perubahan pada perangkat virtual,atau
  • Mengontrol status perangkat melalui MVD itu sendiri saat memantau perubahan status di GHA atau Assistant.

Menguji dengan perangkat

Untuk menguji dengan Assistant, sebaiknya gunakan ucapan seperti Ekstensi Google Home untuk VS Code atau Plugin Google Home untuk Android Studio.

Lihat detail perangkat

Layar Detail perangkat akan menampilkan detail informasi perangkat:

  • Nama: Nama 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 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 disimpan oleh perangkat virtual konfigurasi Anda.
  • Informasi Komisi: Menunjukkan kain yang digabungkan dengan perangkat dan ID node perangkat dalam kain.

Lihat log perangkat

Jika Anda meluncurkan MVD dari terminal, output log akan muncul di stdout. Anda juga dapat melihat log perangkat di tab Log perangkat.

Hentikan perangkat

Untuk menghentikan dan menghancurkan perangkat, klik Hapus.

Menghentikan aplikasi

Menutup jendela kontrol akan menghancurkan perangkat dan menghentikan aplikasi MVD. Jika Anda meluncurkan dari terminal, Anda bisa hentikan 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 pojok kanan atas jendela akan membawa Anda ke halaman ini.

Laporkan bug

Jika Anda merasa menemukan suatu kerusakan pada MVD, Anda dapat laporkan 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 masukan Tombol di di pojok kanan atas jendela, atau dengan mengklik tombol di bawah.

Kirimkan masukan Anda kepada kami