Uzak Sanal Cihaz

Cihaz SDK'sı

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

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

MVD, fiziksel bir Matter cihazından farklı olarak 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 makine Linux makinesinin mevcut kablosuz ağ bağlantısını kullanır.

Diğer araçlara kıyasla

MVD, sanal cihazı kontrol etmek için bir kullanıcı arayüzüyle birleştiren bağımsız bir çözüm olması açısından Virtual Device Controller (VDC)'ten farklıdır. Buna karşılık VDC, Matter Virtual Device Development Environment (MVD-DE) içinde oluşturduğumuz gibi ayrı bir sanal Matter cihazını kontrol etmek için kullanılır.

MVD-DE codelab'ini daha önce kullanmış olabilirsiniz. Bu codelab'de tek bir sanal cihaz türü, akıllı ampul derleyeceksiniz. Buna karşılık MVD, önceden derlenmiş birkaç farklı sanal cihaz içerir ve bunları çalıştırıp 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
İndirin 100 MB'tan az 9 GB 20 GB

Desteklenen cihaz sayısı

MVD şu anda aşağıdaki Matter cihaz türünü desteklemektedir:

Tablo: MVD için desteklenen Matter cihaz türleri
Matter Cihaz Türü Uygulama Kümeleri Ev Ekosistemi Türü
Açık Renk Sıcaklığı 0x0300
0x0008
0x0006
Açık
Parlaklığı Ayarlanabilir Işık 0x0008
0x0006
Açık
Genişletilmiş Renk Işığı 0x0300
0x0008
0x0006
Açık
Doluluk Sensörü 0x0406
Sensör
Açık/Kapalı Işığı 0x0008
0x0006
Açık
Açık/Kapalı Eklenti Birimi 0x0008
0x0006
Çıkış

MVD'yi yükle

MVD, Debian (11 veya üzeri) ya da Ubuntu (20.04 veya üzeri) çalıştıran 64 bit x86 işlemcide çalışır.

Bu uygulamayı yüklemek için:

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.1.0_amd64.deb

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

MVD bölgesindeki 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ızdaki başka bir işlem tarafından zaten kullanılıyorsa denetleyiciyi boşalttığınızdan emin olun.

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

sudo fuser -v 33000/tcp

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

sudo fuser -k 33000/tcp

MVD'yi Çalıştır

MVD uygulamasını uygulamalar klasörünüzden veya terminalden çalıştırın:

mvd

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ü (örneğin, Işık, Anahtar, Sensör vb.) seçin.
  • 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. 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: Şu anda yalnızca test tedarikçi firma kimliği 0xFFF1 desteklenmektedir.
  • Ürün kimliği: Şu anda 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

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.

Etkin durumdaki mevcut netfilter güvenlik duvarı kurallarını görüntülemek için şu komutu çalıştırın:

sudo iptables -L -n

Not: ufw kullanıyorsanız bu kod aşağıdaki yöntemle devre dışı bırakılabilir:

sudo ufw disable
Veya şu seçeneklerle yeniden etkinleştirilebilir:
sudo ufw enable

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 birini veya daha fazlasını görebilirsiniz:

  • Açık/Kapalı: Cihazların çoğunda yaygındır.
  • Seviye: Örneğin, bir ışıkta parlaklığı ayarlamak için seviye kaydırma çubuğu olabilir.
  • Renk: Örneğin, bir renk ışığı bu kontrole sahip olabilir.
  • Doluluk: Doluluk Sensörü, dolu/boşluk 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 kontrol durumu vb. dahil tüm durumu temizler
  • Sil: Cihazı kaldırır ve Cihaz oluştur ekranına geri döner.

Sanal Cihaz kontrol
ekranı

Cihazınızı komisyona alın

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

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

  • Google Home Developer Console bölgesinde 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'a sahip olmanız gerekir

  • Android 8.1 veya sonraki sürümleri çalıştıran ve GHA yüklü bir Android telefonunuz olmalıdır.

  • Android telefonun, merkez ile aynı kablosuz ağa bağlı olması gerekir.

  • 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ı yerleştirmenin nasıl yapılacağını açıklayan Matter cihazı eşleme bölümündeki talimatları uygulayın. Cihazı, Google Home Sample App for Matter üzerinden de yaptırabilirsiniz.

Matter'in devre dışı bırakılmasının nasıl çalıştığını öğrenmek için MatterPrimer aracımızı inceleyin.

Cihazı kontrol etme

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

  • Sanal cihazdaki durum değişikliklerini izlerken cihazı GHA veya Assistant aracılığıyla kontrol edin veya
  • Sanal cihazdaki durum değişikliklerini izlerken Sample App for Matter ile cihazı kontrol edebilir 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 Plugin gibi bir telaffuz simülasyonu 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ü.
  • Ayırıcı: Geçerli cihaz ayırıcı.
  • 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ı.
  • Geçiş 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 kumaşta 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ı durdur

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

Uygulamayı sonlandırın

Denetim penceresinin kapatılması, cihazın kaldırılmasına ve MVD uygulamasının sonlandırılmasına neden olur. Uygulamayı 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 gidersiniz.

Hata bildirin

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önder

MVD ile ilgili sevdiğiniz şeyler veya araçla ilgili deneyiminizi nasıl iyileştirebileceğimiz konusunda düşüncelerinizi paylaşmak için Geri Bildirim Formumuzu doldurun.

Form, pencerenin sağ üst köşesindeki geri bildirim düğmesiyle veya aşağıdaki düğme tıklanarak başlatılabilir.

Bize geri bildirim gönderin