Matter 虛擬裝置

Matter ; Home API

Matter 虛擬裝置可用於開發及測試 Matter 解決方案,並可使用 Google Home app (GHA) 委派,以及使用 GHAGoogle Assistant 控制,就像實體 Matter 裝置一樣。

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

與實體 Matter 裝置不同,MVD 無須透過 Bluetooth® 低功耗 (BLE) 或 Thread® 即可加入 Matter 網狀架構。而是使用主機 Linux 或 macOS 電腦現有的 Wi-Fi 網路連線進行委派。

與其他工具相比

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

MVD 包含多種預先建構的虛擬裝置,並內建 UI,可執行及控制這些裝置。

支援的裝置

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
風扇
流量感應器 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 可在搭載 64 位元 x86 處理器的電腦上執行,作業系統為 Debian (13 Trixie 以上版本)、Ubuntu (20.04 Noble Numbat 以上版本) 或 macOS。

Linux

下載 MVD Debian (.deb) 套件

下載 ASCII 裝甲簽章 (.asc) 檔案

然後執行 dpkg 安裝 Debian (.deb) 套件:MVD

sudo dpkg -i mvd_1.6.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 上,使用 Launchpad 開啟 MVD,或從終端機執行 MVD

cd /Applications
open mvd.app

設定裝置

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

  • 裝置類型:選取裝置類型 (例如燈具、開關、感應器等)。
  • 裝置名稱:為裝置命名,方便使用者辨識。
  • 鑑別器:用來區分多個可獲得佣金的裝置廣告,為 12 位元的數字。(預設值:3840)。
  • Matter 通訊埠:透過 IP 網路進行Matter 委派和通訊的通訊埠。Matter 預設使用 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。
  • 重新啟動:重新啟動虛擬裝置。裝置暫時中斷網路連線。
  • 重設:將目前裝置恢復原廠設定,並清除所有狀態,包括委派、目前的控制項狀態等
  • 刪除:刪除裝置並返回「建立裝置」畫面。

虛擬裝置控制畫面

委任裝置

裝置一經建立即可賺取佣金。

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

  • 您必須在 Google Home Developer Console 中擁有專案。這個專案必須包含 Matter 整合,且該整合的 VID/PID 組合與您設定虛擬裝置時使用的組合相同。詳情請參閱專案建立指南

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

  • 你必須使用搭載 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 助理語音控制裝置。你可以採取下列其中一種做法:

  • 透過 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 有缺陷,可以按一下視窗右上角的「問題」按鈕 提出錯誤報告。

提供意見

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

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

提供意見