Matter 虛擬裝置

Matter ; Home API

Matter 虛擬設備對於開發和測試 Matter 解決方案非常有用,並且可以使用 Google Home app (GHA) 進行調試,並使用 GHAGoogle Assistant 進行控制,就像物理 Matter 設備一樣。

對於需要測試或模擬虛擬 Matter 裝置但缺乏資源來建立自己的 實體虛擬 Matter 裝置的應用程式開發人員和其他人員,Google 提供了 Matter Virtual Device (MVD)MVD 是輕巧的獨立 Linux 或 macOS 電腦工具,可模擬不同類型的虛擬Matter裝置,並提供圖形使用者介面,用於控制及顯示虛擬Matter裝置的狀態。

與實體 Matter 裝置不同,MVD 不依賴藍牙®低功耗 (BLE) 或 Thread® 來連接 Matter 織物。而是使用主機 Linux 或 macOS 機器現有的 Wi-Fi 網路連線進行委派。

與其他工具相比

MVDVirtual Device Controller (VDC) 的不同之處在於,MVD 是獨立解決方案,結合了虛擬裝置和控制虛擬裝置的 UI。相較之下,VDC 用於控制個別的虛擬 Matter 裝置。

MVD 包含幾個不同的預先建置虛擬設備,並包含一個用於運行和控制它們的整合使用者介面。

支援的裝置

MVD支援以下Matter設備類型:

表格:Matter 支援的裝置類型MVD
Matter 裝置類型 應用叢集 住家生態系統類型
空氣清淨機 0x0202
0x0006
0x0071
空氣清淨機
空氣品質感應器 0x005b
0x0402
0x0405
0x040c
0x040d
0x042a
0x042d
0x042e
感應器
基本影片播放器 0x0006
0x0506
0x0509
電視
色溫燈 0x0300
0x0008
0x0006
淺色
接觸感應器 0x0045
感應器
可調光燈 0x0008
0x0006
淺色
可調光插頭式裝置 0x0006
0x0008
Outlet
洗碗機 0x0006
0x0059
0x0056
0x0060
洗碗機
門鎖 0x0101
擴展彩色光 0x0300
0x0008
0x0006
燈光
電風扇 0x0202
0x0006
Fan
流量感測器 0x0404
感測器
一般開關 0x003b
開關
濕度感應器 0x0405
感應器
洗衣機 0x0006
0x0051
0x0053
0x0056
0x0060
洗衣機
光度感應器 0x0400
感應器
活動情形感應器 0x0406
感應器
開燈/關燈 0x0008
0x0006
淺色
開關 0x0006
切換按鈕
開/關插電單元 0x0008
0x0006
出口
壓力感測器 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) 套件

下載 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 安裝

檢查通訊埠用量

控制器模組會使用 TCP 通訊埠 33000,對虛擬裝置發出 RPC 呼叫,因此如果電腦上的其他程序已使用這個通訊埠,請務必釋出。MVD

如要查看是否有任何程序使用通訊埠 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

設定裝置

啟動後會顯示主畫面,您可以在這裡設定虛擬裝置:

  • 裝置類型:選取裝置類型 (例如燈具、開關、感應器等)。
  • 裝置名稱:為裝置命名,方便使用者辨識。
  • 鑑別器:用來區分多個可獲得佣金的裝置廣告的 12 位元數字。(預設值:3840)。
  • Matter 通訊埠:透過 IP 網路佈建及通訊的通訊埠。MatterMatter 預設使用 TCP/UDP 通訊埠 5540,但只要沒有其他服務使用該通訊埠,您就可以設定虛擬裝置使用其他通訊埠。
  • 供應商 ID:僅支援測試供應商 ID 0xFFF1
  • 產品 ID:僅支援測試產品 ID 0x80000x801F

虛擬裝置設定畫面

設定防火牆

Linux

如果電腦正在執行防火牆,請關閉防火牆,或允許 Matter 連接埠上的 TCP/UDP 輸入連線。

如要查看目前有效的 netfilter 防火牆規則,請執行下列指令:

sudo iptables -L -n

如果您使用 `ufw`,可以透過下列指令停用:

sudo ufw disable

並可使用下列指令重新啟用:

sudo ufw enable

macOS

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

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

運行你的設備

設定裝置後,按一下「建立裝置」。建立裝置後,系統會顯示「控制器」畫面。視您選取的裝置類型而定,畫面可能會顯示下列一或多個控制項:

  • 開啟/關閉:適用於大多數裝置。
  • 等級:例如,一盞燈可以有一個等級滑桿來調整亮度。
  • 顏色:例如,彩色燈可以具有此控制。
  • 入住:入住感應器提供這項控制選項,可模擬入住或退房狀態。

所有虛擬裝置都有下列控制選項:

  • QRCode:顯示用於委派的 QR code。
  • 重新啟動:重新啟動虛擬裝置。設備短暫中斷網路連線。
  • 重設:將目前裝置恢復原廠設定,並清除所有狀態,包括委派、目前控制項狀態等
  • 刪除:銷毀裝置並返回建立裝置畫面。

虛擬設備控制螢幕

製造商專屬特徵

Android 適用的 Home API 支援製造商專屬 (MS) 特徵,並提供 Matter 標準特徵以外的額外功能。若要測試具有 MS 特性的設備,MVD 可讓您與名為 自訂叢集 的部分中的特性進行互動(請參閱上圖)。

委任裝置

裝置一經建立即可委派。

如要委派裝置,必須符合幾項先決條件:

  • 你必須在 Google Home Developer Console 中有一個項目。該項目必須包含一個 Matter 集成,該集成具有與您在設定虛擬設備時使用的組合相同的 VID/PID。詳情請參閱專案建立指南

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

  • 您必須擁有一部運行 Android 8.1 或更高版本的 Android 手機,並且安裝了 GHA

  • 安卓手機必須與路由器連接到同一個 Wi-Fi 網路。

  • 主機必須連接到 Wi-Fi 網路。

如要使用 GHA 委派裝置,請按一下「QR code」QRCode顯示裝置的 QR code,然後按照「配對 Matter 裝置」一文中的操作說明,使用 GHA 啟用 Matter 裝置。您也可以使用 Google Home Sample App for Matter 委派裝置。

請參閱我們的 Matter 入門指南,以瞭解 Matter 偵錯是如何進行的。

控制設備

虛擬裝置啟用後,您可以透過 Google Home App 或 Google Assistant 透過語音控制該裝置。 你可以採取下列其中一種做法:

  • 透過 GHAAssistant 控制設備,同時監控虛擬設備上的狀態變化,或
  • 使用 Sample App for Matter 控制設備,同時監控虛擬設備上的狀態變化,或
  • 透過 MVD 本身控制設備狀態,同時監控 GHAAssistant 中的狀態變化。

使用設備進行測試

要使用 Assistant 進行測試,我們建議使用語音模擬器,例如 適用於 VS Code 的 Google Home 擴充功能適用於 Android Studio 的 Google Home 外掛程式

查看設備詳情

設備詳情螢幕顯示詳細的設備資訊:

  • 名稱: 賦予裝置的友善名稱。
  • 設備類型:所選的設備類型。
  • 鑑別器: 目前裝置鑑別器。
  • 供應商 ID: 目前設備供應商 ID。
  • 產品 ID:目前裝置產品 ID。
  • RPC 連接埠: 裝置與控制器(GUI)通訊的 RPC 連接埠。
  • Matter 連接埠: 目前設備透過 IP 網路進行通訊所使用的連接埠。
  • 密碼: 用於透過網路調試設備的 PIN 碼。
  • 設定資料夾: 虛擬設備儲存配置的資料夾。
  • 佣金資訊: 顯示設備加入的 Fabric 以及設備在 Fabric 中的節點 ID。

查看設備日誌

如果您從終端啟動了 MVD,則日誌輸出將顯示在 stdout 上。 您也可以在 設備日誌 標籤上查看設備日誌。

停止裝置

若要停止並銷毀設備,請按一下 刪除

終止應用程式

關閉控制視窗會銷毀設備並終止 MVD 應用程式。如果您是從終端機啟動的,也可以透過在終端機中輸入 Ctrl-C 來終止應用程式。

取得說明

如要取得 MVD 相關協助、回報錯誤或要求新功能,請與 Google 支援聯絡人聯絡。

按一下視窗右上角的「說明」按鈕,即可前往這個頁面。

回報錯誤

如果您認為您在 MVD 中發現了缺陷,您可以點擊視窗右上角的 Issue 按鈕提交錯誤報告。

提供意見

如要分享你對 MVD 的喜好,或提供改善工具使用體驗的建議,請填寫意見回饋表單。

如要啟動表單,請點選視窗右上角的意見回饋 按鈕,或按一下下方按鈕。

提供意見

您也可以透過在使用 MVD 時底部彈出的問卷提供回饋。