Uzak Sanal Cihaz

Matter Cihaz SDK'sı

Matter sanal cihazları, Matter çözümlerinin geliştirilmesi ve test edilmesi için kullanışlıdır. Ayrıca, fiziksel Matter cihazlarda olduğu gibi Google Home app (GHA) ile devreye alınabilir ve GHA ile Google Assistant kullanılarak kontrol edilebilir.

Google, sanal bir Matter cihazı test etmesi veya emülasyonu yapması gereken ancak kendi fiziksel ya da sanal Matter cihazını oluşturmak için gerekli kaynaklara sahip olmayan uygulama geliştiriciler ve diğer kullanıcılar için Matter Virtual Device (MVD) hizmetini sunar. MVD, farklı türlerdeki sanal Matter cihazlarını simüle eden ve sanal Matter cihazının durumunu kontrol edip 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.

Fiziksel Matter cihazdan farklı olarak MVD, bir Matter yapısına katılmak için Bluetooth® Düşük Enerji (BDE) veya Thread®'e güvenmez. Bunun yerine, devreye alma işlemi için ana makinenin 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 bir kullanıcı arayüzüyle bir araya getiren bağımsız bir çözüm olması açısından Virtual Device Controller (VDC)'ten farklıdır. Buna karşın VDC, Matter Virtual Device Development Environment (MVD-DE) içinde oluşturduğumuz cihaz gibi ayrı bir sanal Matter cihazını kontrol etmek için kullanılır.

Daha önce MVD-DE codelab'ini kullanmış olabilirsiniz. Bu codelab'de tek bir sanal cihaz türü (akıllı ampul) derlemeyi öğreneceksiniz. Buna karşılık MVD, önceden oluşturulmuş birkaç farklı sanal cihaz içerir ve bunları çalıştırmak ve kontrol etmek için entegre bir kullanıcı arayüzü içerir.

Tablo: Sanal Matter cihaz aracı karşılaştırması
MVD VDC MVD-DE (Codelab)
Matter cihazı emülasyonu
Öykünülen bir 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ürlerini destekler:

Tablo: MVD için desteklenen Matter cihaz türleri
Matter Cihaz Türü Uygulama Kümeleri Ev Ekosistemi Türü
Temel Video Oynatıcı 0x0006
0x0506
0x0509
Tv
Işık Renk Sıcaklığı 0x0300
0x0008
0x0006
Hafif
Temas Sensörü 0x0045
Sensör
Kısılabilir Işık 0x0008
0x0006
Hafif
Kapı Kilidi 0x0101
Kilitle
Genişletilmiş Renk Işığı 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
Parlaklık Sensörü 0x0.400
Sensör
Doluluk Sensörü 0x0406
Sensör
Açık/Kapalı Işık 0x0008
0x0006
Hafif
Açma/Kapatma Anahtarı 0x0006
Geç
Açma/Kapatma Birimi 0x0008
0x0006
Priz
Basınç Sensörü 0x0403
Sensör
Pompa 0x0006
0x0200
0x0402
0x0403
0x0404
Yok
Robot Süpürge 0x0054
0x0055
0x0061
Elektrikli süpürge
Oda Kliması 0x0006
0x0201
0x0202
AC
Duman Karbonmonoksit Alarmı 0x005C
Duman
Sıcaklık Sensörü 0x0402
Sensör
Termostat 0x0201
Termostat
Pencere Örtüleri 0x0102
Panjur

MVD'yi yükleyin

MVD; Debian (11 veya üzeri), Ubuntu (20.04 veya üzeri) ya da macOS çalıştıran 64 bit x86 işlemcide ç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ükleme

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

MVD bölgesindeki denetleyici modülü, sanal cihaza RPC çağrıları yapmak için 33.000 numaralı TCP bağlantı noktasını kullanır. Bu nedenle, bu bağlantı noktası bilgisayarınızdaki başka bir işlem tarafından kullanılıyorsa ortamı 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

Tek bir komutla, 33000 numaralı TCP bağlantı noktasını kullanarak tüm işlemleri sonlandırabilirsiniz:

Linux

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

MVD'yi çalıştır

Linux

Linux'ta MVD uygulamasını uygulamalar klasörünüzden veya terminalden ç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ırın

Ana ekran başlatıldığında 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 komisyonlu cihaz reklamını ayırt etmek için kullanılan 12 bitlik bir sayı. (Varsayılan: 3840).
  • Matter Bağlantı Noktası: IP ağları üzerinden Matter devreye alma ve iletişim için kullanılan bağlantı noktası. Matter, varsayılan olarak 5540 numaralı TCP/UDP bağlantı noktasını kullanır. Sanal cihazı, başka bir hizmet kullanmadığı sürece farklı bir bağlantı noktası kullanacak şekilde yapılandırabilirsiniz.
  • Tedarikçi firma kimliği: Yalnızca test tedarikçi firma kimliği 0xFFF1 desteklenir.
  • Ürün kimliği: Yalnızca 0x8000 ile 0x801F arasındaki test ürün kimlikleri desteklenmektedir.

Sanal Cihaz yapılandırma
ekranı

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

Linux

Bilgisayarınızda çalışan bir güvenlik duvarı varsa güvenlik duvarını 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 şu şekilde devre dışı bırakılabilir:

sudo ufw disable

Ayrıca şununla 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 gidin ve System Settings'i (Sistem Ayarları) seçin.
  2. Kenar çubuğu listesinden 'ı 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ırın

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ı: Cihazların çoğunda yaygın olarak kullanılır.
  • Seviye: Örneğin, bir ışığın parlaklığı ayarlamak için seviye kaydırma çubuğu olabilir.
  • Renk: Örneğin, bir renk ışığında bu kontrol bulunabilir.
  • Doluluk: Doluluk Sensörü, dolu veya boş durumunu simüle etmek için bu kontrolü sunar.

Tüm sanal cihazlarda aşağıdaki denetimler 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 süreliğine kesilir.
  • Sıfırla: Mevcut cihazı fabrika ayarlarına sıfırlar ve devreye alma, mevcut kontroller durumu dahil tüm durumu temizler
  • Sil: Cihazı yok eder ve Cihaz oluştur ekranına geri döner.

Sanal Cihaz kontrol
ekranı

Cihazınızı çalıştırın

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

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

  • Google Home Developer Console bölgesinde 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ümlerini ç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 kullanıma sunmak için QRCode'u tıklayarak cihazın QR kodunu görüntüleyin, ardından GHA ile Matter cihazını nasıl kullanacağınızı açıklayan Matter cihazı eşleme bölümündeki talimatları uygulayın. Ayrıca, Google Home Sample App for Matter üzerinden cihaz için de komisyon alabilirsiniz.

Matter Devreye almanın işleyiş şekli hakkında bilgi edinmek için MatterPrimer sayfamızı inceleyin.

Cihazı kontrol etme

Bir sanal cihaz için devreye aldıktan sonra cihazı Google Home uygulamasını veya Google Asistan'ı sesle kullanarak kontrol edebilirsiniz. Aşağıdaki yöntemlerden birini uygulayabilirsiniz:

  • Sanal cihazda durum değişikliklerini izlerken cihazı GHA veya Assistant aracılığıyla kontrol edin veya
  • Sanal cihazda durum değişikliklerini izlerken cihazı Sample App for Matter kullanarak kontrol edebilir veya
  • GHA veya Assistant içindeki durum değişikliklerini izlerken cihaz durumunu MVD üzerinden kontrol edebilirsiniz.

Cihazla test etme

Assistant ile test etmek isterseniz VS Code için Google Home Uzantısı veya Android Studio için Google Home Plugin gibi bir söylem 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ü.
  • Ayırıcı: Geçerli cihaz ayrımcısı.
  • Tedarikçi firma kimliği: Geçerli cihaz tedarikçi firması 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 devreye almak için kullanılan PIN.
  • Yapılandırma Klasörü: Sanal cihazın yapılandırmayı sakladığı klasör.
  • Komisyon Bilgileri: Cihazın katıldığı kumaşları ve cihazın kumaş içindeki 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 adresinde görünür. Cihaz günlüklerini, Cihaz günlükleri sekmesinde de görüntüleyebilirsiniz.

Cihazı durdur

Cihazı durdurmak ve yok etmek için Sil'i tıklayın.

Uygulamayı sonlandır

Denetim penceresinin kapatılması cihazı yok eder ve MVD uygulamasını sonlandırır. Terminalden başlattıysanız uygulamayı terminalde Ctrl-C tuşlarına basarak da 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ıklayarak bu sayfaya yönlendirilirsiniz.

Hata bildir

MVD aracında 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 ürününün sevdiğiniz yönleri veya 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üğmesiyle veya aşağıdaki düğmeyi tıklayarak başlatılabilir.

Geri bildiriminizi gönderin