Matter 虛擬裝置適合用於開發及測試 Matter 解決方案,可使用 Google Home app (GHA) 強制執行,並使用 GHA 和 Google Assistant 加以控管,就像實體 Matter 裝置一樣。
對於需要測試或模擬虛擬 Matter 裝置,但缺乏資源來建構自己的實體或虛擬 Matter 裝置的應用程式開發人員,Google 提供了 Matter Virtual Device (MVD)。MVD 是輕量的獨立 Linux 或 macOS 桌面工具,可模擬不同類型的虛擬 Matter 裝置,並提供圖形使用者介面,方便您控制及顯示虛擬 Matter 裝置的狀態。
與實體 Matter 裝置不同,MVD 不會仰賴 Bluetooth® 低功耗 (BLE) 或 Thread® 來加入 Matter 架構。而是使用主機 Linux 或 macOS 機器現有的 Wi-Fi 網路連線進行調用。
與其他工具相比
MVD 與 Virtual Device Controller (VDC) 的不同之處在於,它是獨立解決方案,將虛擬裝置與可控制它的 UI 相結合。相較之下,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 裝置類型 | 應用程式叢集 | 住家生態系統類型 |
---|---|---|
基本影片播放器 |
0x0006 0x0506 0x0509 |
電視 |
色溫 (淺色) |
0x0300 0x0008 0x0006 |
淺色 |
與感應器聯絡 |
0x0045 |
感應器 |
可調光燈 |
0x0008 0x0006 |
淺色 |
門鎖 |
0x0101 |
鎖定 |
延伸色彩 |
0x0300 0x0008 0x0006 |
淺色 |
電風扇 |
0x0202 0x0006 |
風扇 |
流程感應器 |
0x0404 |
感應器 |
通用開關 |
0x003b |
切換 |
濕度感應器 |
0x0405 |
感應器 |
光度感應器 |
0x0400 |
Sensor |
活動情形感應器 |
0x0406 |
感應器 |
開/關燈 |
0x0008 0x0006 |
淺色 |
開/關燈開關 |
0x0006 |
切換 |
開啟/關閉外掛程式單元 |
0x0008 0x0006 |
插座 |
壓力感應器 |
0x0403 |
感應器 |
泵 |
0x0006 0x0200 0x0402 0x0403 0x0404 |
不適用 |
機器人吸塵器 |
0x0054 0x0055 0x0061 |
吸塵器 |
客房空調 |
0x0006 0x0201 0x0202 |
Ac |
煙霧警報器 |
0x005C |
煙霧 |
煙霧警報器 |
0x005C |
煙霧 |
溫度感應器 |
0x0402 |
感應器 |
溫度控制器 |
0x0201 |
溫度控制器 |
Window Covering |
0x0102 |
百葉窗 |
安裝 MVD
MVD 可在執行 Debian (11 以上版本)、Ubuntu (20.04 以上版本) 或 macOS 的 64 位元 x86 處理器機器上執行。
Linux
然後執行 dpkg
來安裝 MVD Debian (.deb) 套件:
sudo dpkg -i mvd_1.4.0_amd64.deb
macOS
接著按兩下 dmg
檔案,開啟安裝視窗。
如要完成安裝,請選取 mvd
圖示並拖曳至 Applications
資料夾:
檢查通訊埠使用情形
MVD 中的控制器模組使用 TCP 通訊埠 33000 向虛擬裝置發出 RPC 呼叫。因此,如果電腦上的其他程序已在使用這個通訊埠,請務必釋出該通訊埠。
如要查看是否有任何程序使用通訊埠 33000,請按照下列步驟操作:
Linux
sudo fuser -v 33000/tcp
macOS
lsof -i:33000
您可以使用單一指令終止使用 TCP 通訊埠 33000 的任何程序:
Linux
sudo fuser -k 33000/tcp
macOS
lsof -ti:33000 | xargs kill
執行 MVD
Linux
在 Linux 上,從應用程式資料夾或終端機執行 MVD:
mvd
macOS
在 macOS 上,使用 Launchpad 開啟 MVD,或從終端機執行 MVD:
cd /Applications
open mvd.app
設定裝置
啟動後會顯示主畫面,供您設定虛擬裝置:
- 「Device Type」:選取裝置類型 (例如淺色、切換、感應器等)。
- 裝置名稱:為裝置取好記的名稱。
- 鑑別器:12 位元號碼,用於識別多個可執行裝置的廣告。(預設值:
3840
)。 - Matter 通訊埠:這個通訊埠用於 Matter 透過 IP 網路調用及通訊。Matter 預設會使用 TCP/UDP 通訊埠 5540,但您可以將虛擬裝置設為使用其他通訊埠,前提是其他服務都未使用。
- 供應商 ID:僅支援測試供應商 ID
0xFFF1
。 - 產品 ID:僅支援測試產品 ID
0x8000
到0x801F
。
設定防火牆
Linux
如果您的電腦有執行中的防火牆,請將防火牆關閉,或允許透過 Matter 通訊埠傳入的 TCP/UDP 連線。
如要查看目前啟用的 netfilter 防火牆規則,請執行以下指令:
sudo iptables -L -n
如果您使用的是 `ufw`,可以透過以下方式停用:
sudo ufw disable
且可透過以下方式重新啟用:
sudo ufw enable
macOS
如要在 macOS 上設定或停用防火牆:
- 前往 Apple 選單並選擇「System Settings」。
- 按一下側欄清單中的「網路」。
- 按一下「防火牆」。
- 將「防火牆」的切換鈕設為「關閉」。
執行裝置
裝置設定完成後,按一下「Create device」。建立裝置後,系統會顯示「Controller」畫面。視您選取的裝置類型而定,您可能會看到下列一或多個控制項:
- 開啟/關閉:適用於大多數裝置。
- Level:舉例來說,燈具可以設定亮度滑桿來調整亮度。
- 顏色:舉例來說,色光可以有這個控制項。
- 可住人數:活動情形感應器提供這項控制項,可模擬有人在家或無人在家的狀態。
所有虛擬裝置都具備下列控制項:
- QRCode:顯示用於調校的 QR code。
- 重新啟動:重新啟動虛擬裝置。裝置已暫時中斷網路連線。
- 重設:將目前的裝置恢復原廠設定並清除所有狀態,包括調用作業、目前的控制狀態等
- 刪除:刪除裝置並返回「Create device」(建立裝置) 畫面。
調試裝置
裝置一經建立即可佣金。
以下是啟動裝置測試的幾項先決條件:
您在「Google Home Developer Console」中必須有專案。這項專案必須包含的 Matter 整合項目,且與設定虛擬裝置時使用的 VID/PID 組合相同。詳情請參閱專案建立指南。
您必須擁有搭載 Android 8.1 以上版本的 Android 手機,並已安裝 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 Extension 或 Android Studio 專用的 Google Home 外掛程式。
查看裝置詳細資料
「裝置詳細資料」畫面會顯示裝置詳細資訊:
- 名稱:為裝置指定的易記名稱。
- 裝置類型:選取的裝置類型。
- 鑑別器:目前的裝置鑑別器。
- 供應商 ID:目前的裝置供應商 ID。
- 產品 ID:目前的裝置產品 ID。
- RPC 通訊埠:裝置與控制器 (GUI) 通訊的 RPC 通訊埠。
- Matter 通訊埠:目前裝置透過 IP 網路進行通訊時所用的通訊埠。
- 密碼:透過網路調用裝置的 PIN 碼。
- Configuration Folder (設定資料夾):虛擬裝置儲存設定的資料夾。
- Commission Information:顯示裝置連接的架構,以及織布中裝置的節點 ID。
查看裝置記錄
如果您已從終端機啟動 MVD,記錄輸出就會顯示在 stdout
上。此外,您也可以前往「裝置記錄」分頁查看裝置記錄。
停止裝置
如要停止並刪除裝置,請按一下「刪除」。
終止應用程式
關閉控制視窗會刪除裝置,並終止 MVD 應用程式。如果從終端機啟動,也可以在終端機中輸入 Ctrl-C 來終止應用程式。
取得協助
如需 MVD 相關協助、回報錯誤或提出新功能建議,請洽詢您的 Google 支援聯絡人。
按一下視窗右上角的說明
按鈕,即可前往這個頁面。回報錯誤
如果您認為在 MVD 中發現瑕疵,可以按一下視窗右上角的「問題 」按鈕回報錯誤。
提供意見
歡迎填寫意見回饋表單,分享您喜歡 MVD 的哪些功能,或可以如何改善這項工具使用體驗。
如要開啟表單,請點選視窗右上角的意見回饋
按鈕,或點選下方的按鈕。