Matter 虛擬裝置適合用於開發及測試 Matter 解決方案,可使用 Google Home app (GHA) 進行委託,並且可使用 GHA 和 Google Assistant 控制,就像實體 Matter 裝置一樣。
對於需要測試或模擬虛擬 Matter 裝置,但缺少建構專屬實體或虛擬 Matter 裝置所需的應用程式,Google 提供 Matter Virtual Device (MVD)。MVD 是輕量版獨立 Linux 電腦工具,可模擬不同類型的虛擬 Matter 裝置,並提供圖形使用者介面,方便您控制和顯示虛擬 Matter 裝置的狀態。
與實體 Matter 裝置不同,MVD 不需要使用 Bluetooth®低功耗 (BLE) 或 Thread®,才能加入 Matter 布料。而是使用主機 Linux 機器現有的 Wi-Fi 網路連線進行委託。
與其他工具比較
MVD 與 Virtual Device Controller (VDC) 不同,後者是獨立的解決方案,結合虛擬裝置和使用者介面來加以控制。反之,VDC 可用來控制獨立的虛擬 Matter 裝置,例如我們在 Matter Virtual Device Development Environment (MVD-DE) 中建構的裝置。
您可能已使用過 MVD-DE 程式碼研究室。在這個程式碼研究室中,您將建構單一類型的虛擬裝置-智慧燈泡。相反地,MVD 包含數個預先建構的虛擬裝置,並包含整合式 UI,可執行及控制這些裝置。
MVD | VDC | MVD-DE (程式碼研究室) | |
---|---|---|---|
模擬 Matter 裝置 | |||
控制模擬 Matter 裝置 | |||
需要投入心力 | |||
下載 | 小於 100 MB | 9 GB | 20 GB |
支援的裝置
目前 MVD 支援下列 Matter 裝置類型:
Matter 個裝置類型 | 應用程式叢集 | 住宅生態系統類型 |
---|---|---|
色溫 |
0x0300 000008 0x0006 |
淺色 |
可調光 |
0x0008 xx0006 |
淺色 |
延伸淺色 |
0x0300 000008 0x0006 |
淺色 |
活動情形感應器 |
0x0406 |
感應器 |
開關燈開關 |
0x0008 xx0006 |
淺色 |
開啟/關閉插電單元 |
0x0008 xx0006 |
插座 |
安裝 MVD
MVD 可以在搭載 Debian (11 以上版本) 或 Ubuntu (20.04 以上版本) 的 64 位元 x86 處理器機器上執行。
請按照下列步驟安裝:
然後執行 dpkg
以安裝 MVD Debian (.deb) 套件:
sudo dpkg -i mvd_1.1.0_amd64.deb
查看通訊埠使用情形
MVD 中的控制器模組使用 TCP 通訊埠 33000,向虛擬裝置發出 RPC 呼叫,所以如果您的電腦中已有其他程序正在使用這個通訊埠,請務必將該通訊埠釋出。
如要查看是否有任何程序使用通訊埠 33000,請按照下列步驟操作:
sudo fuser -v 33000/tcp
您可以使用單一指令來終止任何使用 TCP 通訊埠 33000 的程序:
sudo fuser -k 33000/tcp
執行 MVD
從應用程式資料夾或從終端機執行 MVD:
mvd
設定裝置
啟動後會顯示主畫面,並讓您設定虛擬裝置:
- 裝置類型:選取裝置類型 (例如燈具、開關、感應器等)。
- 裝置名稱:為裝置提供容易辨識的名稱。
- 分子:12 位元的數字,用於區分多佣金裝置廣告。(預設值:
3840
)。 - Matter 通訊埠:Matter 佣金和通訊的 IP 網路通訊埠。Matter 預設使用 TCP/UDP 通訊埠 5540,但您可以將虛擬裝置設為使用其他通訊埠,前提是其他服務均不適用。
- 供應商 ID:目前僅支援測試供應商 ID
0xFFF1
。 - 產品 ID:目前僅支援
0x8000
到0x801F
的產品 ID。
設定防火牆
如果您已在電腦上執行防火牆,請將其關閉,或是允許在 Matter 通訊埠傳入 TCP/UDP 連線。
如要查看目前有效的 netfilter 防火牆規則,請執行:
sudo iptables -L -n
注意:如果您使用 ufw
,可以透過以下方式停用:
sudo ufw disable
您可以透過以下方式重新啟用:
sudo ufw enable
執行裝置
裝置設定完畢後,請按一下「建立裝置」。裝置建立後,會顯示「Controller」畫面。視您選取的裝置類型而定,您可能會看到下列一或多個控制項:
- 開啟/關閉:適用於大多數裝置。
- 等級:舉例來說,燈具可以設定層級的滑桿來調整亮度。
- 顏色:舉例來說,彩色燈可能就是這個控制項。
- 可住人數:入座率感應器提供這個控制項,可模擬有人佔用/未住入的狀態。
所有虛擬裝置都有下列控制項:
- QRCode:顯示佣金用的 QR code。
- 重新啟動:重新啟動虛擬裝置。裝置已暫時中斷網路連線。
- 重設:將目前的裝置恢復原廠設定,並清除所有狀態,包括佣金、目前的控制狀態等
- 刪除:刪除裝置,並返回「建立裝置」畫面。
佣金裝置
裝置在建立後隨即啟用佣金。
裝置必須符合以下必要條件:
您必須在 Google Home Developer Console 中有一個專案。此專案必須具有 Matter 整合,且其虛擬 VID/PID 組合與設定虛擬裝置時使用的相同。詳情請參閱專案建立指南。
您必須擁有搭載 Android 8.1 以上版本的 Android 手機,並安裝 GHA。
Android 手機必須和中樞裝置連上相同的 Wi-Fi 網路。
主機電腦必須連線至 Wi-Fi 網路。
如要使用 GHA 計算裝置,請按一下「QRCode」來顯示裝置的 QR 圖碼,然後按照「配對 Matter 裝置」一文中的操作說明,瞭解如何使用 GHA 啟動 Matter 裝置。您也可以使用 Google Home Sample App for Matter 來委託裝置。
請參閱我們的 Matter 入門瞭解 Matter 佣金的運作方式。
控制裝置
對於虛擬裝置後,您可以使用「Google Home 應用程式或語音啟動 Google 助理」來控制裝置。 你可以採取下列其中一種做法:
- 透過 GHA 或 Assistant 控制裝置,同時監控虛擬裝置上的狀態變更;或
- 使用 Sample App for Matter 控制裝置,同時監控虛擬裝置上的狀態變更,或
- 透過 MVD 自行控制裝置狀態,同時監控 GHA 或 Assistant 的狀態變更。
使用裝置進行測試
如要使用 Assistant 進行測試,建議您使用語音模擬器,例如 VS Code 的 Google Home Extension 或 Android Studio 的 Google Home 外掛程式。
查看裝置詳細資料
「裝置詳細資料」畫面會顯示詳細的裝置資訊:
- 名稱:為裝置指定的好記名稱。
- 裝置類型:所選的裝置類型。
- 分子:目前裝置的歧視器。
- 供應商 ID:目前的裝置供應商 ID。
- 產品 ID:目前的裝置產品 ID,
- RPC 通訊埠:裝置與控制器 (GUI) 進行通訊的 RPC 通訊埠。
- Matter 通訊埠:目前裝置透過 IP 網路進行通訊的通訊埠。
- Pass code:透過網路委託裝置的 PIN 碼。
- Configuration Folder:虛擬裝置儲存設定的資料夾。
- 佣金資訊:顯示裝置連接的布料,以及布料中的裝置節點 ID
查看裝置記錄
如果您從終端機啟動 MVD,則記錄輸出會顯示在 stdout
中。您也可以在「裝置記錄」分頁中查看裝置記錄。
停止裝置
如要停止並刪除裝置,請按一下「刪除」。
終止應用程式
關閉控制視窗會刪除裝置,並終止 MVD 應用程式。如果您是從終端機啟動,您也可以在終端機中輸入 Ctrl-C 來終止應用程式。
取得說明
如需 MVD 的相關協助、回報錯誤或要求新功能,請聯絡 Google 支援聯絡人。
按一下視窗右上角的 [說明] 按鈕
,即可前往這個頁面。回報錯誤
如果您認為自己在 MVD 中發現了瑕疵,可以按一下視窗右上角的「問題」按鈕 ,回報錯誤。
提供意見
如要提供您對 MVD 的看法,或是想利用這項工具改善服務品質,請填寫「意見回饋表單」。
您可以從視窗右上角的意見回饋
按鈕啟動表單,也可以點選下方的按鈕。