Thiết bị ảo Matter rất hữu ích cho việc phát triển và thử nghiệm các giải pháp Matter, đồng thời có thể được uỷ quyền bằng Google Home app (GHA) và được điều khiển bằng GHA và Google Assistant, giống như các thiết bị Matter thực.
Đối với nhà phát triển ứng dụng và những người cần kiểm thử hoặc mô phỏng một thiết bị Matter ảo nhưng không có đủ tài nguyên để xây dựng thiết bị Matter thực hoặc ảo của riêng mình, Google cung cấp Matter Virtual Device (MVD). MVD là một công cụ máy tính độc lập, gọn nhẹ dành cho Linux hoặc macOS, mô phỏng nhiều loại thiết bị Matter ảo và cung cấp giao diện người dùng đồ hoạ để kiểm soát và hiển thị trạng thái của thiết bị Matter ảo.
Không giống như thiết bị Matter thực, MVD không dựa vào Bluetooth® năng lượng thấp (BLE) hoặc Thread® để tham gia vào một hệ sinh thái Matter. Thay vào đó, thiết bị này sử dụng kết nối mạng Wi-Fi hiện có của máy chủ Linux hoặc macOS để chạy thử.
So với các công cụ khác
MVD khác với Virtual Device Controller (VDC) ở chỗ đây là một giải pháp độc lập, kết hợp thiết bị ảo với giao diện người dùng để điều khiển thiết bị đó. Ngược lại, VDC được dùng để điều khiển một thiết bị Matter ảo riêng biệt.
MVD chứa một số thiết bị ảo được tạo sẵn và có giao diện người dùng tích hợp để chạy và điều khiển các thiết bị đó.
Thiết bị được hỗ trợ
MVD hỗ trợ các loại thiết bị Matter sau:
| Matter Loại thiết bị | Cụm ứng dụng | Loại hệ sinh thái nhà |
|---|---|---|
| Máy lọc không khí |
0x0202 0x0006 0x0071 0x0072 |
Máy lọc không khí |
| Cảm biến chất lượng không khí |
0x005b 0x0402 0x0405 0x040c 0x040d 0x042a 0x042b 0x042c 0x042d 0x042e 0x042f 0x0413 0x0415 |
Cảm biến |
| Trình phát video cơ bản |
0x0006 0x0506 0x0509 |
Truyền hình |
| Đèn nhiệt độ màu |
0x0300 0x0008 0x0006 |
Sáng |
| Cảm biến tiếp xúc |
0x0045 |
Cảm biến |
| Đèn có thể điều chỉnh độ sáng |
0x0008 0x0006 |
Sáng |
| Thiết bị cắm có thể điều chỉnh độ sáng |
0x0006 0x0008 |
Cửa hàng |
| Máy rửa bát |
0x0006 0x0059 0x0056 0x0060 |
Máy rửa bát |
| Khoá cửa |
0x0101 |
Khoá |
| Đèn màu mở rộng |
0x0300 0x0008 0x0006 |
Sáng |
| Quạt |
0x0202 0x0006 |
Người hâm mộ |
| Cảm biến lưu lượng |
0x0404 |
Cảm biến |
| Công tắc chung |
0x003b |
Switch |
| Cảm biến độ ẩm |
0x0405 |
Cảm biến |
| Máy giặt quần áo |
0x0006 0x0051 0x0053 0x0056 0x0060 |
Máy giặt |
| Cảm biến ánh sáng |
0x0400 |
Cảm biến |
| Cảm biến phát hiện người trong nhà |
0x0406 |
Cảm biến |
| Bật/tắt đèn |
0x0008 0x0006 |
Sáng |
| Công tắc đèn bật/tắt |
0x0006 |
Switch |
| Thiết bị cắm điện có nút bật/tắt |
0x0008 0x0006 |
Cửa hàng |
| Cảm biến áp suất |
0x0403 |
Cảm biến |
| Bơm |
0x0006 0x0200 0x0402 0x0403 0x0404 |
Bơm |
| Robot hút bụi |
0x0054 0x0055 0x0061 |
Máy hút bụi |
| Máy điều hoà không khí trong phòng |
0x0006 0x0201 0x0202 |
Máy điều hoà không khí |
| Chuông báo khói và khí CO |
0x005C |
Thiết bị phát hiện khí CO
Thiết bị phát hiện khói |
| Cảm biến nhiệt độ |
0x0402 |
Cảm biến |
| Máy điều nhiệt |
0x0201 |
Máy điều nhiệt |
| Màn che cửa sổ |
0x0102 |
Rèm |
Cài đặt MVD
MVD chạy trên máy có bộ xử lý x86 64 bit chạy Debian (13 Trixie trở lên), Ubuntu (20.04 Noble Numbat trở lên) hoặc macOS.
Linux
Tải gói MVD Debian (.deb) xuống
Tải tệp chữ ký ASCII bọc thép (.asc) xuống
Sau đó, hãy chạy dpkg để cài đặt gói MVD Debian (.deb):
sudo dpkg -i mvd_1.7.0_amd64.debmacOS
Tải tệp dmg của MVD (macOS x86) xuống
Tải tệp dmg MVD (ARM64 M1) xuống
Sau đó, nhấp đúp vào tệp dmg để mở cửa sổ cài đặt.
Để hoàn tất quá trình cài đặt, hãy chọn và kéo biểu tượng mvd vào
thư mục Applications:
Kiểm tra mức sử dụng cổng
Mô-đun bộ điều khiển trong MVD sử dụng cổng TCP 33000 để thực hiện lệnh gọi RPC đến thiết bị ảo. Vì vậy, nếu cổng này đang được một quy trình khác sử dụng trên máy tính, hãy nhớ giải phóng cổng này.
Để xem có quy trình nào đang sử dụng cổng 33000 hay không, hãy làm như sau:
Linux
sudo fuser -v 33000/tcpmacOS
lsof -i:33000Bạn có thể tắt mọi quy trình sử dụng cổng TCP 33000 bằng một lệnh duy nhất:
Linux
sudo fuser -k 33000/tcpmacOS
lsof -ti:33000 | xargs killChạy MVD
Linux
Trên Linux, hãy chạy MVD từ thư mục ứng dụng hoặc từ thiết bị đầu cuối:
mvdmacOS
Trên macOS, hãy dùng Launchpad để mở MVD hoặc chạy MVD từ dòng lệnh:
cd /Applicationsopen mvd.app
Định cấu hình thiết bị
Màn hình chính sẽ xuất hiện khi khởi chạy và cho phép bạn định cấu hình thiết bị ảo:
- Device Type (Loại thiết bị): Chọn loại thiết bị (ví dụ: Đèn, Công tắc, Cảm biến, v.v.).
- Tên thiết bị: Đặt tên thân thiện với người dùng cho thiết bị.
- Bộ phân biệt: Một số 12 bit dùng để phân biệt giữa nhiều quảng cáo thiết bị có thể uỷ quyền. (Mặc định:
3840). - Matter Port: Cổng để Matter uỷ quyền và giao tiếp thông qua mạng IP. Matter sử dụng cổng TCP/UDP 5540 theo mặc định, nhưng bạn có thể định cấu hình thiết bị ảo để sử dụng một cổng khác, miễn là không có dịch vụ nào khác đang sử dụng cổng đó.
- Mã nhà cung cấp: Chỉ hỗ trợ mã nhà cung cấp thử nghiệm
0xFFF1. - Mã sản phẩm: Chỉ hỗ trợ mã sản phẩm thử nghiệm từ
0x8000đến0x801F.
Định cấu hình tường lửa
Linux
Nếu bạn đang chạy tường lửa trong máy tính, hãy tắt tường lửa hoặc cho phép kết nối TCP/UDP đến trên cổng Matter.
Để xem các quy tắc tường lửa netfilter đang hoạt động, hãy chạy lệnh:
sudo iptables -L -nNếu đang sử dụng `ufw`, bạn có thể tắt bằng cách:
sudo ufw disableVà bạn có thể bật lại bằng:
sudo ufw enablemacOS
Cách định cấu hình hoặc tắt tường lửa trên macOS:
- Chuyển đến trình đơn Apple rồi chọn System Settings (Cài đặt hệ thống).
- Nhấp vào Mạng trong danh sách thanh bên.
- Nhấp vào Firewall (Tường lửa).
- Chuyển nút Tường lửa sang vị trí Tắt.
Chạy thiết bị
Sau khi thiết bị được định cấu hình, hãy nhấp vào Create device (Tạo thiết bị). Khi thiết bị được tạo, màn hình Controller (Bộ điều khiển) sẽ xuất hiện. Tuỳ thuộc vào loại thiết bị mà bạn chọn, bạn có thể thấy một hoặc nhiều chế độ kiểm soát sau:
- Bật/Tắt: Thường thấy trên hầu hết các thiết bị.
- Cấp độ: Ví dụ: đèn có thể có thanh trượt cấp độ để điều chỉnh độ sáng.
- Màu: Ví dụ: đèn màu có thể có chế độ điều khiển này.
- Occupancy (Có người): Cảm biến phát hiện người trong nhà cung cấp chế độ kiểm soát này để mô phỏng trạng thái có người hoặc không có người.
Tất cả thiết bị ảo đều có các chế độ điều khiển sau:
- QRCode: Cho thấy mã QR dùng để uỷ quyền.
- Reboot (Khởi động lại): Khởi động lại thiết bị ảo. Thiết bị bị ngắt kết nối với mạng trong thời gian ngắn.
- Đặt lại: Đặt lại thiết bị hiện tại về trạng thái ban đầu và xoá tất cả trạng thái, bao gồm cả trạng thái uỷ quyền, trạng thái điều khiển hiện tại, v.v.
- Delete (Xoá): Huỷ thiết bị và quay lại màn hình Create device (Tạo thiết bị).
Đặc điểm dành riêng cho nhà sản xuất
Đặc điểm dành riêng cho nhà sản xuất (MS) được Home API cho Android hỗ trợ và cung cấp chức năng bổ sung ngoài các đặc điểm tiêu chuẩn trong Matter. Để kiểm thử một thiết bị có đặc điểm MS, MVD cho phép bạn tương tác với các đặc điểm trong phần có tên là Cụm tuỳ chỉnh (xem hình ảnh ở trên).
Uỷ quyền thiết bị
Thiết bị có thể được uỷ quyền ngay khi được tạo.
Có một số điều kiện tiên quyết để uỷ quyền thiết bị:
Bạn phải có một dự án trong Google Home Developer Console. Dự án này phải chứa một chế độ tích hợp Matter có cùng tổ hợp VID/PID với tổ hợp bạn đã dùng khi thiết lập thiết bị ảo. Hãy xem hướng dẫn tạo dự án để biết thông tin chi tiết.
Bạn phải có một Google Nest Hub hỗ trợ Matter
Bạn phải có điện thoại Android chạy Android 8.1 trở lên và đã cài đặt GHA.
Điện thoại Android phải kết nối với cùng mạng Wi-Fi mà thiết bị trung tâm sử dụng.
Máy chủ lưu trữ phải kết nối với mạng Wi-Fi.
Để uỷ quyền thiết bị bằng GHA, hãy nhấp vào QRCode (Mã QR) để hiển thị mã QR của thiết bị, sau đó làm theo hướng dẫn trong phần Ghép nối thiết bị Matter. Phần này giải thích cách làm quen với thiết bị Matter bằng GHA. Bạn cũng có thể uỷ quyền thiết bị bằng cách sử dụng Google Home Sample App for Matter.
Xem Matter Tài liệu cơ bản của chúng tôi để tìm hiểu cách hoạt động của tính năng Matter Đưa vào hoạt động.
Điều khiển thiết bị
Sau khi uỷ quyền cho một thiết bị ảo, bạn có thể điều khiển thiết bị đó bằng ứng dụng Google Home hoặc Trợ lý Google bằng giọng nói. Bạn có thể:
- Điều khiển thiết bị thông qua GHA hoặc Assistant trong khi theo dõi các thay đổi về trạng thái trên thiết bị ảo, hoặc
- Điều khiển thiết bị bằng Sample App for Matter trong khi theo dõi các thay đổi về trạng thái trên thiết bị ảo,hoặc
- Kiểm soát trạng thái thiết bị thông qua chính MVD trong khi theo dõi các thay đổi về trạng thái trong GHA hoặc Assistant.
Kiểm thử bằng thiết bị
Để kiểm thử bằng Assistant, bạn nên sử dụng trình mô phỏng câu nói như Tiện ích Google Home cho VS Code hoặc Trình bổ trợ Google Home cho Android Studio.
Xem chi tiết về thiết bị
Màn hình Chi tiết về thiết bị cho thấy thông tin chi tiết về thiết bị:
- Tên: Tên dễ nhớ được đặt cho thiết bị.
- Loại thiết bị: Loại thiết bị được chọn.
- Discriminator: Thuộc tính phân biệt thiết bị hiện tại.
- Mã nhà cung cấp: Mã nhà cung cấp thiết bị hiện tại.
- Mã sản phẩm: Mã sản phẩm hiện tại của thiết bị.
- Cổng RPC: Cổng RPC mà thiết bị dùng để giao tiếp với bộ điều khiển (GUI).
- Matter Port: Cổng mà thiết bị hiện tại sử dụng để giao tiếp qua mạng IP.
- Mã truy cập: Mã PIN dùng để uỷ quyền cho thiết bị thông qua mạng.
- Thư mục cấu hình: Thư mục mà thiết bị ảo lưu trữ cấu hình.
- Thông tin uỷ nhiệm: Cho biết(các) cấu trúc mà thiết bị đã tham gia và mã nút của thiết bị trong cấu trúc.
Xem nhật ký thiết bị
Nếu bạn khởi chạy MVD từ thiết bị đầu cuối, thì kết quả nhật ký sẽ xuất hiện trên stdout.
Bạn cũng có thể xem nhật ký thiết bị trên thẻ Nhật ký thiết bị.
Dừng thiết bị
Để dừng và huỷ thiết bị, hãy nhấp vào Delete (Xoá).
Chấm dứt ứng dụng
Việc đóng cửa sổ điều khiển sẽ huỷ thiết bị và chấm dứt ứng dụng MVD. Nếu khởi chạy từ dòng lệnh, bạn cũng có thể chấm dứt ứng dụng bằng cách nhập Ctrl-C trong dòng lệnh.
Nhận trợ giúp
Để được trợ giúp về MVD, báo cáo lỗi hoặc yêu cầu tính năng mới, hãy liên hệ với Nhóm hỗ trợ Google.
Khi nhấp vào nút trợ giúp ở góc trên bên phải của cửa sổ, bạn sẽ được chuyển đến trang này.
Báo cáo lỗi
Nếu cho rằng bạn đã phát hiện lỗi trong MVD, bạn có thể báo cáo lỗi bằng cách nhấp vào nút Vấn đề ở góc trên bên phải của cửa sổ.
Gửi phản hồi
Để gửi ý kiến về những điểm bạn thích ở MVD hoặc cách chúng tôi có thể cải thiện trải nghiệm của bạn khi sử dụng công cụ này, hãy hoàn tất Biểu mẫu phản hồi của chúng tôi.
Bạn có thể mở biểu mẫu này bằng nút phản hồi ở góc trên bên phải của cửa sổ hoặc bằng cách nhấp vào nút bên dưới.
Gửi ý kiến phản hồi cho chúng tôi
Bạn cũng có thể đưa ra ý kiến phản hồi thông qua bản khảo sát bật lên ở dưới cùng khi bạn đang sử dụng MVD.