Uzak Sanal Cihaz

Konu Cihaz SDK'sı

Matter sanal cihaz, geliştirme ve test için yararlıdır Matter çözümleridir ve Google Home app (GHA) ve GHA ve Google Assistant, aynı fiziksel Matter gibi cihazlar.

Uygulama geliştiriciler ve sanal bir sanal makineyi test etmesi ya da Matter cihaz var ancak kendi cihazlarını oluşturmak için gerekli kaynaklara sahip değiller fiziksel veya sanal Matter cihaz, Google Matter Virtual Device (MVD) sunuyor. MVD bir simüle eden basit bağımsız Linux veya macOS masaüstü aracı Sanal Matter cihaz türlerini belirtir ve size kontrol etmek ve görüntülemek için kullanıcı arayüzünde Matter cihaz.

Fiziksel Matter cihazın aksine, MVD Bluetooth® Düşük Enerji (BDE) veya Thread® bir Matter kumaşını birleştirmek için gereklidir. Bunun yerine, ilk çalıştırma için ana 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ı bakımından Virtual Device Controller (VDC)'den farklıdır. Buna karşılık VDC, olan ayrı bir sanal Matter cihazını kontrol edebilir (örneğin, Matter Virtual Device Development Environment (MVD-DE) içinde oluşturuyoruz.

Daha önce MVD-DE codelab'i ile çalışmış olabilirsiniz. Burada codelab'i kullanarak tek bir tür sanal cihaz, yani akıllı ampul geliştiriyorsunuz. İçinde Buna karşın MVD, birkaç farklı önceden oluşturulmuş öğe içerir. sanal cihazları ç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 Matter cihazını kontrol etme
Geliştirme çalışması gerekli
İndir 100 MB'tan az 9 GB 20 GB

Desteklenen cihazlar

MVD, şu Matter ayarlarını destekler: cihaz türleri:

Tablo: Matter cihaz MVD için desteklenen türler
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çma/kapatma ışığı 0x0008

0x0006
Hafif
Açık/Kapalı Işık Anahtarı
0x0006
Geç
Açma/Kapatma Takıp Çıkartılabilen Birimi 0x0008

0x0006
Priz
Basınç Sensörü 0x0403
Sensör
Pompa
0x0006 0x0200
0x0402
0x0403
0x0404
Su Pompası
Robot Süpürge 0x0054

0x0055
0x0061
Elektrik süpürgesi
Oda Kliması
0x0006 0x0201
0x0202
Ac
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 çalıştıran 64 bit x86 işlemci makinelerinde çalışır (11 veya üzeri), Ubuntu (20.04 veya sonraki bir sürüm) ya da macOS.

Linux

MVD Debian (.deb) paketini indirin

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

Ardından MVD eklentisini yüklemek için dpkg komutunu çalıştırın. Debian (.deb) paketi:

sudo dpkg -i mvd_1.4.0_amd64.deb

macOS

MVD (macOS x86) dmg dosyasını indirin

MVD (ARM64 M1) dmg dosyasını indirme

Ardından yüklemeyi açmak için dmg dosyasını çift tıklayın penceresini kapatın.

Yüklemeyi tamamlamak için mvd simgesini seçip Applications klasörü:

macOS yükleme

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

MVD içindeki denetleyici modülü, RPC işlemini gerçekleştirmek için TCP bağlantı noktası 33000'i kullanır sanal cihaza çağrı gönderir. Bu bağlantı noktası halihazırda başka bir bağlantı noktası tarafından kullanılıyorsa işlemi gerçekleştirdiyseniz boş bıraktığı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ırma

Linux

Linux'ta MVD komutunu uygulamalar klasörünüzden veya terminal:

mvd

macOS

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

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.) kullanın.
  • Cihaz Adı: Cihaza kullanıcı dostu bir ad verin.
  • Ayırıcı: Birden fazla ifadeyi ayırt etmek için kullanılan 12 bitlik bir sayı cihaz reklamları için geçerlidir. (Varsayılan: 3840).
  • Matter Bağlantı Noktası: Matter için bir bağlantı noktası devreye alma sürecini IP ağları. Matter varsayılan olarak 5540 numaralı TCP/UDP bağlantı noktasını kullanır, ancak sanal cihazı farklı bir kullanmadığı sürece bağlantı noktasını kullanabilirsiniz.
  • 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 ürün kimliklerini test edin 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 kapatın veya güvenlik duvarına izin verin Matter bağlantı noktasında gelen TCP/UDP bağlantıları.

Mevcut etkin netfilter güvenlik duvarı kurallarını görüntülemek için:

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ğı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 gidin ve 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 şu durumda: Denetleyici ekranı görüntülenir. Kullandığınız cihazın türüne bağlı olarak aşağıdaki denetimlerden birini veya daha fazlasını görebilirsiniz:

  • Açık/Kapalı: Çoğu cihazda kullanılabilir.
  • Seviye: Örneğin, bir ışıkta parlaklığı ayarlamak için seviye kaydırma çubuğu bulunabilir.
  • Renk: Örneğin, bir renk ışığında bu kontrol kullanılabilir.
  • Doluluk: Doluluk Sensörü, sıcaklığı simüle etmek için bu kontrolü sunar. işsiz veya boş durumunda olabilir.

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 bağlantısı kesildi kaldırmanız gerekir.
  • Sıfırla: Mevcut cihazı fabrika ayarlarına sıfırlar ve şunlar da dahil olmak üzere tüm durumu temizler: devreye alma, mevcut kontroller durumu vb.
  • Sil: Cihazı kaldırır ve Cihaz oluştur ekranına geri döner.

Sanal cihaz kontrolü
ekran

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, aynı VID/PID'ye sahip bir Matter entegrasyonu içermelidir kombinasyonuyla aynı olacaktır. Görüntüleyin proje oluşturma rehberini inceleyin.

  • Şu cihazları destekleyen bir Google Nest Hub'ınızın olması gerekir: Konu

  • Android 8.1 veya sonraki bir sürümü çalıştıran ve GHA yüklü olan 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.

GHA özelliğini kullanarak cihazı komisyon almak için QRCode'u tıklayarak cihazın QR kodunu görüntüleyin, ardından Bir Matter eşle cihaz kullanıyor. bir Matter cihazına GHA Ayrıca, Google Home Sample App for Matter.

Bkz. Matter Primer'dan Matter devreye almanın işleyiş şeklini öğrenin.

Cihazı kontrol etme

Sanal bir cihazı devreye aldıktan sonra Google Home uygulamasını veya Google Asistan'ı ses özelliği gösterilir. Aşağıdaki yöntemlerden birini uygulayabilirsiniz:

  • Cihazı GHA veya Durum değişiklikleri izlenirken Assistant açık sanal cihaz veya
  • Sanal cihazdaki durum değişikliklerini izlerken Sample App for Matter simgesini kullanarak cihazı kontrol edin veya
  • Bu sırada cihaz durumunu MVD üzerinden kontrol edin GHA veya tablodaki durum değişikliklerini izleme Assistant.

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ülasyon 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ısı.
  • 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ı: Geçerli cihazın iletişim kurmalarını sağlar.
  • Şifre Kodu: Cihazı ağ üzerinden yaptırmak için kullanılan PIN.
  • Yapılandırma Klasörü: Sanal cihazın depoladığı klasör yapılandırma.
  • Komisyon Bilgileri: Cihazın katıldığı kumaşları gösterir ve cihazın düğüm kimliği.

Cihaz günlüklerini göster

MVD uygulamasını terminalden başlattıysanız günlük çıkışı görünür stdout tarihinde. 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ın silinmesine neden olur ve MVD uygulaması. Terminalden başlattıysanız: terminalde Ctrl-C tuşlarına basarak da uygulamayı sonlandırın.

Yardım alın

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, Sorun'u tıklayarak hata bildiriminde bulunabilirsiniz. düğmesini tıklayın.

Geri bildirim gönder

MVD ile ilgili sevdiğiniz şeylerden ve önerilerinizden yararlanmak için daha iyi bir araç deneyimi için, Geri Bildirim Formu'nu doldurun.

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

Geri bildiriminizi gönderin