Mô hình dữ liệu thiết bị

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 về 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, có 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ý ảo tại nhà, đều bao gồm Các nút1. Nút là một tài nguyên duy nhất có thể nhận dạng và định địa chỉ trong một mạng mà người dùng có thể coi là hoàn chỉnh về chức nă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 các Điểm cuối. Mỗi Điểm cuối bao gồm một bộ tính năng. 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 thiết bị.

Hệ thống phân cấp của Thiết bị, Nút và Điểm cuối
Hình 1: Thiết bị, Nút và Điểm cuối

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:

  • Commissioner: Một nút thực hiện hoạt động Commissioning (Thiết lập).
  • 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 AssistantGoogle 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ò là Bộ điều khiển.
  • Controlee: 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à Controlee, ngoại trừ một số loại thiết bị có vai trò Controller, 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. Không thể là Bên được kiểm soát.
  • Nhà cung cấp OTA: Một nút có thể cung cấp các bản cập nhật phần mềm qua mạng không dây.
  • OTA Requestor: Một nút có thể yêu cầu cập nhật phần mềm OTA.

Cụm

Trong một Endpoint, một Node có một hoặc nhiều Clusters. Đâ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ư một cụm bật/tắt trên một phích cắm thông minh hoặc một cụm điều khiển mức trên một Điểm cuối 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 ra một phiên bản 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 kiểm soát độc lập từng đèn hoặc một ổ cắm điện có thể cho phép kiểm soát từng ổ cắm.

Thuộc tính

Ở cấp độ cuối cùng, chúng ta sẽ tìm thấy Thuộc tính, là các trạng thái do nút nắm giữ, chẳng hạn như thuộc tính cấp độ hiện tại của một cụm nút điều khiển cấp độ. Bạn có thể xác định các thuộc tính dưới dạng nhiều loại dữ liệu, chẳng hạn như uint8, chuỗi hoặc mảng.

Hệ thống phân cấp của các nút, điểm cuối, thuộc tính và lệnh
Hình 2: Nút, Điểm cuối, Thuộc tính và Lệnh

Lệnh

Ngoài Thuộc tính, Cụm cũng có Lệnh. Đây là các thao tác có thể được thực hiện. Đây là phiên bản tương đương của lệnh gọi quy trình từ xa trong DM của Matter. Các lệnh có dạng động từ, chẳng hạn như khoá cửa trên một cụm Khoá cửa. Các lệnh có thể tạo ra câu trả lời và kết quả; trong Matter, những câu trả lời như vậy cũng được xác định là Lệnh, 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à một bản ghi về các quá trình chuyển đổi trạng thái trước đây. Trong khi Thuộc tính biểu thị trạng thái hiện tại, thì các sự kiện là nhật ký của quá khứ và bao gồm một bộ đếm tăng đơn điệu, một dấu thời gian và một mức độ ưu tiên. Chúng 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 mà bạn không thể dễ dàng đạt được bằng các thuộc tính.

Thiết bị mẫu đầy đủ
Hình 3: Mẫu về hệ phân cấp của Matter Mô hình tương tác với thiết bị

Endpoint 0 được dành riêng cho Utility Clusters (Cụm tiện ích). Cụm tiện ích là những 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ị

Nhìn chung, những tổ hợp Cụm nào nên được đưa vào khi nhà sản xuất thiết bị lên kế hoạch cho một Thiết bị mới?

Quy cách 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 trong tài liệu chính về quy cách 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 3 tài liệu này trên Connectivity Standards Alliance (Alliance)trang web dành cho hội viên.

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ị.

Máy khách và máy chủ

Cụm có thể là Cụm ứng dụng khách hoặc Cụm máy chủ. Trong khi Máy chủ là có trạng thái và giữ các Thuộc tính, Sự kiện và Lệnh, thì Máy khách là không trạng thái và có trách nhiệm bắt đầu Tương tác với Cụm máy chủ từ xa, do đó thực hiện:

  • đọcghi vào các Thuộc tính từ xa của nó.
  • đọc các Sự kiện từ xa của nó.
  • gọi 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ệ theo chiều dọc giữa bộ điều khiển/thiết bị ngoại vi hoặc mối quan hệ giữa thiết bị chính/thiết bị phụ. Ngược lại, mối quan hệ này là mối quan hệ ngang: Bất kỳ Cụm nào cũng có thể là Máy chủ hoặc Ứng dụng 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ó 2 đèn bàn: Nút ANú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 để kiểm soát đầ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 tôi cũng sẽ có một Loại thiết bị Công tắc đèn Bật/tắt 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ụm Máy chủ.

Đèn triển khai cả Đèn bật/tắt và Công tắc đèn
Hình 4: Cụm máy khách và máy chủ

Trong mẫu này, Cụm ứng dụng 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 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ẽ tìm hiểu chi tiết về 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 mô tả

Như tên gọi của nó, Descriptor Cluster Server cung cấp thông tin tự xem xét. Nó mô tả Điểm cuối liệt kê:

  • Cụm máy chủ.
  • Cụm ứng dụng.
  • Loại thiết bị.
  • Các điểm cuối bổ sung, còn được 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ả của nó sẽ giúp ứng dụng có thể duyệt qua toàn bộ cây gồm 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ó trong Cụm mô tả để mô hình hoá 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 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 phù hợp.

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 Cluster Client trong Endpoint.

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 các Điểm cuối được 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 độ bắt buộc phải có 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 trong một cấu trúc cây gồm nhiều thực thể DeviceType. Ví dụ: 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.


  1. 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 riêng biệt. Để phục vụ mục đích của tài liệu giới thiệu 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 tế sẽ tuân theo mẫu này.