Matter 虛擬裝置

Matter 裝置 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
000008
0x0006
淺色
可調光 0x0008
xx0006
淺色
延伸淺色 0x0300
000008
0x0006
淺色
活動情形感應器 0x0406
感應器
開關燈開關 0x0008
xx0006
淺色
開啟/關閉插電單元 0x0008
xx0006
插座

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

設定裝置

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

  • 裝置類型:選取裝置類型 (例如燈具、開關、感應器等)。
  • 裝置名稱:為裝置提供容易辨識的名稱。
  • 分子: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

執行裝置

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

  • 開啟/關閉:適用於大多數裝置。
  • 等級:舉例來說,燈具可以設定層級的滑桿來調整亮度。
  • 顏色:舉例來說,彩色燈可能就是這個控制項。
  • 可住人數:入座率感應器提供這個控制項,可模擬有人佔用/未住入的狀態。

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

  • 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」來顯示裝置的 QR 圖碼,然後按照「配對 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 ExtensionAndroid Studio 的 Google Home 外掛程式

查看裝置詳細資料

「裝置詳細資料」畫面會顯示詳細的裝置資訊:

  • 名稱:為裝置指定的好記名稱。
  • 裝置類型:所選的裝置類型。
  • 分子:目前裝置的歧視器。
  • 供應商 ID:目前的裝置供應商 ID。
  • 產品 ID:目前的裝置產品 ID,
  • RPC 通訊埠:裝置與控制器 (GUI) 進行通訊的 RPC 通訊埠。
  • Matter 通訊埠:目前裝置透過 IP 網路進行通訊的通訊埠。
  • Pass code:透過網路委託裝置的 PIN 碼。
  • Configuration Folder:虛擬裝置儲存設定的資料夾。
  • 佣金資訊:顯示裝置連接的布料,以及布料中的裝置節點 ID

查看裝置記錄

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

停止裝置

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

終止應用程式

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

取得說明

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

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

回報錯誤

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

提供意見

如要提供您對 MVD 的看法,或是想利用這項工具改善服務品質,請填寫「意見回饋表單」。

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

歡迎提供意見