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.
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:
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ü:
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.
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:
- ⣿ Apple menüsüne gidin ve Sistem Ayarları'nı seçin.
- Kenar çubuğu listesinde Ağ'ı tıklayın.
- Güvenlik Duvarı'nı tıklayın.
- 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.
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.