Matter 虛擬裝置可用於開發及測試 Matter 解決方案,並可使用 Google Home app (GHA) 進行委任,以及使用 GHA 和 Google Assistant 進行控制,就像實體 Matter 裝置一樣。
如果應用程式開發人員和其他人員需要測試或模擬虛擬 Matter 裝置,但缺乏資源建構自己的實體或虛擬 Matter 裝置,Google 會提供 Matter Virtual Device (MVD)。MVD 是輕量級獨立 Linux 或 macOS 桌面工具,可模擬不同類型的虛擬 Matter 裝置,並提供圖形使用者介面,用於控制及顯示虛擬 Matter 裝置的狀態。
與實體 Matter 裝置不同,MVD 不依賴藍牙低功耗 (BLE) 或 Thread® 加入 Matter 網路。而是使用主機 Linux 或 macOS 機器現有的 Wi-Fi 網路連線進行。
與其他工具相比
MVD 與 Virtual Device Controller (VDC) 的不同之處在於,它是獨立的解決方案,結合了虛擬裝置和用於控制該裝置的 UI。相較之下,VDC 則用於控制獨立的虛擬 Matter 裝置。
MVD 包含多個不同的預建虛擬裝置,並提供整合式 UI,可用於執行及控制這些裝置。
支援的裝置
MVD 支援下列 Matter 裝置類型:
| Matter 裝置類型 | 應用程式叢集 | 住家生態系統類型 |
|---|---|---|
| 空氣清淨機 |
0x0202 0x0006 0x0071 0x0072 |
空氣清淨機 |
| 空氣品質感應器 |
0x005b 0x0402 0x0405 0x040c 0x040d 0x042a 0x042b 0x042c 0x042d 0x042e 0x042f 0x0413 0x0415 |
感應器 |
| 基本影片播放器 |
0x0006 0x0506 0x0509 |
電視 |
| 色溫燈 |
0x0300 0x0008 0x0006 |
淺色 |
| 接觸感應器 |
0x0045 |
感應器 |
| 可調光燈具 |
0x0008 0x0006 |
淺色 |
| 可調光外掛式裝置 |
0x0006 0x0008 |
Outlet |
| 洗碗機 |
0x0006 0x0059 0x0056 0x0060 |
洗碗機 |
| 門鎖 |
0x0101 |
鎖定 |
| Extended Color Light |
0x0300 0x0008 0x0006 |
淺色 |
| 電風扇 |
0x0202 0x0006 |
風扇 |
| 流量感應器 |
0x0404 |
感應器 |
| 一般切換 |
0x003b |
切換鈕 |
| 濕度感應器 |
0x0405 |
感應器 |
| 洗衣機 |
0x0006 0x0051 0x0053 0x0056 0x0060 |
洗衣機 |
| 光度感應器 |
0x0400 |
感應器 |
| 活動情形感應器 |
0x0406 |
感應器 |
| 開關燈 |
0x0008 0x0006 |
淺色 |
| 電燈開關 |
0x0006 |
切換鈕 |
| 開關插電裝置 |
0x0008 0x0006 |
Outlet |
| 壓力感應器 |
0x0403 |
感應器 |
| 泵 |
0x0006 0x0200 0x0402 0x0403 0x0404 |
Pump |
| 掃地機器人 |
0x0054 0x0055 0x0061 |
吸塵器 |
| 房間空調 |
0x0006 0x0201 0x0202 |
空調 |
| 煙霧及一氧化碳警報器 |
0x005C |
一氧化碳偵測器
煙霧偵測器 |
| 溫度感應器 |
0x0402 |
感應器 |
| 溫度控制器 |
0x0201 |
溫度控制器 |
| 窗簾 |
0x0102 |
百葉窗 |
安裝 MVD
MVD 適用於搭載 Debian (13 Trixie 以上版本)、Ubuntu (20.04 Noble Numbat 以上版本) 或 macOS 的 64 位元 x86 處理器機器。
Linux
接著執行 dpkg,安裝 MVD Debian (.deb) 套件:
sudo dpkg -i mvd_1.7.0_amd64.debmacOS
然後按兩下 dmg 檔案,開啟安裝視窗。
如要完成安裝,請選取 mvd 圖示並拖曳至 Applications 資料夾:
查看通訊埠用量
MVD 中的控制器模組會使用 TCP 通訊埠 33000 向虛擬裝置發出 RPC 呼叫,因此如果電腦上的其他程序已使用這個通訊埠,請務必釋出。
如要查看是否有任何程序正在使用通訊埠 33000,請執行下列指令:
Linux
sudo fuser -v 33000/tcpmacOS
lsof -i:33000您可以使用單一指令,終止任何使用 TCP 通訊埠 33000 的程序:
Linux
sudo fuser -k 33000/tcpmacOS
lsof -ti:33000 | xargs kill執行 MVD
Linux
在 Linux 上,從應用程式資料夾或終端機執行 MVD:
mvdmacOS
在 macOS 上,使用啟動台開啟 MVD,或從終端機執行 MVD:
cd /Applicationsopen mvd.app
設定裝置
啟動後會顯示主畫面,您可以在這裡設定虛擬裝置:
- 裝置類型:選取裝置類型 (例如燈具、開關、感應器等)。
- 裝置名稱:為裝置設定容易使用的名稱。
- 鑑別器:12 位元數字,用於區分多個可委任裝置廣告。(預設值:
3840)。 - Matter 通訊埠:用於透過 IP 網路進行 Matter 委託和通訊的通訊埠。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 enablemacOS
如要在 macOS 上設定或停用防火牆,請按照下列步驟操作:
- 前往 Apple 選單,然後選擇「系統設定」。
- 按一下側欄清單中的「網路」。
- 按一下「防火牆」。
- 將「防火牆」切換鈕設為「關閉」。
執行裝置
設定完成後,按一下「Create device」。裝置建立完成後,系統會顯示「Controller」畫面。視您選取的裝置類型而定,您可能會看到下列一或多個控制項:
- 開啟/關閉:大多數裝置都支援。
- Level:例如,燈具可能會有一個用於調整亮度的等級滑桿。
- 顏色:例如,彩色燈具可能會有這項控制項。
- Occupancy:活動情形感應器提供這項控制項,可模擬有人或無人的狀態。
所有虛擬裝置都有下列控制項:
- QRCode:顯示用於委任的 QR code。
- Reboot:重新啟動虛擬裝置。裝置會短暫中斷網路連線。
- 重設:將目前裝置恢復原廠設定,並清除所有狀態,包括委任、目前控制項狀態等
- Delete:刪除裝置並返回「Create device」畫面。
製造商專屬特性
Android 專用 Home API 支援製造商專屬 (MS) 特性,並提供 Matter 標準特性以外的其他功能。如要測試具有 MS 特性的裝置,MVD 可讓您與「Custom Clusters」部分中的特性互動 (請參閱上圖)。
委任裝置
裝置建立後即可進行委任。
必須符合以下幾項條件,才能啟用裝置:
您必須在 Google Home Developer Console 中建立專案。這項專案必須包含 Matter 整合,且 VID/PID 組合與設定虛擬裝置時使用的組合相同。詳情請參閱專案建立指南。
您必須使用搭載 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 外掛程式。
查看裝置詳細資料
「裝置詳細資料」畫面會顯示詳細裝置資訊:
- 名稱:裝置的好記名稱。
- 裝置類型:所選裝置類型。
- Discriminator:目前的裝置鑑別器。
- 供應商 ID:目前的裝置供應商 ID。
- 產品 ID:目前的裝置產品 ID。
- RPC 通訊埠:裝置與控制器 (GUI) 通訊的 RPC 通訊埠。
- Matter 通訊埠:目前裝置用於透過 IP 網路通訊的通訊埠。
- 密碼:透過網路委任裝置時使用的 PIN 碼。
- 設定資料夾:虛擬裝置儲存設定的資料夾。
- 委任資訊:顯示裝置加入的 Fabric,以及裝置在 Fabric 中的節點 ID。
查看裝置記錄
如果您是從終端機啟動 MVD,記錄輸出內容會顯示在 stdout 上。您也可以在「裝置記錄」分頁中查看裝置記錄。
停止裝置
如要停止並刪除裝置,請按一下「Delete」(刪除)。
終止應用程式
關閉控制視窗會刪除裝置並終止 MVD 應用程式。如果是從終端機啟動,也可以在終端機中輸入 Ctrl-C 終止應用程式。
取得說明
如需 MVD 相關協助、回報錯誤或要求新功能,請與 Google 支援團隊聯絡。
按一下視窗右上角的說明 按鈕,即可前往這個頁面。
回報錯誤
如果您認為在 MVD 中發現瑕疵,可以按一下視窗右上角的「Issue」 按鈕,回報錯誤。
提供意見
如要分享您對 MVD 的看法,或建議我們如何改善這項工具的使用體驗,請填寫意見回饋表單。
如要開啟表單,請按一下視窗右上角的意見回饋按鈕 ,或點選下方按鈕。
使用 MVD 時,您也可以透過底部彈出的問卷調查提供意見。