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, ana makineyi Linux veya macOS makinenin devreye alma için mevcut kablosuz ağ bağlantısı.
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, Matter Virtual Device Development Environment (MVD-DE)'da oluşturduğumuz gibi ayrı bir sanal Matter cihazı kontrol etmek için kullanılır.
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 bir Matter cihazı kontrol etme | |||
Geliştirme çalışması gerekir | |||
İ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 Fişli Ünitesi |
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
Debian (.deb) paketini yüklemek için dpkg
'ü ç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ü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ır
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ü (ör. ışık, anahtar, sensör vb.) seçin.
- Cihaz Adı: Cihaza kullanıcı dostu bir ad verin.
- Ayırt edici: Komisyonlu birden fazla cihaz reklamını birbirinden ayırt etmek için kullanılan 12 bitlik bir sayı. (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 başka bir hizmet tarafından kullanılmadığı sürece sanal cihazı farklı bir bağlantı noktası kullanacak şekilde yapılandırabilirsiniz.
- Satıcı kimliği: Yalnızca test satıcı 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ırın
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ı.
Geçerli etkin netfilter görüntülemek için şu komutu çalıştırın:
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ğıdakilerle 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 ayarlanan seviye kaydırma çubuğu parlaklık.
- Renk: Örneğin, renkli bir ışıkta bu kontrol bulunabilir.
- 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 ağ bağlantısı kısa süreliğine kesilir.
- 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ı devreye almak için birkaç ön koşul vardır:
Google Home Developer Console'te 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 sürümleri çalıştıran ve GHA yüklendi.
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
- Cihazı kontrol etmek için Durum izlenirken Sample App for Matter sanal cihazdaki değişiklikler 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 etmek için bir ifade kullanmanızı öneririz simülatörü ve benzeri VS Code için Google Home Uzantısı veya Android Studio için Google Home Eklentisi.
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 ayırıcı.
- 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.
- Devreye Alma Bilgileri: Cihazın katıldığı ağları ve ağdaki cihazın düğüm kimliğini gösterir.
Cihaz günlüklerini görüntüleme
MVD'ü terminalden başlattıysanız günlük çıkışı stdout
'te görünür.
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
Kontrol penceresi kapatıldığında cihaz imha edilir ve MVD uygulaması sonlandırılır. 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 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.
Form, geri bildirim üzerinden başlatılabilir.
düğmesi veya aşağıdaki düğmeyi tıklayarak pencerenin sağ üst köşesinde görünür.