Matter sanal cihazları, Matter çözümlerinin geliştirilip test edilmesinde kullanışlıdır ve Google Home app (GHA) ile yaptırılabilir. Ayrıca, fiziksel Matter cihazları gibi GHA ve Google Assistant ile kontrol edilebilir.
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 kullanıcılara Matter Virtual Device (MVD) hizmetini 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, basit ve bağımsız bir Linux masaüstü aracıdır.
Fiziksel bir Matter cihazından farklı olarak MVD, bir Matter yapısına katılmak için Bluetooth® Düşük Enerji (BDE) veya Thread®'i kullanmaz. Bunun yerine, devreye alma işlemi için ana Linux 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ü ile birleştiren bağımsız bir çözüm olmasıyla Virtual Device Controller (VDC)'dan farklıdır. Buna karşılık VDC, Matter Virtual Device Development Environment (MVD-DE)'te oluşturduğumuz cihaz 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ı bir ampul oluşturacaksınız. 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.
MVD | VDC | MVD-DE (Codelab) | |
---|---|---|---|
Matter cihaz emülasyonu | |||
Öykünülen bir Matter cihazını kontrol etme | |||
Gerekli geliştirme aşaması | |||
İndirme | 100 MB'tan az | 9 GB | 20 GB |
Desteklenen cihaz sayısı
MVD şu anda aşağıdaki Matter cihaz türünü desteklemektedir:
Matter Cihaz Türü | Uygulama Kümeleri | Ev Ekosistemi Türü |
---|---|---|
Işı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şık |
0x0008 0x0006 |
Açık |
Açık/Kapalı Fiş Ünitesi |
0x0008 0x0006 |
Priz |
MVD'yi yükle
MVD, Debian (11 veya üzeri) ya da Ubuntu (20.04 veya üzeri) çalıştıran 64 bit x86 işlemci makinelerde çalışır.
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 ürünündeki 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ırma
Başlatıldığında ana ekran 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 hizmete bilgi verme 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
ile0x801F
arasındaki test ürün kimlikleri desteklenmektedir.
Güvenlik duvarınızı yapılandırın
Bilgisayarınızda çalışan bir güvenlik duvarı varsa onu kapatın veya Matter bağlantı noktasından gelen TCP/UDP bağlantılarına izin verin.
Etkin durumdaki 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 özellik aşağıdakilerle devre dışı bırakılabilir:
sudo ufw disable
Ayrıca şununla 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 Denetleyici ekranı görünür. Seçtiğiniz cihazın türüne bağlı olarak, aşağıdaki denetimlerden 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 ışığı bu kontrole sahip olabilir.
- Doluluk: Doluluk Sensörü, dolu/boşta olduğunu 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 vb. tüm durumları temizler
- Sil: Cihazı yok eder ve Cihaz oluştur ekranına geri döner.
Cihazınızı komisyona alın
Cihaz, oluşturulur oluşturulmaz kullanılabilir hale gelir.
Cihazın devreye alınması 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 telefon, hub ile aynı kablosuz ağa bağlı olmalıdır.
Ana makine kablosuz ağa bağlı olmalıdır.
Cihazı GHA kullanarak çalıştırmak için QRCode'u tıklayarak cihazın QR kodunu görüntüleyin, ardından GHA kullanarak bir Matter cihazı nasıl ilk ekleyeceğinizi açıklayan Matter cihazı eşleme bölümündeki talimatları uygulayın. Ayrıca, Google Home Sample App for Matter üzerinden cihazı devreye alabilirsiniz.
Matter Devreye almanın işleyiş şekli hakkında bilgi edinmek için MatterPrimer belgemize göz atın.
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 ya da
- 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 et
Assistant ile test etmek için Google Home Extension for VS Code veya Android Studio için Google Home Plugin gibi bir ses simülatörü kullanmanızı öneririz.
Cihaz ayrıntılarını göster
Cihaz ayrıntıları ekranı ayrıntılı cihaz bilgilerini gösterir:
- Ad: Cihaza verilen kolay ad.
- Cihaz Türü: Seçilen cihaz türü.
- Ayrıştı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ı: IP ağı üzerinden iletişim kurmak için geçerli cihaz tarafından 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 kumaşın içindeki 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
tarihinde 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ı yok eder ve MVD uygulaması sonlandırılır. 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 ö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 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 hakkındaki düşüncelerinizi göndermek için Geri Bildirim Formu'nu doldurun.
Form, pencerenin sağ üst köşesindeki geri bildirim
düğmesiyle veya aşağıdaki düğme tıklanarak başlatılabilir.