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 0x0008 0x0006 |
淺色 |
可調光 |
0x0008 0x0006 |
淺色 |
加長光 |
0x0300 0x0008 0x0006 |
淺色 |
活動情形感應器 |
0x0406 |
感應器 |
開/關燈 |
0x0008 0x0006 |
淺色 |
開啟/關閉外掛程式 |
0x0008 0x0006 |
插座 |
安裝 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
設定裝置
啟動後會顯示主畫面,並可讓您設定虛擬裝置:
- 「Device Type」:選取裝置類型 (例如光照、開關、感應器等)。
- 裝置名稱:為裝置設定容易辨識的名稱。
- 鑑別器: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
執行裝置
裝置設定完成後,按一下「Create device」。裝置建立後,畫面上會顯示「Controller」畫面。視您選取的裝置類型而定,您可能會看到下列一或多個控制項:
- 開啟/關閉:適用於大多數裝置。
- Level:例如,燈具可能有一個等級滑桿可以調整亮度。
- 顏色:舉例來說,彩色燈光可用這個控制項。
- 可住人數:活動情形感應器提供這個控制項,可模擬已佔用/未佔用的狀態。
所有虛擬裝置都具有下列控制選項:
- QRCode:顯示用於調試的 QR code。
- 重新啟動:重新啟動虛擬裝置。裝置短暫中斷網路連線。
- 重設:將目前的裝置恢復原廠設定並清除所有狀態,包括調試、目前控制狀態等
- 刪除:刪除裝置,然後回到「Create device」畫面。
調試裝置
裝置一旦建立完成,即可開始使用。
以下是調試裝置的幾項先決條件:
您必須在「Google Home Developer Console」中建立專案。這項專案必須包含 Matter 整合,該整合的 VID/PID 組合與您在設定虛擬裝置時使用的 VID/PID 組合相同。詳情請參閱專案建立指南。
您的 Android 手機必須搭載 Android 8.1 以上版本並安裝 GHA。
Android 手機必須與中樞裝置連上相同的 Wi-Fi 網路。
主機機器必須連上 Wi-Fi 網路。
如要使用 GHA 佣金裝置,請按一下「QRCode」QRCode顯示裝置的 QR code,然後按照「配對 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 擴充功能或 Android Studio 適用的 Google Home 外掛程式。
查看裝置詳細資料
「Device details」(裝置詳細資料) 畫面會顯示以下裝置資訊:
- 名稱:為裝置設定的易記名稱。
- 裝置類型:所選的裝置類型。
- 鑑別器:目前的裝置鑑別器。
- 供應商 ID:目前的裝置供應商 ID。
- 產品 ID:目前的裝置產品 ID。
- RPC 通訊埠:裝置與控制器 (GUI) 通訊的 RPC 通訊埠。
- Matter 通訊埠:目前的裝置透過 IP 網路進行通訊的通訊埠。
- 傳遞代碼:透過網路調試裝置的 PIN 碼。
- 設定資料夾:虛擬裝置儲存設定的資料夾。
- Commission Information (佣金資訊):顯示裝置加入的織料,以及裝置的節點 ID (以織布面)
查看裝置記錄
如果您是透過終端機啟動 MVD,記錄輸出內容會顯示在 stdout
上。您也可以在「裝置記錄」分頁中查看裝置記錄。
停止裝置
如要停止並刪除裝置,請按一下「刪除」。
終止應用程式
如果關閉控制視窗,系統會刪除裝置並終止 MVD 應用程式。如果從終端機啟動,您也可以在終端機中輸入 Ctrl-C 來終止應用程式。
取得協助
如需 MVD 相關協助、回報錯誤或提出新功能建議,請洽詢 Google 支援團隊聯絡人。
按一下視窗右上角的說明
按鈕,即可前往這個頁面。回報錯誤
如果發現 MVD 中有瑕疵,您可以按一下視窗右上角的「問題」按鈕 回報錯誤。
提供意見
如要提供您對 MVD 的想法,或是可以改善這項工具的使用體驗,請填寫意見回饋表單。
您可以透過視窗右上角的意見回饋
按鈕啟動表單,也可以點選下方按鈕。