Matter 虛擬裝置可用於開發及測試 Matter 解決方案,可透過 Google Home app (GHA) 啟用,並使用 GHA 和 Google Assistant 進行控制,就像實體 Matter 裝置一樣。
如果應用程式開發人員和其他人需要測試或模擬虛擬 Matter 裝置,但缺乏建構自己的實體或虛擬 Matter 裝置的資源,Google 提供 Matter Virtual Device (MVD)。MVD 是一款輕量型獨立 Linux 或 macOS 桌面工具,可模擬不同類型的虛擬 Matter 裝置,並提供圖形使用者介面,用於控制及顯示虛擬 Matter 裝置的狀態。
MVD 與實體 Matter 裝置不同,不必使用藍牙® 低功耗 (BLE) 或 Thread® 才能加入 Matter 結構體。而是使用主機 Linux 或 macOS 機器的現有 Wi-Fi 網路連線進行調試。
與其他工具比較
MVD 與 Virtual Device Controller (VDC) 的不同之處在於,MVD 是自給自足的解決方案,結合虛擬裝置與用於控制虛擬裝置的 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 裝置類型 | 應用程式叢集 | 住家生態系統類型 |
---|---|---|
空氣清淨機 |
0x0202 0x0006 0x0071 |
空氣清淨機 |
空氣品質感應器 |
0x005b 0x0402 0x0405 0x040c 0x040d 0x042a 0x042d 0x042e |
感應器 |
基本影片播放器 |
0x0006 0x0506 0x0509 |
電視 |
色溫燈光 |
0x0300 0x0008 0x0006 |
燈具 |
接觸式感應器 |
0x0045 |
感應器 |
可調光燈 |
0x0008 0x0006 |
燈具 |
門鎖 |
0x0101 |
鎖定 |
延長型色彩燈 |
0x0300 0x0008 0x0006 |
燈具 |
電風扇 |
0x0202 0x0006 |
Fan |
流量感應器 |
0x0404 |
感應器 |
一般切換鈕 |
0x003b |
切換鈕 |
濕度感應器 |
0x0405 |
感應器 |
光度感應器 |
0x0400 |
感應器 |
活動情形感應器 |
0x0406 |
感應器 |
開啟/關閉燈光 |
0x0008 0x0006 |
燈具 |
開/關燈具開關 |
0x0006 |
切換鈕 |
開/關插入式裝置 |
0x0008 0x0006 |
Outlet |
壓力感應器 |
0x0403 |
感應器 |
泵 |
0x0006 0x0200 0x0402 0x0403 0x0404 |
水泵 |
掃地機器人 |
0x0054 0x0055 0x0061 |
吸塵器 |
房間空調 |
0x0006 0x0201 0x0202 |
Ac |
煙霧/一氧化碳警報器 |
0x005C |
煙霧 |
溫度感應器 |
0x0402 |
感應器 |
溫度控制器 |
0x0201 |
溫度控制器 |
窗簾 |
0x0102 |
百葉窗 |
安裝 MVD
MVD 可在搭載 Debian (11 以上版本)、Ubuntu (20.04 以上版本) 或 macOS 的 64 位元 x86 處理器機器上執行。
Linux
接著執行 dpkg
,安裝 MVD Debian (.deb) 套件:
sudo dpkg -i mvd_1.5.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
設定裝置
啟動後會顯示主畫面,可讓您設定虛擬裝置:
- 裝置類型:選取裝置類型 (例如燈具、開關、感應器等)。
- 裝置名稱:為裝置命名,方便使用者辨識。
- Discriminator:用於區分多個可收取佣金的裝置廣告的 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 enable
macOS
如要在 macOS 上設定或停用防火牆,請按照下列步驟操作:
- 前往 Apple 選單,然後選擇「系統設定」。
- 按一下側欄清單中的「聯播網」。
- 按一下「防火牆」。
- 將「防火牆」切換鈕切換至「關閉」。
啟動裝置
裝置設定完成後,按一下「建立裝置」。建立裝置後,畫面上會顯示「Controller」畫面。視您選取的裝置類型而定,您可能會看到下列一或多個控制項:
- 開啟/關閉:適用於大多數裝置。
- 等級:例如燈具可能會提供等級滑桿來調整亮度。
- 顏色:例如彩色燈具可能會提供這個控制項。
- 有人在場:有人在場感應器提供此控制項,可模擬有人在場或無人狀態。
所有虛擬裝置都提供下列控制項:
- QRCode:顯示用於調試的 QR code。
- 重新啟動:重新啟動虛擬裝置。裝置會暫時中斷網路連線。
- 重設:將目前的裝置恢復原廠設定,並清除所有狀態,包括調試、目前的控制項狀態等等
- 刪除:刪除裝置並返回「建立裝置」畫面。
委任裝置
裝置建立後即可進行委派作業。
啟用裝置時,必須符合下列幾個先決條件:
您必須在 Google Home Developer Console 中擁有專案。這個專案必須包含 Matter 整合,且 VID/PID 組合必須與設定虛擬裝置時使用的組合相同。詳情請參閱專案建立指南。
您必須使用搭載 Android 8.1 以上版本的 Android 手機,並安裝 GHA。
Android 手機必須連上與中樞連線相同的 Wi-Fi 網路。
主機必須連上 Wi-Fi 網路。
如要使用 GHA 啟用裝置,請點選「QR code」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 進行測試,建議使用語句模擬器,例如 Google Home Extension for VS Code 或 Google Home Plugin for Android Studio。
查看裝置詳細資料
「Device detail」畫面會顯示詳細的裝置資訊:
- 名稱:裝置的簡易名稱。
- 裝置類型:所選裝置類型。
- 鑑別器:目前的裝置鑑別器。
- 供應商 ID:目前的裝置供應商 ID。
- 產品 ID:目前裝置的產品 ID。
- RPC 通訊埠:裝置與控制器 (GUI) 通訊的 RPC 通訊埠。
- Matter 通訊埠:目前裝置用於透過 IP 網路通訊的通訊埠。
- 密碼:用於透過網路啟用裝置的 PIN 碼。
- 設定資料夾:虛擬裝置儲存設定的資料夾。
- 佣金資訊:顯示裝置加入的 Fabric,以及裝置在 Fabric 中的節點 ID。
查看裝置記錄檔
如果您是從終端機啟動 MVD,記錄輸出內容會顯示在 stdout
上。您也可以在「裝置記錄」分頁中查看裝置記錄。
停止裝置
如要停止並銷毀裝置,請按一下「刪除」。
終止應用程式
關閉控制視窗會摧毀裝置,並終止 MVD 應用程式。如果您是從終端機啟動應用程式,也可以在終端機中輸入 Ctrl-C 來終止應用程式。
取得說明
如需 MVD 相關協助、回報錯誤或要求新增功能,請與 Google 支援團隊聯絡。
按一下視窗右上角的說明
按鈕,即可前往這個頁面。回報錯誤
如果您認為 MVD 有瑕疵,可以按一下視窗右上角的「Issue」 按鈕,回報錯誤。
提供意見
如要針對 MVD 的優點或改善工具使用體驗的方式提供意見,請填寫意見回饋表單。
您可以透過視窗右上角的「意見」
按鈕,或點選下方按鈕,啟動這份表單。