Matter sanal cihazlar, Matter çözümlerini geliştirmek ve test etmek için kullanışlıdır. Fiziksel Matter cihazlar gibi Google Home app (GHA) kullanılarak devreye alınabilir ve GHA ile Google Assistant kullanılarak kontrol edilebilir.
Uygulama geliştiriciler ve sanal Matter cihazı test etmesi veya taklit etmesi gereken ancak kendi fiziksel veya sanal Matter cihazını oluşturacak kaynaklara sahip olmayanlar için Google, Matter Virtual Device (MVD)'i sunar. MVD, farklı türde sanal Matter cihazları simüle eden ve sanal Matter cihazın durumlarını kontrol edip görüntülemek için grafik bir kullanıcı arayüzü sağlayan hafif, bağımsız bir Linux veya macOS masaüstü aracıdır.
Fiziksel bir Matter cihazın aksine MVD, Matter kumaşına katılmak için Bluetooth® Düşük Enerji (BDE) veya Thread®'i kullanmaz. 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, Matter Virtual Device Development Environment (MVD-DE)'da oluşturduğumuz gibi ayrı bir sanal Matter cihazı kontrol etmek için kullanılır.
MVD-DE kod laboratuvarını daha önce çalıştırmış olabilirsiniz. Bu codelab'de tek bir sanal cihaz türü (akıllı ampul) oluşturacaksınız. Buna karşılık MVD, önceden oluşturulmuş çeşitli sanal cihazlar içerir ve bunları çalıştırıp kontrol etmek için entegre bir kullanıcı arayüzü sunar.
MVD | VDC | MVD-DE (Codelab) | |
---|---|---|---|
Matter cihazı emülasyonu | |||
Öykünülen bir Matter cihazı kontrol etme | |||
Geliştirme çalışması gerekli | |||
İndir | 100 MB'tan az | 9 GB | 20 GB |
Desteklenen cihazlar
MVD, aşağıdaki Matter cihaz türlerini destekler:
Matter Cihaz Türü | Uygulama Kümeleri | Ev Ekosistemi Türü |
---|---|---|
Hava Temizleyici |
0x0202 0x0006 0x0071 |
Hava Temizleyici |
Hava Kalitesi Sensörü |
0x005b 0x0402 0x0405 0x040c 0x040d 0x042a 0x042d 0x042e |
Sensör |
Temel Video Oynatıcı |
0x0006 0x0506 0x0509 |
Tv |
Renk Sıcaklığı Işığı |
0x0300 0x0008 0x0006 |
Hafif |
Temas Sensörü |
0x0045 |
Sensör |
Karartılabilir Işık |
0x0008 0x0006 |
Hafif |
Kapı Kilidi |
0x0101 |
Kilitle |
Genişletilmiş Renk Işığı |
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çma/Kapatma Işık Anahtarı |
0x0006 |
Geç |
Açma/Kapatma Takıp Çıkartılabilen Birimi |
0x0008 0x0006 |
Outlet |
Basınç Sensörü |
0x0403 |
Sensör |
Pompa |
0x0006 0x0200 0x0402 0x0403 0x0404 |
Su Pompası |
Robot Süpürge |
0x0054 0x0055 0x0061 |
Vacuum |
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ükleme
MVD, Debian (11 veya üzeri), Ubuntu (20.04 veya üzeri) ya da macOS çalıştıran 64 bit x86 işlemcili makinelerde çalışır.
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.5.0_amd64.deb
macOS
MVD (macOS x86) dmg dosyasını indirin
MVD (ARM64 M1) dmg dosyasını indirme
Ardından, yükleme penceresini açmak için dmg
dosyasını çift tıklayın.
Yüklemeyi tamamlamak için mvd
simgesini seçip Applications
klasörüne sürükleyin:
Bağlantı noktası kullanımını kontrol etme
MVD'teki denetleyici modülü, sanal cihaza RPC çağrıları yapmak için 33000 numaralı TCP bağlantı noktasını kullanır. Bu bağlantı noktası bilgisayarınızda başka bir işlem tarafından kullanılıyorsa bağlantı noktasını boşalttığınızdan emin olun.
Herhangi bir işlemin 33000 numaralı bağlantı noktasını kullanıp kullanmadığını görmek için:
Linux
sudo fuser -v 33000/tcp
macOS
lsof -i:33000
33000 numaralı TCP bağlantı noktasını kullanan tüm işlemleri tek bir komutla sonlandırabilirsiniz:
Linux
sudo fuser -k 33000/tcp
macOS
lsof -ti:33000 | xargs kill
MVD çalıştırma
Linux
Linux'te, uygulamaların klasöründen veya terminalden MVD'ü çalıştırın:
mvd
macOS
macOS'te MVD'ü açmak için Launchpad'i kullanın veya MVD'ü terminalden çalıştırın:
cd /Applications
open mvd.app
Cihazınızı yapılandırma
Başlatma sırasında ana ekran gösterilir ve sanal 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 devreye alma ve IP ağları üzerinden iletişim için bir bağlantı noktası. 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
ile0x801F
arasındaki test ürün kimlikleri desteklenir.
Güvenlik duvarınızı yapılandırma
Linux
Bilgisayarınızda çalışan bir güvenlik duvarınız varsa kapatın veya Matter bağlantı noktasında gelen TCP/UDP bağlantılarına izin verin.
Mevcut etkin netfilter güvenlik duvarı kurallarını görüntülemek için:
sudo iptables -L -n
`ufw` kullanıyorsanız aşağıdaki komutla 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ğundaki listeden 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 oluşturulduğunda Denetleyici ekranı görünür. Seçtiğiniz cihaz türüne bağlı olarak aşağıdaki kontrollerden birini veya daha fazlasını görebilirsiniz:
- Açık/Kapalı: Cihazların çoğunda bulunur.
- Seviye: Örneğin, bir ışıkta parlaklığı ayarlamak için seviye kaydırma çubuğu bulunabilir.
- Renk: Örneğin, renkli bir ışıkta bu kontrol bulunabilir.
- Doluluk: Doluluk Sensörü, dolu veya boş durumu simüle etmek için bu denetimi sunar.
Tüm sanal cihazlarda aşağıdaki kontroller bulunur:
- QRCode: Devreye alma işlemi 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. dahil tüm durumları temizler
- Sil: Cihazı siler ve Cihaz oluştur ekranına geri döner.
Cihazınızı kurma
Cihaz, oluşturulduktan hemen sonra komisyona tabi olur.
Cihazı devreye almak için birkaç ön koşul vardır:
Google Home Developer Console'te bir projeniz olmalıdır. Bu proje, sanal cihazınızı ayarlarken kullandığınızla aynı 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'ınız olmalıdır.
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.
Cihazı GHA kullanarak devreye almak için QRCode'nu tıklayarak cihazın QR kodunu görüntüleyin, ardından GHA'ü kullanarak Matter cihazın nasıl kullanılacağını açıklayan Matter cihazı eşleme bölümündeki talimatları uygulayın. Google Home Sample App for Matter simgesini kullanarak da cihazı devreye alabilirsiniz.
Matter Devreye Alma'nın işleyiş şeklini öğrenmek için Matter Primer makalemizi inceleyin.
Cihazı kontrol etme
Sanal bir cihazı kullanıma aldıktan sonra Google Home uygulamasını veya Google Asistan'ı sesli olarak kullanarak cihazı kontrol edebilirsiniz. Aşağıdaki yöntemlerden birini uygulayabilirsiniz:
- Sanal cihazdaki durum değişikliklerini izlerken cihazı GHA veya Assistant üzerinden kontrol edin ya da
- Sanal cihazdaki durum değişikliklerini izlerken Sample App for Matter simgesini kullanarak cihazı kontrol edin veya
- GHA veya Assistant'deki durum değişikliklerini izlerken cihaz durumunu MVD üzerinden kontrol edin.
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örüntüleme
Cihaz ayrıntıları ekranında ayrıntılı cihaz bilgileri gösterilir:
- Ad: Cihaza verilen kullanıcı adı.
- Cihaz Türü: Seçilen cihaz türü.
- Ayrıştırıcı: Geçerli cihaz ayırıcısı.
- Satıcı kimliği: Mevcut cihaz satıcı kimliği.
- Ürün kimliği: Mevcut cihazın ü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 IP ağı üzerinden iletişim kurmak için kullandığı 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ı depoladığı klasör.
- Komisyon Bilgileri: Cihazın katıldığı kumaşları ve kumaştaki 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ı durdurup imha etmek için Sil'i tıklayın.
Uygulamayı sonlandırma
Kontrol penceresi kapatıldığında cihaz imha edilir ve MVD uygulaması sonlandırılır. Terminalden başlattıysanız terminalde Ctrl-C yazarak da uygulamayı sonlandırabilirsiniz.
Yardım alın
MVD ile ilgili yardım almak, hata bildirmek veya yeni bir özellik istemek 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'te bir kusur bulduğunuzu düşünüyorsanız pencerenin sağ üst köşesindeki Sorun düğmesini tıklayarak hata kaydı oluşturabilirsiniz.
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.
Formu, pencerenin sağ üst köşesindeki geri bildirim
düğmesinden veya aşağıdaki düğmeyi tıklayarak başlatabilirsiniz.