Matter 虛擬裝置

案件 裝置 SDK

Matter 虛擬裝置適合用於開發和測試 Matter 解決方案,皆可透過 Google Home app (GHA),並使用 GHAGoogle Assistant,就像實體 Matter 裝置。

適用於需要測試或模擬虛擬服務專員的應用程式開發人員 Matter 部裝置,但缺乏可自行建構的資源 物理或 「虛擬」Matter 裝置, Google 提供 Matter Virtual Device (MVD)MVD是 輕量的獨立 Linux 或 macOS 桌面工具 模擬 和多種類型的虛擬 Matter 裝置 用於控制及顯示 Matter 部裝置。

MVD 與實體 Matter 裝置不同,不必使用藍牙低功耗 (BLE) 或 Thread® 才能加入 Matter 結構體。而是使用主機 Linux 或 macOS 機器的現有 Wi-Fi 網路連線進行調試。

與其他工具相比

MVD與 其中的 Virtual 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 裝置類型:

表格:Matter 部裝置 MVD 支援的類型
Matter 裝置類型 應用程式叢集 住家生態系統類型
基本影片播放器 0x0006
0x0506
0x0509
電視
色溫 (淺色) 0x0300
0x0008
0x0006
輕度
與感應器聯絡 0x0045
感應器
可調光燈 0x0008
0x0006
Light
門鎖 0x0101
鎖定
延伸色彩 0x0300
0x0008
0x0006
輕度
電風扇 0x0202
0x0006
風扇
流量感應器 0x0404
感應器
通用開關 0x003b
切換鈕
濕度感應器 0x0405
感應器
光度感應器 0x0400
感應器
活動情形感應器 0x0406
感應器
開/關燈 0x0008
0x0006
燈具
開/關燈開關 0x0006
切換
開啟/關閉外掛程式單元 0x0008
0x0006
插座
壓力感應器 0x0403
感應器
0x0006
0x0200
0x0402
0x0403
0x0404
水泵
掃地機器人 0x0054
0x0055
0x0061
吸塵器
客房空調 0x0006
0x0201
0x0202
Ac
煙霧/一氧化碳警報器 0x005 度
煙霧
溫度感應器 0x0402
感應器
溫度控制器 0x0201
溫度控制器
窗簾 0x0102
百葉窗

安裝 MVD

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

Linux

下載 MVD Debian (.deb) 套件

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

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

sudo dpkg -i mvd_1.4.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 通訊埠Matter 的通訊埠 透過 IP 網路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 選單並選擇「System Settings」
  2. 按一下側欄清單中的「網路」
  3. 按一下「防火牆」
  4. 將「防火牆」的切換鈕設為「關閉」

執行裝置

裝置設定完成後,按一下「Create device」。當裝置處於停用狀態時 「Controller」畫面就會出現。視您的裝置類型而定 您可能會看到下列一或多個控制項:

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

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

  • QRCode:顯示用於調校的 QR code。
  • 重新啟動:重新啟動虛擬裝置。裝置已中斷連線 才不會中斷
  • 重設:將目前的裝置恢復原廠設定並清除所有狀態,包括 調試、目前的控制狀態等
  • 刪除:刪除裝置並返回「Create device」(建立裝置) 畫面。

虛擬裝置控制
螢幕

調試裝置

裝置一經建立即可佣金。

以下是啟動裝置測試的幾項先決條件:

  • 您在「Google Home Developer Console」中必須有專案。這項專案必須 包含的 Matter 整合項目具有相同 VID/PID 也就是設定虛擬裝置時使用的網路。詳情請見 專案建立指南

  • 你必須擁有支援 Matter

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

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

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

如要使用 GHA 調控裝置,請按一下「QRCode」QRCode, 顯示裝置的 QR code,然後按照 配對 Matter 裝置, 說明如何使用Matter開始使用 GHA。您也可以使用 Google Home Sample App for Matter

請參閱 Matter 入門指南,瞭解如何啟用 Matter 調試功能。

控制裝置

委託虛擬裝置後,可以透過 Google Home 應用程式或 Google 助理 ( 語音。 你可以採取下列其中一種做法:

  • 透過 GHAAssistant 控制裝置,同時監控虛擬裝置的狀態變更,或
  • 使用 監控狀態時為 Sample App for Matter 變更虛擬裝置上的變更
  • 在以下期間透過「MVD」本身控制裝置狀態 監控 GHA 中的狀態變更,或 Assistant

使用裝置進行測試

如要測試 Assistant,建議使用語句 模擬工具,例如 適用於 VS Code 的 Google Home 擴充功能Android Studio 專用的 Google Home 外掛程式

查看裝置詳細資料

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

  • 名稱:為裝置指定的易記名稱。
  • 裝置類型:選取的裝置類型。
  • 鑑別器:目前的裝置鑑別器。
  • 供應商 ID:目前的裝置供應商 ID。
  • 產品 ID:目前的裝置產品 ID。
  • RPC 通訊埠:裝置與控制器 (GUI) 通訊的 RPC 通訊埠。
  • Matter 通訊埠:目前裝置用於 透過 IP 網路進行通訊
  • 密碼:透過網路調用裝置的 PIN 碼。
  • Configuration Folder (設定資料夾):虛擬裝置儲存的資料夾 此外還會從 0 自動調整資源配置 您完全不必調整資源調度設定
  • 佣金資訊:顯示裝置連接的布料。 架構中裝置的節點 ID。

查看裝置記錄

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

停止裝置

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

終止應用程式

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

取得說明

如要取得 MVD 相關協助、回報錯誤,或是前往 申請新功能,請聯絡您的 Google 支援聯絡人。

點選頁面右側的說明 按鈕 點選視窗右上角的按鈕即可前往該頁面。

回報錯誤

如果您認為在「MVD」中有瑕疵,您可以 點選「問題」圖示 回報錯誤 按鈕。

提供意見

想與我們分享你喜歡「MVD」的心得或如何 請填寫意見回饋表單,協助我們提升您的使用體驗。

您可以透過視窗右上角的「意見」 按鈕,或點選下方按鈕,啟動這份表單。

提供意見回饋