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à 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ý gia đình, đều bao gồm Nút1. Nút là một tài nguyên có thể nhận dạng chính xác và định địa chỉ riêng biệt trong một mạng mà người dùng có thể coi là toàn bộ chức năng. Giao tiếp mạng trong Matter bắt đầu và kết thúc tại một Nút.
Nút là một tập hợp các Điểm cuối. Mỗi Điểm cuối bao gồm một tập tính chất. Ví dụ: một Điểm cuối có thể liên quan đến chức năng chiếu sáng, trong khi một Điểm cuối khác liên quan đến chức năng phát hiện chuyển động và một Điểm cuối khác xử lý các 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ò. Vai trò của nút bao gồm:
- Người uỷ quyề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 đèn bật/tắt, có vai trò Bộ điều khiển.
- Nút được điều khiển: Một Nút có thể được điều khiển bởi một hoặc nhiều Nút. 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 đèn bật/tắt. Công tắc đèn bật/tắt chỉ có thể là Bộ điều khiển. Thiết bị này không thể là Thiết bị được điều khiển.
- Nhà cung cấp OTA: Một Nút có thể cung cấp bản cập nhật phần mềm qua OTA.
- Bên yêu cầu OTA: Một Nút có thể yêu cầu cập nhật phần mềm qua OTA.
Cụm
Trong một Điểm cuối, một Nút có một hoặc nhiều Cụm. Đây là một bước khác trong Hệ phân cấp thiết bị, vì chúng nhóm các chức năng cụ thể, chẳng hạn như cụm bật/tắt trên phích cắm thông minh hoặc cụm điều khiển mức trên Điểm cuối đèn có thể điều chỉnh độ sáng.
Một Nút cũng có thể có nhiều Điểm cuối, mỗi Điểm cuối 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ể cho phép điều khiển độc lập từng đèn hoặc một ổ cắm điện có thể cho phép điều khiển từng ổ cắm.
Thuộc tính
Ở cấp cuối cùng, chúng ta sẽ thấy Thuộc tính, là các trạng thái do nút lưu giữ, chẳng hạn như thuộc tính cấp hiện tại của cụm kiểm soát cấp. Thuộc tính có thể được xác định dưới dạng các loại dữ liệu khác nhau, chẳng hạn như uint8, chuỗi hoặc mảng.
Lệnh
Bên cạnh Thuộc tính, Cụm cũng có Lệnh, tức là hành động có thể thực hiện. Chúng tương đương với lệnh gọi quy trình từ xa trong DM của Matter. Lệnh giống như động từ, chẳng hạn như khoá cửa trên một cụm Khoá cửa. Lệnh có thể tạo ra phản hồi và kết quả; trong Matter, các phản hồi đó cũng được định nghĩa 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, có thể được coi là bản ghi của các chuyển đổi trạng thái trước đây. Trong khi Thuộc tính đại diện cho trạng thái hiện tại, thì 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 sự kiện này cho phép ghi lại các chuyển đổi trạng thái, cũng như lập mô hình dữ liệu mà 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 Cụm tiện ích. Cụm tiện ích là các Cụm cụ thể bao gồm chức năng dịch vụ 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, Cụ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óm lại, nhà sản xuất thiết bị nên đưa những tổ hợp Cụm nào và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.
Loại thiết bị không được chỉ định trong tài liệu chính của thông số kỹ thuật Matter, mà được chỉ định trong một 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 ba tài liệu này trên trang web dành cho thành viên của 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 thêm các Cụm, 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ị.
Máy khách và máy chủ
Cụm có thể là Cụm máy khách hoặc Cụm máy chủ. Trong khi Máy chủ có trạng thái và lưu giữ Thuộc tính, Sự kiện và Lệnh, thì Máy khách không có trạng thái và có trách nhiệm bắt đầu Tương tác với một Cụm máy chủ từ xa, do đó thực hiện:
- đọc và ghi vào Thuộc tính từ xa.
- lần đọc Sự kiện từ xa.
- gọi các lệnh từ xa.
Mặc dù DM có tính phân cấp trong một Nút, nhưng mối quan hệ giữa các Nút thì không. Các nút trong Matter không có mối quan hệ dọc giữa bộ điều khiển/thiết bị ngoại vi hoặc giữa thiết bị chính/thiết bị phụ. Ngược lại, mối quan hệ này là ngang hàng: Bất kỳ Cụm nào cũng có thể là Máy chủ hoặc Máy khách. Do đó, một Nút có thể vừa là Máy chủ vừa là Máy khách đối với các Cụm và chức năng khác nhau.
Ví dụ: chúng ta có thể có hai đèn bàn: Nút A và Nút 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 điều khiển đầu ra ánh sáng vật lý tương ứng.
Tuy nhiên, giống như đèn bàn thông thường, các thiết bị thực của chúng ta cũng sẽ có Loại thiết bị Công tắc bật/tắt đèn cho 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ụm máy chủ.
Trong mẫu này, Cụm máy 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 máy 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 Cụm máy khách và Cụm máy chủ tương tác: Mô hình tương tác.
Cụm nội dung mô tả
Đúng như tên gọi, Descriptor Cluster Server cung cấp thông tin tự kiểm tra. Tài liệu này mô tả Điểm cuối, liệt kê:
- Cụm máy chủ.
- Cụm khách hàng.
- Loại thiết bị.
- Đ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 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 mô tả sẽ cung cấp cho ứng dụng khách khả năng hiển thị để duyệt qua toàn bộ cây Điểm cuối có sẵn và thực hiện các thao tác thích hợp.
Thiết bị uỷ viên hoặc thiết bị điều khiển (chẳng hạn như điện thoại hoặc thiết bị trung tâm) có thể sử dụng thông tin tìm thấy trên Cụm mô tả để lập mô hình Thiết bị (đèn, công tắc, máy bơm, bộ điều nhiệt) và các tính năng cụ thể do phiên bản cụ thể đó của Thiết bị triển khai, cho người dùng thấy giao diện người dùng chính xác.
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 khách hàng
Thuộc tính ClientList liệt kê các ứng dụng 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 phụ tùng
PartsList chứa danh sách Điểm cuối dùng để triển khai Loại thiết bị này.
PartsList của Điểm cuối 0 (Nút gốc) chứa tất 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 một 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 tạo thành cấu trúc cây của nhiều thực thể Loại thiết bị. Ví dụ: một Loại thiết bị trình phát video có thể bao gồm TV, Trình phát video, Loa và các Loại thiết bị ứng dụng nội dung khác nhau, mỗi loại trên một Điểm cuối khác nhau.
-
Quy cách 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. Trong tài liệu hướng dẫn cơ bản này, tất cả Thiết bị sẽ chứa một Nút duy nhất. Hầu hết các thiết bị thực tế đều sẽ tuân theo mẫu này. ↩