Matter 虛擬裝置

Matter ; Home API

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 裝置類型:

表格: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

下載 MVD Debian (.deb) 套件

下載 armored-ASCII 簽章 (.asc) 檔案

接著執行 dpkg,安裝 MVD Debian (.deb) 套件:

sudo dpkg -i mvd_1.7.0_amd64.deb

macOS

下載 MVD (macOS x86) dmg 檔案

下載 MVD (ARM64 M1) dmg 檔案

然後按兩下 dmg 檔案,開啟安裝視窗。

如要完成安裝,請選取 mvd 圖示並拖曳至 Applications 資料夾:

macOS 安裝

查看通訊埠用量

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 上,使用啟動台開啟 MVD,或從終端機執行 MVD:

cd /Applications
open 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 enable

macOS

如要在 macOS 上設定或停用防火牆,請按照下列步驟操作:

  1. 前往  Apple 選單,然後選擇「系統設定」。
  2. 按一下側欄清單中的「網路」。
  3. 按一下「防火牆」。
  4. 將「防火牆」切換鈕設為「關閉」。

執行裝置

設定完成後,按一下「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 組合與設定虛擬裝置時使用的組合相同。詳情請參閱專案建立指南。

  • 必須擁有支援 Matter 的 Google Nest Hub

  • 您必須使用搭載 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 時,您也可以透過底部彈出的問卷調查提供意見。