Matter 虛擬裝置

Matter Device SDK

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

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

與實體 Matter 裝置不同,MVD 並不仰賴 Bluetooth® 低功耗 (BLE) 或 Thread® 來加入 Matter 織布。而是會使用主機 Linux 機器現有的 Wi-Fi 網路連線執行委任。

與其他工具相比

MVDVirtual Device Controller (VDC) 不同,它是一個獨立解決方案,結合虛擬裝置與使用者介面進行控制。相反,VDC 可用來控制獨立的虛擬 Matter 裝置,例如我們在 Matter Virtual Device Development Environment (MVD-DE) 中建立的裝置。

您可能已經使用過 MVD-DE 程式碼研究室。在本程式碼研究室中,您將建構單一類型的虛擬裝置 (即智慧型燈泡)。相反地,MVD 包含數個不同的預先建構虛擬裝置,且包含可執行及控制的整合式 UI。

表格:虛擬 Matter 裝置工具比較
MVD VDC MVD-DE (程式碼研究室)
模擬 Matter 裝置
控制模擬的 Matter 裝置
必須投入開發
下載 小於 100 MB 9 GB 20 GB

支援的裝置

MVD 目前支援下列 Matter 裝置類型:

表格:MVD 支援的 Matter 裝置類型
Matter 種裝置類型 應用程式叢集 家用生態系統類型
色溫燈 0x0300
0x0008
0x0006
淺色
可調光 0x0008
0x0006
淺色
加長光 0x0300
0x0008
0x0006
淺色
活動情形感應器 0x0406
感應器
開/關燈 0x0008
0x0006
淺色
開啟/關閉外掛程式 0x0008
0x0006
插座

安裝 MVD

MVD 會在搭載 Debian (11 以上版本) 或 Ubuntu (20.04 以上版本) 的 64 位元 x86 處理器機器上執行。

安裝步驟如下:

下載 MVD Debian (.deb) 套件

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

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

sudo dpkg -i mvd_1.1.0_amd64.deb

檢查通訊埠用量

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

如要查看是否有任何程序使用通訊埠 33000,請按照下列步驟操作:

sudo fuser -v 33000/tcp

您可以透過單一指令,使用 TCP 通訊埠 33000 終止任何程序:

sudo fuser -k 33000/tcp

執行 MVD

從應用程式資料夾或終端機執行 MVD

mvd

設定裝置

啟動後會顯示主畫面,並可讓您設定虛擬裝置:

  • 「Device Type」:選取裝置類型 (例如光照、開關、感應器等)。
  • 裝置名稱:為裝置設定容易辨識的名稱。
  • 鑑別器:12 位元編號,用於區分多則可調試的裝置廣告。(預設值:3840)。
  • Matter 通訊埠Matter 透過 IP 網路調試和通訊的通訊埠。Matter 預設使用 TCP/UDP 通訊埠 5540,但您可以將虛擬裝置設為使用其他通訊埠,只要沒有其他服務正在使用通訊埠即可。
  • 供應商 ID:目前僅支援測試供應商 ID 0xFFF1
  • 產品 ID:目前僅支援 0x80000x801F 的測試產品 ID。

虛擬裝置設定畫面

設定防火牆

如果您的電腦正在執行防火牆,請關閉防火牆,或是允許 Matter 通訊埠傳入 TCP/UDP 連線。

如要查看目前使用中的 netfilter 防火牆規則,請執行:

sudo iptables -L -n

注意:如果您是 ufw 使用者,可以透過下列方式停用

sudo ufw disable
而您可以透過以下方式重新啟用:
sudo ufw enable

執行裝置

裝置設定完成後,按一下「Create device」。裝置建立後,畫面上會顯示「Controller」畫面。視您選取的裝置類型而定,您可能會看到下列一或多個控制項:

  • 開啟/關閉:適用於大多數裝置。
  • Level:例如,燈具可能有一個等級滑桿可以調整亮度。
  • 顏色:舉例來說,彩色燈光可用這個控制項。
  • 可住人數:活動情形感應器提供這個控制項,可模擬已佔用/未佔用的狀態。

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

  • QRCode:顯示用於調試的 QR code。
  • 重新啟動:重新啟動虛擬裝置。裝置短暫中斷網路連線。
  • 重設:將目前的裝置恢復原廠設定並清除所有狀態,包括調試、目前控制狀態等
  • 刪除:刪除裝置,然後回到「Create device」畫面。

虛擬裝置控制畫面

調試裝置

裝置一旦建立完成,即可開始使用。

以下是調試裝置的幾項先決條件:

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

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

  • 您的 Android 手機必須搭載 Android 8.1 以上版本並安裝 GHA

  • Android 手機必須與中樞裝置連上相同的 Wi-Fi 網路。

  • 主機機器必須連上 Wi-Fi 網路。

如要使用 GHA 佣金裝置,請按一下「QRCode」QRCode顯示裝置的 QR code,然後按照「配對 Matter 裝置」中的指示操作,其中說明如何使用 GHAMatter 裝置啟用。您也可以使用 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 外掛程式

查看裝置詳細資料

「Device details」(裝置詳細資料) 畫面會顯示以下裝置資訊:

  • 名稱:為裝置設定的易記名稱。
  • 裝置類型:所選的裝置類型。
  • 鑑別器:目前的裝置鑑別器。
  • 供應商 ID:目前的裝置供應商 ID。
  • 產品 ID:目前的裝置產品 ID。
  • RPC 通訊埠:裝置與控制器 (GUI) 通訊的 RPC 通訊埠。
  • Matter 通訊埠:目前的裝置透過 IP 網路進行通訊的通訊埠。
  • 傳遞代碼:透過網路調試裝置的 PIN 碼。
  • 設定資料夾:虛擬裝置儲存設定的資料夾。
  • Commission Information (佣金資訊):顯示裝置加入的織料,以及裝置的節點 ID (以織布面)

查看裝置記錄

如果您是透過終端機啟動 MVD,記錄輸出內容會顯示在 stdout 上。您也可以在「裝置記錄」分頁中查看裝置記錄。

停止裝置

如要停止並刪除裝置,請按一下「刪除」

終止應用程式

如果關閉控制視窗,系統會刪除裝置並終止 MVD 應用程式。如果從終端機啟動,您也可以在終端機中輸入 Ctrl-C 來終止應用程式。

取得協助

如需 MVD 相關協助、回報錯誤或提出新功能建議,請洽詢 Google 支援團隊聯絡人。

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

回報錯誤

如果發現 MVD 中有瑕疵,您可以按一下視窗右上角的「問題」按鈕 回報錯誤。

提供意見

如要提供您對 MVD 的想法,或是可以改善這項工具的使用體驗,請填寫意見回饋表單。

您可以透過視窗右上角的意見回饋 按鈕啟動表單,也可以點選下方按鈕。

提供意見回饋