Matter sanal cihazları, Matter çözümlerini geliştirip test etmek için kullanışlıdır. Bu sanal cihazlar, Google Home app (GHA) kullanılarak kullanıma sunulabilir ve GHA ile Google Assistant kullanılarak kontrol edilebilir (fiziksel Matter cihazlarda olduğu gibi).
Uygulama geliştiriciler ve sanal bir Matter cihazını test etmesi ya da emülasyonu yapması gereken ancak kendi fiziksel veya sanal Matter cihazlarını oluşturacak kaynağa sahip olmayan diğer kullanıcılar için Google, Matter Virtual Device (MVD) hizmetini sunar. MVD, farklı tür sanal Matter cihazlarını simüle eden, sanal bir Matter cihazın durumunu kontrol etmek ve görüntülemek için grafik kullanıcı arayüzü sağlayan basit bir bağımsız Linux veya macOS masaüstü aracıdır.
MVD, fiziksel Matter cihazından farklı olarak Matter kumaşını birleştirmek için Bluetooth® Düşük Enerji (BDE) veya Thread® özelliklerini kullanmaz. Bunun yerine, komisyon işlemi için ana makine Linux veya macOS makinesinin mevcut kablosuz ağ bağlantısını kullanır.
Diğer araçlara kıyasla
MVD, Virtual Device Controller (VDC) özelliğinden farklıdır. Bu çözüm, sanal cihazı kontrol etmek için bir kullanıcı arayüzüyle birleştirir. Buna karşılık VDC, Matter Virtual Device Development Environment (MVD-DE) içinde derlediğimiz gibi ayrı bir sanal Matter cihazını kontrol etmek için kullanılır.
Daha önce MVD-DE codelab'i ile çalışmış olabilirsiniz. Bu codelab'de, tek bir tür sanal cihaz (akıllı ampul) geliştireceksiniz. Buna karşılık MVD, önceden oluşturulmuş birkaç farklı sanal cihaz ve bunları çalıştırıp kontrol etmek için entegre bir kullanıcı arayüzü içerir.
MVD | VDC | MVD-DE (Codelab) | |
---|---|---|---|
Matter cihazı emülasyonu | |||
Öykünülen Matter cihazını kontrol etme | |||
Geliştirme çalışması gerekir | |||
İndir | 100 MB'tan az | 9 GB | 20 GB |
Desteklenen cihazlar
MVD, aşağıdaki Matter cihaz türünü destekler:
Matter Cihaz Türü | Uygulama Kümeleri | Ev Ekosistem Türü |
---|---|---|
Temel Video Oynatıcı |
0x0006 0x0506 0x0509 |
TV |
Renk Sıcaklığı |
0x0300 0x0008 0x0006 |
Hafif |
Kontak Sensörü |
0x0045 |
Sensör |
Parlaklığı Ayarlanabilir Işık |
0x0008 0x0006 |
Hafif |
Kapı Kilidi |
0x0101 |
Kilitle |
Genişletilmiş Renkli Işık |
0x0300 0x0008 0x0006 |
Hafif |
Vantilatör |
0x0202 0x0006 |
Takipçi |
Akış Sensörü |
0x0404 |
Sensör |
Genel Anahtar |
0x003b |
Geç |
Nem Sensörü |
0x0405 |
Sensör |
Işık Sensörü |
0x0400 |
Sensör |
Doluluk Sensörü |
0x0406 |
Sensör |
Açık/Kapalı Işığı |
0x0008 0x0006 |
Hafif |
Açık/Kapalı Işık Anahtarı |
0x0006 |
Geç |
Açma/Kapatma Fişli Ünitesi |
0x0008 0x0006 |
Priz |
Basınç Sensörü |
0x0403 |
Sensör |
Pompa |
0x0006 0x0200 0x0402 0x0403 0x0404 |
Yok |
Robot Süpürge |
0x0054 0x0055 0x0061 |
Elektrik süpürgesi |
Oda Kliması |
0x0006 0x0201 0x0202 |
AC |
Duman ve Karbonmonoksit Alarmı |
0x005C |
Duman |
Duman ve Karbonmonoksit Alarmı |
0x005C |
Duman |
Sıcaklık Sensörü |
0x0402 |
Sensör |
Termostat |
0x0201 |
Termostat |
Pencere Örtüsü |
0x0102 |
Panjur |
MVD'yi yükle
MVD; Debian (11 veya üzeri), Ubuntu (20.04 veya üzeri) veya macOS çalıştıran 64 bit x86 işlemci makinelerinde çalışır.
Linux
MVD Debian (.deb) paketini indirin
Zırhlı ASCII imza (.asc) dosyasını indirin
Ardından MVD Debian (.deb) paketini yüklemek için dpkg
komutunu çalıştırın:
sudo dpkg -i mvd_1.4.0_amd64.deb
macOS
MVD (macOS x86) dmg dosyasını indirin
MVD (ARM64 M1) dmg dosyasını indirin
Ardından yükleme penceresini açmak için dmg
dosyasını çift tıklayın.
Yüklemeyi tamamlamak için mvd
simgesini seçip Applications
klasörüne sürükleyin:
![macOS yüklemesi](https://developers.home.google.com/static/tools/images/matter-virtual-device-macos-install.png?authuser=0&hl=tr)
Bağlantı noktası kullanımını kontrol etme
MVD içindeki denetleyici modülü, sanal cihaza RPC çağrıları yapmak için TCP bağlantı noktası 33000'ü kullanır. Bu nedenle, bu bağlantı noktası bilgisayarınızda başka bir işlem tarafından kullanılıyorsa cihazı boşalttığınızdan emin olun.
Herhangi bir işlemin 33000 bağlantı noktasını kullanıp kullanmadığını öğrenmek için:
Linux
sudo fuser -v 33000/tcp
macOS
lsof -i:33000
TCP bağlantı noktası 33000'i kullanarak tüm işlemleri tek bir komutla sonlandırabilirsiniz:
Linux
sudo fuser -k 33000/tcp
macOS
lsof -ti:33000 | xargs kill
MVD'yi çalıştır
Linux
Linux'ta, uygulamalar klasörünüzden veya terminalden MVD komutunu çalıştırın:
mvd
macOS
macOS'te, MVD uygulamasını açmak için Launchpad'i kullanın veya MVD uygulamasını terminalden çalıştırın:
cd /Applications
open mvd.app
Cihazınızı yapılandırma
Ana ekran, başlatıldıktan sonra görünür ve sanal bir cihaz yapılandırmanıza olanak tanır:
- Cihaz Türü: Cihaz türünü seçin (örneğin, Işık, Anahtar, Sensör vb.).
- Cihaz Adı: Cihaza kullanıcı dostu bir ad verin.
- Ayırıcı: Birden fazla komisyonlanabilir cihaz reklamını ayırt etmek için kullanılan 12 bitlik bir sayıdır. (Varsayılan:
3840
). - Matter Bağlantı Noktası: Matter'nin devreye alınması ve IP ağları üzerinden iletişim için bir bağlantı noktası. Matter varsayılan olarak 5540 numaralı TCP/UDP bağlantı noktasını kullanır ancak başka bir hizmet kullanmadığı sürece sanal cihazı farklı bir bağlantı noktası kullanacak şekilde yapılandırabilirsiniz.
- Tedarikçi firma kimliği: Yalnızca test tedarikçi firması kimliği
0xFFF1
desteklenir. - Ürün kimliği: Yalnızca
0x8000
-0x801F
arasındaki test ürün kimlikleri desteklenir.
Güvenlik duvarınızı yapılandırın
Linux
Bilgisayarınızda çalışan bir güvenlik duvarı varsa kapatın veya Matter bağlantı noktasında gelen TCP/UDP bağlantılarına izin verin.
Geçerli etkin netfilter güvenlik duvarı kurallarını görüntülemek için şu komutu çalıştırın:
sudo iptables -L -n
"ufw" kullanıyorsanız bu özellik aşağıdaki seçeneklerle devre dışı bırakılabilir:
sudo ufw disable
Ayrıca aşağıdakilerle yeniden etkinleştirilebilir:
sudo ufw enable
macOS
macOS'te güvenlik duvarını yapılandırmak veya devre dışı bırakmak için:
- ⣿ Apple menüsüne gidin ve Sistem Ayarları'nı seçin.
- Kenar çubuğu listesinde Ağ'ı tıklayın.
- Güvenlik Duvarı'nı tıklayın.
- Güvenlik Duvarı anahtarını Kapalı konumuna getirin.
Cihazınızı çalıştırma
Cihaz yapılandırıldıktan sonra Cihaz oluştur'u tıklayın. Cihaz oluşturulduğunda, Kumanda ekranı görünür. Seçtiğiniz cihazın türüne bağlı olarak aşağıdaki kontrollerden bir veya daha fazlasını görebilirsiniz:
- Açık/Kapalı: Çoğu cihazda kullanılabilir.
- Seviye: Örneğin, bir ışıkta parlaklığı ayarlayan bir seviye kaydırma çubuğu olabilir.
- Renk: Örneğin, bir renk ışığında bu kontrol kullanılabilir.
- Doluluk: Doluluk Sensörü, dolu veya boş olma durumunu simüle etmek için bu kontrolü sunar.
Tüm sanal cihazlarda aşağıdaki denetimler bulunur:
- QRCode: Komisyon için kullanılan QR kodunu gösterir.
- Yeniden başlat: Sanal cihazı yeniden başlatır. Cihazın ağ bağlantısı kısa süreliğine kesildi.
- Sıfırla: Mevcut cihazı fabrika ayarlarına sıfırlar ve devreye alma, mevcut kontroller durumu gibi tüm durumları temizler
- Sil: Cihazı kaldırır ve Cihaz oluştur ekranına geri döner.
Cihazınızı devreye alın
Cihaz, oluşturulur oluşturulmaz kullanıma sunulabilir.
Cihazı kullanıma sunmanın birkaç ön koşulu vardır:
Google Home Developer Console bölgesinde bir projeniz olmalıdır. Bu proje, sanal cihazınızı kurarken kullandığınız VID/PID kombinasyonuna sahip bir Matter entegrasyonu içermelidir. Ayrıntılar için proje oluşturma rehberine bakın.
Matter'ı destekleyen bir Google Nest Hub'ınızın olması gerekir
Android 8.1 veya sonraki sürümleri çalıştıran ve GHA uygulamasının yüklü olduğu bir Android telefonunuz olmalıdır.
Android telefon, hub ile aynı kablosuz ağa bağlı olmalıdır.
Ana makine kablosuz ağa bağlı olmalıdır.
Cihazı GHA kullanarak çalıştırmak için QRCode'u tıklayıp cihazın QR kodunu görüntüleyin. Ardından Matter cihazı eşleme bölümündeki talimatları uygulayın. Bu talimatlar, GHA kullanarak bir Matter cihazına ilk erişim işleminin nasıl yapılacağını açıklar. Cihazı Google Home Sample App for Matter kullanarak da yetkilendirebilirsiniz.
Devreye alma işleminin işleyiş şeklini öğrenmek için Matter Primer'ı (Matter) inceleyin.
Cihazı kontrol etme
Bir sanal cihazı yaptırdıktan sonra Google Home uygulamasını veya Google Asistan'ı sesinizle kontrol edebilirsiniz. Aşağıdaki yöntemlerden birini uygulayabilirsiniz:
- Sanal cihazdaki durum değişikliklerini izlerken cihazı GHA veya Assistant üzerinden kontrol edebilir veya
- Sanal cihazdaki durum değişikliklerini izlerken Sample App for Matter ile cihazı kontrol edin veya
- GHA veya Assistant içindeki durum değişikliklerini izlerken cihaz durumunu MVD üzerinden kontrol edin.
Cihazla test etme
Assistant ile test etmek için VS Code için Google Home Extension veya Android Studio için Google Home Eklentisi gibi bir ifade simülasyonu aracı kullanmanızı öneririz.
Cihaz ayrıntılarını göster
Cihaz ayrıntıları ekranında ayrıntılı cihaz bilgileri gösterilir:
- Ad: Cihaza verilen kolay ad.
- Cihaz Türü: Seçilen cihaz türü.
- Ayrıştırıcı: Geçerli cihaz ayırıcı.
- Tedarikçi firma kimliği: Geçerli cihaz tedarikçi firma kimliği.
- Ürün kimliği: Geçerli cihaz ürün kimliği.
- RPC bağlantı noktası: Cihazın denetleyicilerle (GUI) iletişim kurduğu RPC bağlantı noktası.
- Matter Bağlantı Noktası: Mevcut cihaz tarafından IP ağı üzerinden iletişim kurmak için kullanılan bağlantı noktası.
- Şifre Kodu: Cihazı ağ üzerinden yaptırmak için kullanılan PIN.
- Yapılandırma Klasörü: Sanal cihazın yapılandırmayı depoladığı klasör.
- Komisyon Bilgileri: Cihazın katıldığı kumaşları ve kumaştaki cihazın düğüm kimliğini gösterir.
Cihaz günlüklerini göster
MVD uygulamasını terminalden başlattıysanız günlük çıkışı stdout
üzerinde görünür.
Cihaz günlüklerini Cihaz günlükleri sekmesinde de görüntüleyebilirsiniz.
Cihazı durdurma
Cihazı durdurmak ve yok etmek için Sil'i tıklayın.
Uygulamayı sonlandır
Denetim penceresinin kapatılması cihazı kaldırır ve MVD uygulamasını sonlandırır. Terminalden başlattıysanız terminalde Ctrl-C tuşlarına basarak da uygulamayı sonlandırabilirsiniz.
Yardım alma
MVD ile ilgili yardım almak, hata bildirmek veya yeni bir özellik isteğinde bulunmak için Google destek temsilcinizle iletişime geçin.
Pencerenin sağ üst köşesindeki yardım
düğmesini tıkladığınızda bu sayfaya yönlendirilirsiniz.Hata bildir
MVD içinde bir kusur bulduğunuzu düşünüyorsanız pencerenin sağ üst köşesindeki Sorun düğmesini tıklayarak hata bildiriminde bulunabilirsiniz.
Geri bildirim gönderin
MVD ile ilgili beğendiğiniz noktalar veya bu araçla ilgili deneyiminizi nasıl iyileştirebileceğimiz hakkındaki düşüncelerinizi göndermek için Geri Bildirim Formumuzu doldurun.
Form, pencerenin sağ üst köşesindeki geri bildirim
düğmesinden veya aşağıdaki düğmeyi tıklanarak başlatılabilir.