Các thiết bị trong Matter có một mô hình dữ liệu (DM) được xác định rõ ràng, đây là mô hình phân cấp các tính năng của Thiết bị. Ở cấp cao nhất của hệ phân cấp này là một Thiết bị.
Thiết bị và Điểm cuối
Tất cả thiết bị, bao gồm cả điện thoại thông minh và trợ lý nhà, đều bao gồm nút1. Điểm nối là một tài nguyên có thể nhận dạng và định địa chỉ duy nhất trong một mạng mà người dùng có thể coi là toàn bộ chức năng. Hoạt động giao tiếp mạng trong Matter bắt nguồn và kết thúc tại một Nút.
Nút là một tập hợp Điểm cuối. Mỗi Điểm cuối bao gồm một tập hợp tính năng. Ví dụ: một Điểm cuối có thể liên quan đến chức năng đèn chiếu sáng, trong khi một Điểm cuối khác liên quan đến tính năng phát hiện chuyển động và một Điểm cuối khác xử lý tiện ích như OTA của thiết bị.
Vai trò của nút
Vai trò của nút là một tập hợp các hành vi có liên quan. Mỗi Nút có thể có một hoặc nhiều vai trò. Các vai trò của nút bao gồm:
- Uỷ viên: Một Nút thực hiện Uỷ quyền.
- Bộ điều khiển: Một Nút có thể điều khiển một hoặc nhiều Nút. Ví dụ: Google Home app (GHA), Google Assistant và Google Nest Hub (2nd gen). Một số loại thiết bị, chẳng hạn như Công tắc bật/tắt đèn, có vai trò là Trình điều khiển.
- Đối tượng được điều khiển: Một Nút có thể được một hoặc nhiều Nút khác điều khiển. Hầu hết các loại thiết bị đều có thể là Thiết bị được điều khiển, ngoại trừ một số loại thiết bị có vai trò là Thiết bị điều khiển, chẳng hạn như Công tắc bật/tắt đèn. Công tắc bật/tắt đèn chỉ có thể là Bộ điều khiển. Không thể là một đối tượng được kiểm soát.
- Nhà cung cấp OTA: Một Nút có thể cung cấp bản cập nhật phần mềm OTA.
- Trình yêu cầu OTA: Một Nút có thể yêu cầu cập nhật phần mềm OTA.
Cụm
Trong một Điểm cuối, một Nút có một hoặc nhiều Nhóm. Đây là một bước khác trong hệ phân cấp Thiết bị, vì các nhóm này nhóm các chức năng cụ thể như cụm bật/tắt trên ổ cắm thông minh hoặc cụm điều khiển mức trên Điểm cuối ánh sáng có thể điều chỉnh độ sáng.
Một Nút cũng có thể có một số Điểm cuối, mỗi điểm tạo một thực thể của cùng một chức năng. Ví dụ: một thiết bị chiếu sáng có thể hiển thị chế độ điều khiển độc lập của từng bóng đèn hoặc một dây nguồn có thể hiển thị chế độ điều khiển của từng ổ cắm.
Thuộc tính
Ở cấp cuối cùng, chúng ta sẽ thấy Attributes (Thuộc tính). Đây là các trạng thái do nút giữ, chẳng hạn như thuộc tính current level (cấp hiện tại) của cụm level control (kiểm soát cấp). Các thuộc tính có thể được xác định là các loại dữ liệu khác nhau như uint8, chuỗi hoặc mảng.
Lệnh
Ngoài Thuộc tính, cụm cũng có Lệnh, là hành động có thể thực hiện. Các lệnh này tương đương với lệnh gọi quy trình từ xa trong DM của Matter. Lệnh có dạng động từ, chẳng hạn như khoá cửa trên cụm Khoá cửa. Các lệnh có thể tạo ra phản hồi và kết quả; trong Matter, các phản hồi như vậy cũng được xác định là Lệnh, đi theo hướng ngược lại.
Sự kiện
Cuối cùng, cụm cũng có thể có Sự kiện. Bạn có thể coi sự kiện là bản ghi về các quá trình chuyển đổi trạng thái trước đây. Mặc dù Thuộc tính đại diện cho trạng thái hiện tại, nhưng sự kiện là nhật ký của quá khứ và bao gồm bộ đếm tăng dần, dấu thời gian và mức độ ưu tiên. Các thuộc tính này cho phép ghi lại các quá trình chuyển đổi trạng thái, cũng như lập mô hình dữ liệu không dễ dàng đạt được bằng các thuộc tính.
Điểm cuối 0 được dành riêng cho Nhóm tiện ích. Cụm tiện ích là các Cụm cụ thể bao gồm chức năng bảo trì trên một Điểm cuối, chẳng hạn như khám phá, định địa chỉ, chẩn đoán và cập nhật phần mềm. Mặt khác, Nhóm ứng dụng hỗ trợ các thao tác chính như bật/tắt hoặc đo nhiệt độ.
Loại thiết bị
Tổng cộng, nhà sản xuất thiết bị nên đưa vào những tổ hợp cụm nào khi lên kế hoạch cho một Thiết bị mới?
Thông số kỹ thuật Matter yêu cầu thiết bị triển khai hoặc mở rộng một hoặc nhiều Loại thiết bị. Loại thiết bị là một tập hợp các cụm bắt buộc và không bắt buộc xác định các thuộc tính cấp cao nhất của một thiết bị thực, chẳng hạn như Đèn có thể điều chỉnh độ sáng, Khoá cửa hoặc Trình phát video.
Các Loại thiết bị không được chỉ định bằng tài liệu chính về thông số kỹ thuật Matter, mà là bằng tài liệu đi kèm: Thư viện thiết bị. Tương tự, tất cả cụm ứng dụng đều được xác định trong Thư viện cụm ứng dụng. Bạn có thể tìm thấy 3 tài liệu này trên trang web dành cho thành viên Connectivity Standards Alliance (Alliance).
Mỗi Điểm cuối triển khai một Loại thiết bị phải triển khai các Cụm bắt buộc xác định Loại thiết bị đó. Ngoài các cụm bắt buộc, Điểm cuối có thể triển khai các cụm bổ sung, bao gồm một hoặc nhiều cụm không bắt buộc của Loại thiết bị hoặc thậm chí là các cụm không thuộc Loại thiết bị.
Ứng dụng và máy chủ
Cụm có thể là Cụm máy khách hoặc Cụm máy chủ. Mặc dù máy chủ có trạng thái và lưu giữ các thuộc tính, sự kiện và lệnh, nhưng ứng dụng không có trạng thái và trách nhiệm của ứng dụng là bắt đầu Tương tác với một cụm máy chủ từ xa, do đó thực hiện:
- đọc từ và ghi vào Thuộc tính từ xa.
- đọc các Sự kiện từ xa.
- lệnh gọi của các Lệnh từ xa.
Mặc dù DM có thứ bậc trong một Nút, nhưng mối quan hệ giữa các Nút lại không có thứ bậc. Các nút trong Matter không có mối quan hệ bộ điều khiển/phần ngoại vi hoặc mối quan hệ đầu/đuôi theo chiều dọc. Ngược lại, mối quan hệ này là ngang hàng: Mọi cụm đều có thể là Máy chủ hoặc Máy khách. Do đó, một Nút có thể là cả Máy chủ và Máy khách liên quan đến các cụm và chức năng khác nhau.
Ví dụ: chúng ta có thể có hai đèn bàn: Điểm A và Điểm B. Cả hai nút đều triển khai Loại thiết bị Đèn bật/tắt. Loại thiết bị này bao gồm một cụm Máy chủ bật/tắt để kiểm soát đầu ra ánh sáng thực tế tương ứng.
Tuy nhiên, giống như các loại đèn bàn thông thường, thiết bị thực của chúng ta cũng sẽ bao gồm loại thiết bị Công tắc bật/tắt đèn cho các công tắc bật/tắt cục bộ. Loại thiết bị này phải triển khai cụm Máy khách bật/tắt để có thể kiểm soát các cụm máy chủ.
Trong mẫu này, cụm ứng dụng khách Bật/Tắt trên Nút A đang thay đổi các thuộc tính của cụm máy chủ Bật/Tắt trên Nút A và Nút B, trong khi cụm ứng dụng khách của Nút B chỉ thay đổi cụm máy chủ trên chính Nút B.
Trong phần tiếp theo, chúng ta sẽ trình bày chi tiết cách tương tác giữa Cụm máy khách và Cụm máy chủ: Mô hình tương tác.
Cụm chỉ số mô tả
Như tên gọi, Máy chủ cụm mô tả cung cấp thông tin tự xem xét. Tệp này mô tả Điểm cuối liệt kê:
- Cụm máy chủ.
- Cụm ứng dụng khách.
- Loại thiết bị.
- Các điểm cuối bổ sung, còn gọi là Phần.
Mọi Loại thiết bị đều yêu cầu triển khai Cụm chỉ số mô tả. Loại thiết bị gốc được xác định trên Điểm cuối 0. Việc đọc Cụm chỉ số mô tả sẽ cung cấp cho ứng dụng khả năng xem toàn bộ cây của các Điểm cuối có sẵn và thực hiện các thao tác có thể áp dụng.
Thiết bị uỷ quyền hoặc Thiết bị điều khiển (chẳng hạn như điện thoại hoặc trung tâm) có thể sử dụng thông tin có trên cụm mô tả để lập mô hình Thiết bị (đèn, công tắc, máy bơm, máy điều nhiệt) và các tính năng cụ thể do thực thể cụ thể của Thiết bị đó triển khai, hiển thị giao diện người dùng chính xác cho người dùng.
Cụm máy chủ
Thuộc tính ServerList
liệt kê các Máy chủ cụm trong Điểm cuối.
Cụm ứng dụng
Thuộc tính ClientList
liệt kê các Ứng dụng khách cụm trong Điểm cuối.
Danh sách loại thiết bị
Thuộc tính DeviceTypeList
là danh sách các Loại thiết bị mà Điểm cuối hỗ trợ, cùng với các bản sửa đổi tương ứng. Tệp này phải chứa ít nhất một Loại thiết bị.
Danh sách thành phần
PartsList
chứa danh sách các Điểm cuối dùng để triển khai Loại thiết bị này.
PartsList
của Điểm cuối 0 (Điểm gốc) chứa tất cả các Điểm cuối của thiết bị, ngoại trừ chính nó (Điểm cuối 0).
PartsList
của các Điểm cuối khác thường sẽ trống. Ví dụ: Cảm biến nhiệt độ yêu cầu cụm Máy chủ đo nhiệt độ và không có gì khác.
Các loại thiết bị khác có thể được kết hợp trong cấu trúc cây của nhiều thực thể Device Type. Ví dụ: Loại Thiết bị phát video có thể bao gồm TV, Trình phát video, Loa và nhiều Loại thiết bị ứng dụng nội dung, mỗi loại trên một Điểm cuối khác nhau.
-
Thông số kỹ thuật Matter xác định rằng một Thiết bị có thể có nhiều Nút. Ví dụ: điện thoại thông minh có thể có nhiều ứng dụng, mỗi ứng dụng là một Nút khác nhau. Đối với mục đích của hướng dẫn này, tất cả Thiết bị sẽ chứa một Nút duy nhất. Dự kiến hầu hết các thiết bị thực sẽ tuân theo mẫu này. ↩