Các thiết bị ảo Matter rất hữu ích cho việc phát triển và kiểm thử các giải pháp Matter. Các thiết bị này có thể được vận hành 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 tế.
Đối với những nhà phát triển ứng dụng và những người cần kiểm thử hoặc mô phỏng thiết bị Matter ảo nhưng thiếu tài nguyên để xây dựng thiết bị Matter thực tế hoặc ảo của riêng họ, Google cung cấp Matter Virtual Device (MVD). MVD là một công cụ máy tính Linux độc lập nhẹ, mô phỏng nhiều loại thiết bị Matter ảo và cung cấp giao diện người dùng đồ hoạ để điều khiển và hiển thị các 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® để kết nối một kết nối Matter. Thay vào đó, bản phát hành này sẽ sử dụng kết nối mạng Wi-Fi hiện có của máy Linux để chạy thử nghiệm.
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 một thiết bị ảo với giao diện người dùng để kiểm soát 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, chẳng hạn như thiết bị mà chúng tôi xây dựng trong Matter Virtual Device Development Environment (MVD-DE).
Có thể bạn đã từng làm việc với lớp học lập trình MVD-DE. Trong lớp học lập trình này, bạn sẽ tạo một loại thiết bị ảo – một bóng đèn thông minh. Ngược lại, MVD chứa một số thiết bị ảo được tích hợp sẵn, đồng thời bao gồm một giao diện người dùng tích hợp để chạy và kiểm soát các thiết bị đó.
MVD | VDC | MVD-DE (Lớp học lập trình) | |
---|---|---|---|
Mô phỏng thiết bị theo chuẩn Matter | |||
Điều khiển thiết bị theo chuẩn Matter được mô phỏng | |||
Cần nỗ lực phát triển | |||
Tải xuống | dưới 100 MB | 9 GB | 20 GB |
Thiết bị được hỗ trợ
Hiện tại, 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à |
---|---|---|
Đèn nhiệt độ màu |
0x0300 0x0008 0x0006 |
Sáng |
Đèn có thể điều chỉnh độ sáng |
0x0008 0x0006 |
Sáng |
Sáng màu kéo dài |
0x0300 0x0008 0x0006 |
Sáng |
Cảm biến có người trong nhà |
0x0406 |
Sensor |
Bật/tắt đèn |
0x0008 0x0006 |
Sáng |
Bộ sạc bật/tắt |
0x0008 0x0006 |
Đầu ra |
Cài đặt MVD
MVD chạy trên các máy xử lý x86 64 bit chạy Debian (11 trở lên) hoặc Ubuntu (20.04 trở lên).
Cách cài đặt:
Tải gói MVD Debian (.deb) xuống
Tải tệp chữ ký ASCII (.asc) xuống
Sau đó, chạy dpkg
để cài đặt gói MVD Debian (.deb):
sudo dpkg -i mvd_1.1.0_amd64.deb
Kiểm tra việ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 các 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 trên máy tính sử dụng, hãy nhớ giải phóng cổng này.
Để xem có quá trình nào đang sử dụng cổng 33000 hay không:
sudo fuser -v 33000/tcp
Bạn có thể loại bỏ bất kỳ quy trình nào bằng cách sử dụng cổng TCP 33000 bằng một lệnh duy nhất:
sudo fuser -k 33000/tcp
Chạy MVD
Chạy MVD từ thư mục ứng dụng của bạn hoặc từ thiết bị đầu cuối:
mvd
Đị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ụ: Light, Switch, Sensor, v.v.).
- Tên thiết bị: Đặt tên thân thiện với người dùng cho thiết bị.
- Discriminator (Chỉ số phân phối): Một số 12 bit dùng để phân biệt giữa nhiều quảng cáo trên thiết bị có thể được chạy chiến dịch. (Mặc định:
3840
). - Cổng Matter: Một cổng để vận hành và giao tiếp Matter thông qua mạng IP. Theo mặc định, Matter sử dụng cổng TCP/UDP 5540, nhưng bạn có thể định cấu hình thiết bị ảo để 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: Hiện tại, chúng tôi chỉ hỗ trợ mã nhà cung cấp thử nghiệm
0xFFF1
. - Mã sản phẩm: Hiện tại, chúng tôi chỉ hỗ trợ các mã sản phẩm thử nghiệm từ
0x8000
đến0x801F
.
Định cấu hình tường lửa
Nếu bạn có tường lửa đang chạy 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:
sudo iptables -L -n
Lưu ý: Nếu bạn đang dùng ufw
, bạn có thể tắt tính năng này bằng:
sudo ufw disable
Và bạn có thể bật lại bằng:
sudo ufw enable
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ị đã chọn, bạn có thể thấy một hoặc nhiều tuỳ chọn điều khiển sau:
- Bật/Tắt: Phổ biến với phần lớn các thiết bị.
- Level (Mức): Ví dụ: đèn có thể có thanh trượt mức để điều chỉnh độ sáng.
- Màu sắc: Chẳng hạn như đèn màu có thể có chế độ điều khiển này.
- Occupancy (Số người lưu trú): Cảm biến có người trong nhà cung cấp chế độ điều khiển này để mô phỏng trạng thái có người/không có người.
Tất cả thiết bị ảo đều có các chế độ điều khiển sau:
- QRCode: Cho biết mã QR dùng để vận hành.
- Khởi động lại: Khởi động lại thiết bị ảo. Thiết bị bị ngắt kết nối khỏi mạng trong giây lát.
- Đặ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 vận hành, trạng thái kiểm soát hiện tại, v.v.
- Xoá: Huỷ bỏ thiết bị và quay lại màn hình Tạo thiết bị.
Phí hoa hồng cho thiết bị của bạn
Thiết bị có thể nhận phí hoa hồng ngay sau khi được tạo.
Để vận hành thiết bị này, bạn cần đáp ứng một số điều kiện tiên quyết:
Bạn phải có một dự án trong Google Home Developer Console. Dự án này phải có chế độ tích hợp Matter có cùng tổ hợp VID/PID như cách bạn đã dùng để thiết lập thiết bị ảo. Xem hướng dẫn tạo dự án để biết thông tin chi tiết.
Bạn phải có 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ột mạng Wi-Fi như trung tâm.
Máy chủ phải được kết nối với mạng Wi-Fi.
Để đặt lệnh cho thiết bị bằng GHA, hãy nhấp vào QRCode để hiển thị mã QR của thiết bị, sau đó làm theo hướng dẫn trong bài viết Ghép nối thiết bị Matter, giải thích cách tích hợp thiết bị Matter bằng GHA. Bạn cũng có thể đặt phí hoa hồng cho thiết bị bằng cách sử dụng Google Home Sample App for Matter.
Hãy xem MatterPrimer của chúng tôi để tìm hiểu cách hoạt động của tính năng uỷ quyền Matter.
Điều khiển thiết bị
Sau khi đặt lệnh 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 qua 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 cách sử dụ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 của 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ử với thiết bị
Để kiểm thử với Assistant, bạn nên sử dụng trình mô phỏng cách phát âm, chẳng hạn như Tiện ích Google Home dành cho Mã VS hoặc Trình bổ trợ Google Home dành cho Android Studio.
Xem thông tin chi tiết về thiết bị
Màn hình Thông tin chi tiết về thiết bị hiển thị thông tin chi tiết về thiết bị:
- Tên: Tên mà bạn đặt cho thiết bị.
- Loại thiết bị: Loại thiết bị đã chọn.
- Phân biệt đối xử: Phân biệt đối xử hiện tại trên thiết bị.
- 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ị giao tiếp với bộ điều khiển (GUI).
- Cổng Matter: Cổng mà thiết bị hiện tại sử dụng để giao tiếp thông qua mạng IP.
- Mã truy cập: Mã PIN dùng để đặt hoa hồng cho thiết bị thông qua mạng.
- Cấu hình thư mục: Thư mục mà thiết bị ảo lưu trữ cấu hình.
- Thông tin về phí hoa hồng: Cho biết(các) loại kết cấu mà thiết bị đã kết nối và mã nhận dạng nút của thiết bị trong loại kết cấu
Xem nhật ký thiết bị
Nếu bạn đã chạy MVD từ thiết bị đầu cuối, đầu ra 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 Xoá.
Chấm dứt ứng dụng
Thao tác đóng cửa sổ điều khiển sẽ huỷ bỏ thiết bị và chấm dứt ứng dụng MVD. Nếu đã khởi chạy từ thiết bị đầu cuối, bạn cũng có thể dừng ứng dụng bằng cách nhập Ctrl-C vào thiết bị đầu cuối.
Yêu cầu trợ giúp
Để yêu cầu 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.
Nhấp vào nút trợ giúp
ở góc trên bên phải cửa sổ sẽ đưa bạn đến trang này.Báo cáo lỗi
Nếu cho rằng đã tìm thấy một lỗi trong MVD, bạn có thể báo cáo lỗi bằng cách nhấp vào nút "Phát hành" ở 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ều 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 thành Biểu mẫu phản hồi của chúng tôi.
Bạn có thể khởi chạy biểu mẫu từ nút phản hồi
ở góc trên bên phải cửa sổ hoặc bằng cách nhấp vào nút bên dưới.