Thiết bị ảo quan trọng

SDK thiết bị

Các thiết bị ảo Matter rất hữu ích cho việc phát triển và kiểm thử Matter giải pháp và có thể được đưa vào hoạt động bằng cách sử dụng Google Home app (GHA) và được kiểm soát bằng GHAGoogle Assistant, giống như Matter thực tế thiết bị.

Dành cho nhà phát triển ứng dụng và những người cần kiểm thử hoặc mô phỏng môi trường ảo Có Matter thiết bị nhưng thiếu tài nguyên để tự tạo thiết bị thực hoặc thiết bị Matter ảo, Google cung cấp Matter Virtual Device (MVD). MVD là một Công cụ dành cho máy tính để bàn Linux hoặc macOS độc lập nhẹ, mô phỏng nhiều các loại thiết bị Matter ảo và cung cấp chế độ xem đồ hoạ giao diện người dùng để kiểm soát và hiển thị các trạng thái của chế độ cài đặt ảo Matter thiết bị.

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 một mạng Matter. Thay vào đó, phương thức này sử dụng thành phần lưu trữ Kết nối mạng Wi-Fi hiện có của máy Linux hoặc macOS để vận hành.

So với các công cụ khác

MVD khác với Virtual Device Controller (VDC) trong đó là một giải pháp độc lập, kết hợp một thiết bị ảo với một giao diện người dùng cho đang đ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, chẳng hạn như thiết bị mà chúng tôi tạo trong Matter Virtual Device Development Environment (MVD-DE).

Có thể bạn đã từng tham gia lớp học lập trình MVD-DE. Trong phần này lớp học lập trình này, bạn sẽ tạo một loại thiết bị ảo duy nhất, đó là bóng đèn thông minh. Ngược lại, MVD chứa một số thiết bị ảo được tạo sẵn khác nhau và 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ị đó.

Bảng: So sánh công cụ thiết bị Matter ảo
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
Mức độ nỗ lực phát triển cần thiết
Tải xuống dưới 100 MB 9 GB 20 GB

Thiết bị được hỗ trợ

MVD hỗ trợ Matter sau loại thiết bị:

Bảng: Matter thiết bị các loại được hỗ trợ cho MVD
Matter loại thiết bị Cụm ứng dụng Loại hệ sinh thái nhà
Trình phát video cơ bản 0x0006
0x0506
0x0509
TV
Ánh sáng có nhiệt độ màu 0x0300
0x0008
0x0006
Sáng
Cảm biến tiếp xúc 0x0045
Sensor
Ánh sáng có thể điều chỉnh độ sáng 0x0008
0x0006
Sáng
Khoá cửa 0x0101
Khoá
Ánh sáng màu mở rộng 0x0300
0x0008
0x0006
Sáng
Quạt 0x0202
0x0006
Quạt
Cảm biến lưu lượng 0x0404
Sensor
Chuyển đổi chung 0x003b
Switch
Cảm biến độ ẩm 0x0405
Sensor
Cảm biến ánh sáng 0x0400
Sensor
Cảm biến phát hiện người trong nhà 0x0406
Sensor
Bật/tắt đèn 0x0008
0x0006
Sáng
Công tắc đèn bật/tắt 0x0006
Switch
Bộ cắm bật/tắt 0x0008
0x0006
Ổ cắm
Cảm biến áp suất 0x0403
Sensor
Bơm 0x0006
0x0200
0x0402
0x0403
0x0404
Bơm nước
Rô bốt hút bụi 0x0054
0x0055
0x0061
Hút bụi
Máy điều hoà trong phòng 0x0006
0x0201
0x0202
Ac
Chuông báo khói khí CO 0x005C
Khói
Cảm biến nhiệt độ 0x0402
Sensor
Máy điều nhiệt 0x0201
Máy điều nhiệt
Cửa sổ che 0x0102
Mành cửa

Cài đặt MVD

MVD chạy trên các máy xử lý 64 bit x86 chạy Debian (11 trở lên), Ubuntu (20.04 trở lên) hoặc macOS.

Linux

Tải gói MVD Debian (.deb) xuống

Tải tệp chữ ký ASCII có giáp (.asc) xuống

Sau đó, hãy chạy dpkg để cài đặt MVD Gói Debian (.deb):

sudo dpkg -i mvd_1.4.0_amd64.deb

macOS

Tải tệp gây hại MVD (macOS x86) xuống

Tải tệp gây hại MVD (ARM64 M1) xuống

Sau đó, nhấp đúp vào tệp dmg để mở phần cài đặt cửa sổ.

Để 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:

Cài đặt macOS

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 để tạo RPC lệnh gọi đến thiết bị ảo, vì vậy, nếu cổng này đã được một cổng khác sử dụng trên máy tính của bạn, hãy nhớ giải phóng ứng dụng đó.

Cách xem có quy trình nào đang sử dụng cổng 33000 hay không:

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

Bạn có thể chấm dứt 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:

Linux

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

Chạy MVD

Linux

Trên Linux, hãy chạy MVD từ thư mục ứng dụng của bạn hoặc từ thiết bị đầu cuối:

mvd

macOS

Trên macOS, hãy dùng Launchpad để mở MVD hoặc chạy MVD từ ga:

cd /Applications
open mvd.app

Định cấu hình thiết bị của bạn

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 một 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ị.
  • Giá trị phân biệt: 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ó hoa hồng. (Mặc định: 3840).
  • Cổng Matter: Cổng cho Matter vận hành và giao tiếp 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 để sử dụng cổng, 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 0x8000 đến 0x801F.

Cấu hình Thiết bị ảo
màn hình

Định cấu hình tường lửa của bạn

Linux

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.

Cách xem netfilter đang hoạt động quy tắc về tường lửa, chạy:

sudo iptables -L -n

Nếu đang sử dụng `ufw`, bạn có thể tắt tính năng này bằng:

sudo ufw disable

Bạn có thể bật lại tính năng này bằng:

sudo ufw enable

macOS

Cách định cấu hình hoặc tắt tường lửa trên macOS:

  1. Chuyển đến trình đơn Apple rồi chọn System Settings (Cài đặt hệ thống).
  2. Nhấp vào Mạng trong danh sách thanh bên.
  3. Nhấp vào Firewall (Tường lửa).
  4. Gạt nút chuyển 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 Tạo thiết bị. Khi thiết bị đã tạo, màn hình Controller sẽ xuất hiện. Tuỳ thuộc vào loại thiết bị bạn chọn, bạn có thể thấy một hoặc nhiều chế độ điều khiển sau:

  • Bật/tắt: Phổ biến với phần lớn các thiết bị.
  • Cấp độ: Ví dụ như đèn có thể có thanh trượt mức độ để điều chỉnh độ sáng.
  • Màu: Ví dụ như đèn màu có thể có chế độ điều khiển này.
  • Số người lưu trú: Cảm biến có người lưu trú 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ế độ kiểm soát sau:

  • QRCode: Cho thấy mã QR dùng để uỷ quyền.
  • Khởi động lại: Khởi động lại thiết bị ảo. Đã ngắt kết nối thiết bị 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ị.

Màn hình điều khiển Thiết bị ảo

Ủy quyền cho thiết bị của bạn

Thiết bị có thể hoạt động ngay sau khi tạo.

Bạn cần đáp ứng một số điều kiện tiên quyết để vận hành 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 mục tích hợp Matter có cùng VID/PID làm tổ hợp mã 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ợ Vấn đề

  • Bạn phải có điện thoại Android chạy Android 8.1 trở lên, với Đã 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 với trung tâm.

  • Máy chủ phải được kết nối với mạng Wi-Fi.

Để uỷ quyền 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 phần Ghép nối thiết bị Matter. Phần này giải thích cách đưa thiết bị Matter vào hoạt động bằng GHA. Bạn cũng có thể uỷ quyền cho thiết bị bằng cách sử dụng Google Home Sample App for Matter.

Hãy xem Hướng dẫn cơ bản về Matter để 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 kích hoạt 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 cách . 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 giám sát trạng thái các thay đổi trên thiết bị ảo,hoặc
  • Điều khiển 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ử với thiết bị

Để kiểm thử với Assistant, bạn nên sử dụng cách phát âm như trình mô phỏng Tiện ích Google Home cho mã VS hoặc Trình bổ trợ Google Home cho Android Studio.

Xem thông tin chi tiết về thiết bị

Màn hình Device details (Thông tin về thiết bị) hiển thị thông tin chi tiết về thiết bị:

  • Tên: Tên thân thiện được đặt cho thiết bị.
  • Loại thiết bị: Loại thiết bị đã chọn.
  • Đối tượng phân biệt: Người 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 thiết bị hiện tại.
  • 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ã thẻ và vé: 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ữ .
  • Thông tin uỷ quyền: Cho biết (các) fabric mà thiết bị đã tham gia và mã nút của thiết bị trong fabric.

Xem nhật ký thiết bị

Nếu bạn đã khởi chạy MVD từ thiết bị đầu cuối, thì đầ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ị trong thẻ Nhật ký thiết bị.

Dừng thiết bị

Để dừng và huỷ bỏ 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ỷ bỏ thiết bị và chấm dứt Ứng dụng MVD. Nếu đã khởi chạy từ cửa sổ dòng lệnh, bạn có thể bạn cũng có thể chấm dứt ứng dụng bằng cách nhấn Ctrl-C vào cửa sổ dòng lệnh.

Nhận 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 người liên hệ của 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 mình phát hiện thấy lỗi trong MVD, bạn có thể báo cáo lỗi bằng cách nhấp vào mục Phát hành ở góc trên bên phải cửa sổ.

Gửi phản hồi

Để gửi suy nghĩ của bạn về đ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 với 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.

Biểu mẫu có thể được khởi chạy từ phản hồi Nút trong 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