Matter Sanal Cihazı

Matter sanal cihazları, Matter çözümlerini geliştirme ve test etme konusunda faydalıdır. Bu cihazlar, tıpkı fiziksel Matter cihazları gibi Google Home app (GHA) kullanılarak devreye alınabilir ve GHA ile Google Assistant kullanılarak kontrol edilebilir.

Google, sanal bir cihazı test etmesi veya emüle etmesi gereken ancak kendi fiziksel ya da sanal Matter cihazını oluşturmak için yeterli kaynağı olmayan uygulama geliştiriciler ve diğer kullanıcılar için Matter Virtual Device (MVD) hizmetini sunar.Matter MVD, farklı türde sanal Matter cihazları 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, hafif ve bağımsız bir Linux veya macOS masaüstü aracıdır.

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

Diğer araçlara kıyasla

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

MVD, önceden oluşturulmuş birkaç farklı sanal cihaz içerir ve bunları çalıştırıp kontrol etmek için entegre bir kullanıcı arayüzü sunar.

Desteklenen cihazlar

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

Tablo: MVD için desteklenen Matter cihaz türü
Matter Cihaz Türü Uygulama kümeleri Ev Ekosistemi Türü
Hava Temizleyici 0x0202
0x0006
0x0071
0x0072
Hava Temizleyici
Hava Kalitesi Sensörü 0x005b
0x0402
0x0405
0x040c
0x040d
0x042a
0x042b
0x042c
0x042d
0x042e
0x042f
0x0413
0x0415
Sensör
Temel Video Oynatıcı 0x0006
0x0506
0x0509
Televizyon
Renk Sıcaklığı Işığı 0x0300
0x0008
0x0006
Açık
Kontak Sensörü 0x0045
Sensör
Parlaklığı Ayarlanabilir Işık 0x0008
0x0006
Açık
Parlaklığı Ayarlanabilir Eklenti Birimi 0x0006
0x0008
Priz
Bulaşık makinesi 0x0006
0x0059
0x0056
0x0060
Bulaşık makinesi
Kapı Kilidi 0x0101
Kilitleme
Genişletilmiş Renkli Işık 0x0300
0x0008
0x0006
Açık
Vantilatör 0x0202
0x0006
Takipçi
Akış Sensörü 0x0404
Sensör
Genel Anahtar 0x003b
Geçiş yapma
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
Açma/Kapama Işığı 0x0008
0x0006
Açık
Açma/Kapatma Işık Anahtarı 0x0006
Geçiş yapma
Açma/Kapama Eklenti Birimi 0x0008
0x0006
Priz
Basınç Sensörü 0x0403
Sensör
Pompa 0x0006
0x0200
0x0402
0x0403
0x0404
Pompa
Robot Süpürge 0x0054
0x0055
0x0061
Elektrikli süpürge
Oda Kliması 0x0006
0x0201
0x0202
Klima
Duman ve Karbonmonoksit Alarmı 0x005C
Karbonmonoksit Dedektörü
Duman Dedektörü
Sıcaklık Sensörü 0x0402
Sensör
Termostat 0x0201
Termostat
Pencere Örtü Sistemi 0x0102
Stor perdeler

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şlemci makinelerinde çalışır.

Linux

MVD Debian (.deb) paketini indirme

Zırhlı ASCII imza (.asc) dosyasını indirme

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ı indirme

MVD (ARM64 M1) dmg dosyasını indirme

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 TCP bağlantı noktası 33000'i kullanır. Bu bağlantı noktası bilgisayarınızdaki başka bir işlem tarafından kullanılıyorsa bağlantı noktasını boşalttığınızdan emin olun.

33000 numaralı bağlantı noktasını kullanan bir işlem olup olmadığını görmek için:

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

TCP bağlantı noktası 33000'i 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 uygulamasını açmak için Launchpad'i kullanın veya terminalden MVD komutunu çalıştırın:

cd /Applications
open mvd.app

Cihazınızı yapılandırma

Başlatıldığında ana ekran görünür ve sanal bir 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 devreye alınabilir cihaz reklamını ayırt etmek için kullanılan 12 bitlik bir sayı. (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 TCP/UDP bağlantı noktası 5540'ı kullanır ancak sanal cihazı, başka bir hizmet tarafından kullanılmadığı sürece farklı bir bağlantı noktası kullanacak şekilde yapılandırabilirsiniz.
  • Tedarikçi kimliği: Yalnızca test tedarikçi kimliği 0xFFF1 desteklenir.
  • Ürün Kimliği: Yalnızca 0x8000 ile 0x801F arasındaki test ürün kimlikleri desteklenir.

Sanal cihaz yapılandırma 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 şu komutla devre dışı bırakabilirsiniz:

sudo ufw disable

Aşağıdaki komutla 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 Ağ'ı tıklayın.
  3. Firewall'u (Güvenlik duvarı) 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 Create device'ı (Cihaz oluştur) 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/Kapatma: Cihazların çoğunda ortaktır.
  • Seviye: Örneğin, bir ışığın parlaklığını ayarlamak için seviye kaydırma çubuğu olabilir.
  • Renk: Örneğin, renkli bir ışıkta bu kontrol bulunabilir.
  • Varlık: Varlık sensörü, dolu veya boş durumunu simüle etmek için bu kontrolü sunar.

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

  • QRCode: Devreye alma 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 bir süreliğine kesilir.
  • Sıfırla: Mevcut cihazı fabrika ayarlarına sıfırlar ve devreye alma, mevcut kontrollerin durumu vb. dahil tüm durumları temizler.
  • Delete (Sil): Cihazı siler ve Create device (Cihaz oluştur) ekranına döner.

Sanal cihaz kontrolü
ekranı

Üreticiye özgü özellikler

Üreticiye özel (MS) özellikler, Android için Home API'leri tarafından desteklenir ve Matter içindeki standart özelliklerin ötesinde ek işlevler sağlar. MS özelliğine sahip bir cihazı test etmek için MVD, Özel Kümeler adlı bölümdeki özelliklerle etkileşim kurmanıza olanak tanır (yukarıdaki resme bakın).

Cihazınızı devreye alma

Cihaz, oluşturulduğu anda devreye alınabilir.

Cihazı devreye almak için birkaç ön koşul vardır:

  • Google Home Developer Console içinde bir projeniz olmalıdır. Bu proje, sanal cihazınızı ayarlarken kullandığınız VID/PID kombinasyonuna sahip 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 sürümlerin yüklü olduğu ve GHA uygulamasının bulunduğ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 devreye almak için QRCode'nu tıklayarak cihazın QR kodunu görüntüleyin, ardından Matter cihazı eşleme bölümündeki talimatları uygulayın. Bu bölümde, GHA kullanarak Matter cihazın ilk katılımının nasıl yapılacağı açıklanmaktadır. Cihazı Google Home Sample App for Matter kullanarak da devreye alabilirsiniz.

MatterDevreye alma işleminin nasıl çalıştığını öğrenmek için Mattertemel bilgiler sayfamıza göz atın.

Cihazı kontrol etme

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

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

Cihazla test etme

Assistant ile test yapmak için VS Code için Google Home Uzantısı veya Android Studio için Google Home Eklentisi 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ı: Mevcut 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 Port (RPC Bağlantı Noktası): Cihazın denetleyicilerle (GUI) iletişim kurduğu RPC bağlantı noktası.
  • Matter Bağlantı Noktası: Mevcut cihazın IP ağı üzerinden iletişim kurmak için kullandığı bağlantı noktası.
  • Şifre Kodu: Cihazı ağ üzerinden devreye almak için kullanılan PIN.
  • Configuration Folder (Yapılandırma Klasörü): Sanal cihazın yapılandırmayı depoladığı klasör.
  • Komisyon Bilgileri: Cihazın katıldığı yapıyı ve cihazın yapıdaki 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 imha etmek için Sil'i tıklayın.

Uygulamayı sonlandırma

Kontrol penceresi kapatıldığında cihaz imha edilir ve MVD uygulaması sonlandırılır. Uygulamayı terminalden başlattıysanız terminale Ctrl-C yazarak da uygulamayı sonlandırabilirsiniz.

Yardım alın

MVD ile ilgili yardım almak, hata bildirmek veya yeni bir özellik isteğinde bulunmak için Google destek ekibindeki 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 hata bulduğunuzu düşünüyorsanız pencerenin sağ üst köşesindeki Sorun düğmesini tıklayarak hata bildiriminde bulunabilirsiniz.

Geri bildirim gönder

MVD ile ilgili beğendiğiniz özellikler veya araçla ilgili deneyiminizi nasıl iyileştirebileceğimiz hakkındaki düşüncelerinizi göndermek için geri bildirim formumuzu doldurun.

Formu, pencerenin sağ üst köşesindeki geri bildirim düğmesinden veya aşağıdaki düğmeyi tıklayarak açabilirsiniz.

Geri bildiriminizi gönderin

MVD kullanırken alt kısımda açılan anket aracılığıyla da geri bildirim gönderebilirsiniz.