如要開發及測試 Matter 解決方案,Matter 虛擬裝置很實用,還可使用 Google Home app (GHA) 委託開發,並透過 GHA 和 Google Assistant 控管,就像實體 Matter 裝置一樣。
如果應用程式開發人員和其他需要測試或模擬虛擬 Matter 裝置,但缺乏建構自有實體或虛擬 Matter 裝置的資源,可以參考 Google 提供的 Matter Virtual Device (MVD)。MVD 是輕量的獨立 Linux 或 macOS 桌面工具,可模擬不同類型的虛擬 Matter 裝置,並提供圖形使用者介面,用於控制及顯示虛擬 Matter 裝置的狀態。
與實體 Matter 裝置不同,MVD 不仰賴 Bluetooth® 低功耗 (BLE) 或 Thread® 來加入 Matter 織布。而是使用主機 Linux 或 macOS 機器現有的 Wi-Fi 網路連線來進行佣金。
與其他工具相比
MVD 與 Virtual Device Controller (VDC) 不同,因為它是獨立解決方案,結合虛擬裝置與可控制的 UI。相反地,VDC 可用來控制獨立的虛擬 Matter 裝置,例如我們在 Matter Virtual Device Development Environment (MVD-DE) 中建構的裝置。
您可能已使用過 MVD-DE 程式碼研究室。在本程式碼研究室中,您將建構單一類型的虛擬裝置智慧型燈泡。相反地,MVD 包含數種不同的預先建構虛擬裝置,且包含可用於執行及控制的整合式 UI。
MVD | VDC | MVD-DE (程式碼研究室) | |
---|---|---|---|
模擬 Matter 裝置 | |||
控制模擬的 Matter 裝置 | |||
需要開發 | |||
下載 | 小於 100 MB | 9 GB | 20 GB |
支援的裝置
MVD 支援下列 Matter 裝置類型:
Matter 個裝置類型 | 應用程式叢集 | 居家生態系統類型 |
---|---|---|
基本影片播放器 |
0x0006 0x0506 0x0509 |
電視 |
色溫 (淺膚色) |
0x0300 0x0008 0x0006 |
輕度 |
聯絡人感應器 |
0x0045 |
感應器 |
可調光 |
0x0008 0x0006 |
輕度 |
門鎖 |
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 |
一氧化碳警報器 |
0x005C |
煙霧 |
溫度感應器 |
0x0402 |
感應器 |
溫度控制器 |
0x0201 |
溫度控制器 |
窗簾 |
0x0102 |
百葉窗 |
安裝 MVD
MVD 可在搭載 Debian (11 以上版本)、Ubuntu (20.04 以上版本) 或 macOS 的 64 位元 x86 處理器機器上執行。
Linux
接著執行 dpkg
,安裝 MVD Debian (.deb) 套件:
sudo dpkg -i mvd_1.4.0_amd64.deb
macOS
接著按兩下 dmg
檔案,開啟安裝視窗。
如要完成安裝,請選取 mvd
圖示並拖曳至 Applications
資料夾:
查看通訊埠用量
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
設定裝置
啟動後會顯示主畫面,讓您設定虛擬裝置:
- 「Device Type」:選取裝置類型 (例如光照、開關、感應器等)。
- 裝置名稱:為裝置輸入好記的名稱。
- 鑑別器:12 位元編號,用來區分多則可調式裝置廣告。(預設值:
3840
)。 - Matter 通訊埠:Matter 透過 IP 網路進行調校和通訊的通訊埠。根據預設,Matter 會使用 TCP/UDP 通訊埠 5540,但您可以將虛擬裝置設為使用其他通訊埠,只要沒有任何其他服務正在使用通訊埠。
- 供應商 ID:僅支援測試供應商 ID
0xFFF1
。 - 產品 ID:僅支援測試產品 ID
0x8000
到0x801F
。
設定防火牆
Linux
如果您的電腦中有執行中的防火牆,請關閉防火牆,或允許透過 Matter 通訊埠傳入的 TCP/UDP 連線。
如要查看目前有效的 netfilter 防火牆規則,請執行:
sudo iptables -L -n
如果您使用的是 `ufw`,可以透過下列方式停用:
sudo ufw disable
也能透過以下方式重新啟用:
sudo ufw enable
macOS
如何在 macOS 上設定或停用防火牆:
- 前往 Apple 選單,然後選擇「系統設定」。
- 按一下側欄清單中的「聯播網」。
- 按一下「防火牆」。
- 將「防火牆」的切換鈕撥到「關閉」。
執行裝置
設定裝置後,按一下「Create device」。裝置建立後,畫面上會顯示「Controller」畫面。視所選裝置類型而定,系統可能會顯示下列一或多個控制項:
- 開啟/關閉:適用於多數裝置。
- 等級:舉例來說,燈具可以使用音量滑桿調整亮度。
- 顏色:例如,彩色燈可以有這個控制項。
- 可住人數:活動情形感應器提供這個控制項,可模擬已有人使用或無人使用的狀態。
所有虛擬裝置都具備下列控制項:
- QRCode:顯示用於調試的 QR code。
- 重新啟動:重新啟動虛擬裝置。裝置已暫時中斷網路連線。
- 重設:將目前的裝置恢復原廠設定並清除所有狀態,包括調試、目前的控制狀態等
- 刪除:刪除裝置並返回「Create device」畫面。
調試裝置
裝置建立後即可接受佣金。
調校裝置的先決條件如下:
您必須在「Google Home Developer Console」中擁有專案。這項專案必須包含 Matter 整合項目,其中 VID/PID 組合與您在設定虛擬裝置時使用的 VID/PID 組合相同。詳情請參閱專案建立指南。
您必須擁有搭載 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 助理的語音來控制裝置。你可以採取下列其中一種做法:
- 透過 GHA 或 Assistant 控制裝置,同時監控虛擬裝置的狀態變更,或
- 使用 Sample App for Matter 控制裝置,同時監控虛擬裝置的狀態變更情形。
- 透過 MVD 本身控制裝置狀態,同時監控 GHA 或 Assistant 的狀態變更。
使用裝置進行測試
如要使用 Assistant 進行測試,建議您使用語音模擬工具,例如 VS Code 適用的 Google Home 擴充功能或 Android Studio 適用的 Google Home 外掛程式。
查看裝置詳細資料
「Device details」(裝置詳細資料) 畫面會顯示裝置詳細資訊:
- 名稱:指派給裝置的好記名稱。
- 裝置類型:所選的裝置類型。
- 鑑別器:目前的裝置鑑別器。
- 供應商 ID:目前的裝置供應商 ID。
- 產品 ID:目前裝置的產品 ID。
- RPC 通訊埠:裝置與控制器 (GUI) 通訊的 RPC 通訊埠。
- Matter Port:目前裝置透過 IP 網路進行通訊的通訊埠。
- 通行碼:透過網路調校裝置時所用的 PIN 碼。
- 「Configuration Folder」:虛擬裝置儲存設定的資料夾。
- Commission Information:顯示裝置加入的布料,以及布料中裝置的節點 ID。
查看裝置記錄
如果您已從終端機啟動 MVD,記錄輸出內容會顯示在 stdout
上。您也可以在「裝置記錄」分頁中查看裝置記錄。
停止裝置
如要停止並刪除裝置,請按一下「刪除」。
終止應用程式
關閉控制視窗會刪除裝置並終止 MVD 應用程式。如果您是從終端機啟動,也可以在終端機中輸入 Ctrl-C 來終止應用程式。
取得協助
如需 MVD 相關協助、回報錯誤或要求新功能,請洽詢您的 Google 支援團隊聯絡人。
按一下視窗右上角的說明
按鈕,即可前往這個頁面。回報錯誤
如果您認為自己在 MVD 中發現瑕疵,可以按一下視窗右上角的「Issue」(問題) 按鈕,回報錯誤。
提供意見
如要提供您對 MVD 的想法,或希望改善這項工具的使用體驗,請填寫意見回饋表單。
如要啟動表單,請使用視窗右上角的「意見回饋」
按鈕或點選下方按鈕。