Uzak Sanal Cihaz

Matter sanal cihazlar, Matter çözümlerini geliştirip test etmek için kullanışlıdır. Google Home app (GHA) kullanılarak devreye alınabilir ve fiziksel Matter cihazlar gibi GHA ve Google Assistant kullanılarak kontrol edilebilir.

Uygulama geliştiriciler ve sanal bir cihazı test etmesi ya da emüle etmesi gereken ancak kendi Matter cihazını oluşturmak için kaynakları olmayan diğer kullanıcılar için Google, Matter Virtual Device (MVD) hizmetini sunar.Matter MVD, farklı sanal Matter cihaz türlerini simüle eden ve sanal Matter cihazın durumlarını kontrol edip görüntülemek için grafik kullanıcı arayüzü sağlayan, bağımsız ve hafif bir Linux veya macOS masaüstü aracıdır.

Fiziksel bir Matter cihazın aksine, MVD bir Matter ağına katılmak için Bluetooth® Düşük Enerji (BLE) veya Thread®'e bağlı değildir. Bunun yerine, devreye alma için ana makine Linux veya macOS makinesinin mevcut kablosuz ağ bağlantısını kullanır.

Diğer araçlarla karşılaştırma

MVD, Virtual Device Controller (VDC)'den farklı olarak, sanal cihazı kontrol etmek için kullanıcı arayüzüyle birleştiren bağımsız bir çözümdür. Buna karşılık, VDC ayrı bir sanal Matter cihazı kontrol etmek için kullanılır.

MVD, çeşitli önceden oluşturulmuş sanal cihazlar içerir ve bunları çalıştırmak ve kontrol etmek için entegre bir kullanıcı arayüzü sunar.

Desteklenen cihazlar

MVD, aşağıdaki Matter cihaz türlerini destekler:

Tablo: Matter cihaz MVD için desteklenen türler
Matter Cihaz Türü Uygulama kümeleri Ev Ekosistemi Türü
Hava Temizleyici 0x0202
0x0006
0x0071
Hava Temizleyici
Hava Kalitesi Sensörü 0x005b
0x0402
0x0405
0x040c
0x040d
0x042a
0x042d
0x042e
Sensör
Temel Video Oynatıcı 0x0006
0x0506
0x0509
Televizyon
Renk Sıcaklığı Işığı 0x0300
0x0008
0x0006
Light
Temas Sensörü 0x0045
Sensör
Parlaklığı Ayarlanabilir Işık 0x0008
0x0006
Light
Parlaklığı Ayarlanabilir Eklenti Birimi 0x0006
0x0008
Outlet
Bulaşık makinesi 0x0006
0x0059
0x0056
0x0060
Bulaşık makinesi
Kapı Kilidi 0x0101
Kilitle
Extended Color Light 0x0300
0x0008
0x0006
Light
Vantilatör 0x0202
0x0006
Fan
Akış Sensörü 0x0404
Sensör
Genel Anahtar 0x003b
Geçiş
Nem Sensörü 0x0405
Sensör
Çamaşır Makinesi 0x0006
0x0051
0x0053
0x0056
0x0060
Çamaşır makinesi
Işık Sensörü 0x0400
Sensör
Varlık Sensörü 0x0406
Sensör
Işığı Açma/Kapatma 0x0008
0x0006
Light
Açma/Kapatma Işık Anahtarı 0x0006
Geçiş
Açma/Kapatma Eklenti Birimi 0x0008
0x0006
Outlet
Basınç Sensörü 0x0403
Sensör
Pompa 0x0006
0x0200
0x0402
0x0403
0x0404
Pump
Robot Süpürge 0x0054
0x0055
0x0061
Vacuum
Oda kliması 0x0006
0x0201
0x0202
Klima
Duman ve karbonmonoksit alarmı 0x005C
Co2 Dedektörü
Duman Dedektörü
Sıcaklık Sensörü 0x0402
Sensör
Termostat 0x0201
Termostat
Pencere Örtüsü 0x0102
Panjur

MVD'yi yükleme

MVD, Debian (13 Trixie veya üzeri), Ubuntu (20.04 Noble Numbat veya üzeri) ya da macOS çalıştıran 64 bit x86 işlemcili makinelerde çalışır.

Linux

MVD Debian (.deb) paketini indirin

Armored-ASCII imzası (.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.7.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'e yükleme

Bağlantı noktası kullanımını kontrol etme

MVD içindeki denetleyici modülü, sanal cihaza RPC çağrıları yapmak için 33000 numaralı TCP bağlantı noktasını kullanır. Bu nedenle, bu bağlantı noktası bilgisayarınızda başka bir işlem tarafından zaten kullanılıyorsa bağlantı noktasını boşalttığınızdan emin olun.

Herhangi bir işlemin 33000 bağlantı noktasını kullanıp kullanmadığını görmek için:

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

33000 numaralı TCP bağlantı noktasını kullanan 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ırma

Linux

Linux'ta, uygulamalar klasörünüzden veya terminalden MVD komutunu çalıştırın:

mvd

macOS

macOS'te MVD açmak veya terminalden MVD çalıştırmak için Launchpad'i kullanın:

cd /Applications
open mvd.app

Cihazınızı yapılandırma

Uygulama başlatıldığında ana ekran görünür ve sanal cihaz yapılandırmanıza olanak tanır:

  • Cihaz Türü: Cihaz türünü seçin (ör. Işık, Anahtar, Sensör vb.).
  • Cihaz Adı: Cihaza kullanıcı dostu bir ad verin.
  • Ayırt edici: Birden fazla komisyonlu cihaz reklamı arasında ayrım yapmak için kullanılan 12 bitlik bir sayıdır. (Varsayılan: 3840).
  • Matter Bağlantı noktası: Matter IP ağları üzerinden devreye alma ve iletişim için kullanılan bir bağlantı noktası. Matter, varsayılan olarak 5540 numaralı TCP/UDP bağlantı noktasını kullanır ancak başka bir hizmet tarafından kullanılmadığı sürece sanal cihazı farklı bir bağlantı noktası kullanacak şekilde yapılandırabilirsiniz.
  • Satıcı kimliği: Yalnızca test satıcı kimliği 0xFFF1 desteklenir.
  • Ürün kimliği: Yalnızca 0x8000 ile 0x801F arasındaki test ürün kimlikleri desteklenir.

Sanal Cihaz yapılandırması
ekranı

Güvenlik duvarınızı yapılandırma

Linux

Bilgisayarınızda çalışan bir güvenlik duvarı varsa bunu kapatın veya Matter bağlantı noktasında gelen TCP/UDP bağlantılarına izin verin.

Mevcut 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 aşağıdaki komutla devre dışı bırakılabilir:

sudo ufw disable

Aşağıdaki yöntemlerle yeniden etkinleştirilebilir:

sudo ufw enable

macOS

macOS'te güvenlik duvarını yapılandırmak veya devre dışı bırakmak için:

  1.  Apple menüsüne gidip Sistem Ayarları'nı seçin.
  2. Kenar çubuğu listesinde 'ı tıklayın.
  3. Güvenlik duvarı'nı tıklayın.
  4. 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 türüne bağlı olarak aşağıdaki kontrollerden birini veya daha fazlasını görebilirsiniz:

  • Açma/Kapama: Çoğu cihazda bulunur.
  • Düzey: Örneğin, bir ışığın parlaklığı ayarlamak için düzey kaydırma çubuğu olabilir.
  • Renk: Örneğin, renkli bir ışıkta bu kontrol olabilir.
  • Doluluk: Doluluk sensörü, dolu veya boş durumunu simüle etmek için bu kontrolü sunar.

Tüm sanal cihazlarda aşağıdaki kontroller bulunur:

  • QRCode: Kullanıma alma için kullanılan QR kodunu gösterir.
  • Yeniden başlatma: Sanal cihazı yeniden başlatır. Cihazın ağ bağlantısı kısa süreliğine kesilir.
  • Sıfırla: Mevcut cihazı fabrika ayarlarına sıfırlar ve devreye alma, mevcut kontroller durumu gibi tüm durumları temizler.
  • Sil: Cihazı yok eder ve Cihaz oluştur ekranına döner.

Sanal cihaz kontrolü ekranı

Üreticiye özel özellikler

Üreticiye özel (MS) özellikler Android için Home API'leri tarafından desteklenir ve Matter'deki standart özelliklerin ötesinde ek işlevler sağlar. Bir MS özelliği içeren cihazı test etmek için MVD, Özel Gruplar adlı bölümdeki özellikleri kullanmanıza olanak tanır (yukarıdaki resme bakın).

Cihazınızı devreye alma

Cihaz, oluşturulduğu anda komisyon kazanmaya uygundur.

Cihazın devreye alınması için karşılanması gereken birkaç ön koşul vardır:

  • Google Home Developer Console'da bir projeniz olmalıdır. Bu proje, sanal cihazınızı ayarlarken kullandığınız VID/PID kombinasyonuyla aynı olan bir Matter entegrasyonu içermelidir. Ayrıntılar için proje oluşturma kılavuzuna bakın.

  • Matter'ı destekleyen bir Google Nest Hub'ınız olmalıdır.

  • Android 8.1 veya sonraki bir sürümü çalıştıran ve GHA yüklü 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 ile devreye almak için QRCode'u tıklayarak cihazın QR kodunu gösterin, ardından GHA ile Matter cihazının nasıl ekleneceğini açıklayan Matter cihazını eşleme bölümündeki talimatları uygulayın. Cihazı Google Home Sample App for Matter simgesini kullanarak da devreye alabilirsiniz.

Matter Primer adlı dokümanımızı inceleyerek MatterKomisyon Alma özelliğinin nasıl çalıştığını öğrenebilirsiniz.

Cihazı kontrol etme

Sanal bir cihazı devreye aldıktan sonra Google Home uygulaması veya Google Asistan'ı kullanarak cihazı sesli olarak kontrol edebilirsiniz. Aşağıdaki yöntemlerden birini uygulayabilirsiniz:

  • Durum değişikliklerini sanal cihazda izlerken cihazı GHA veya Assistant üzerinden kontrol etme ya da
  • Sanal cihazdaki durum değişikliklerini izlerken Sample App for Matter simgesini kullanarak cihazı kontrol edin veya
  • MVD içinden cihaz durumunu kontrol ederken GHA veya Assistant'deki durum değişikliklerini izleyin.

Cihazla test etme

Assistant ile test etmek için Google Home Extension for VS Code veya Google Home Plugin for Android Studio gibi bir ifade simülatörü kullanmanızı öneririz.

Cihaz ayrıntılarını görüntüleme

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 ayrıştırıcısı.
  • Satıcı kimliği: Mevcut cihaz satıcı kimliği.
  • Ürün kimliği: Mevcut 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ı: Geçerli cihazın IP ağı üzerinden iletişim kurmak için kullandığı bağlantı noktası.
  • Geçiş Kodu: Cihazı ağ üzerinden devreye almak 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şta cihazın düğüm kimliğini gösterir.

Cihaz günlüklerini görüntüleme

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ı durdurup yok etmek için Sil'i tıklayın.

Uygulamayı sonlandırma

Kontrol penceresinin kapatılması cihazı bozar ve MVD uygulamasını sonlandırır. Terminalden başlattıysanız terminale Ctrl-C yazarak da uygulamayı sonlandırabilirsiniz.

Yardım alın

MVD ile ilgili yardım almak, bir hatayı bildirmek veya yeni bir özellik istemek için Google destek ekibindeki ilgili kişiye ulaşın.

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 bildirebilirsiniz.

Geri bildirim gönder

MVD ile ilgili beğendiğiniz noktalar veya araçla ilgili deneyiminizi nasıl iyileştirebileceğimiz konusundaki 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üğme tıklanarak başlatılabilir.

Geri bildiriminizi bize gönderin

MVD kullanırken alt kısımda açılan anketle de geri bildirim sağlayabilirsiniz.