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õ, là mô hình phân cấp cho 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

Mọi Thiết bị, kể cả điện thoại thông minh và trợ lý tại nhà, đều bao gồm Nút1. Nút là một tài nguyên duy nhất có thể nhận dạng và xác định 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 qua mạng trong Matter bắt đầu và kết thúc tại một Nút.

Các nút là một tập hợp Điểm cuối. Mỗi Điểm cuối kèm theo một nhóm 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 có liên quan đến phát hiện chuyển động và một điểm cuối khác liên quan đến các tiện ích như OTA của thiết bị.

Hệ phân cấp thiết bị, nút và thiết bị đầu 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:

  • Uỷ viên: Một Nút thực hiện Uỷ quyền.
  • Đơn vị điều khiển: Một Nút có thể kiểm soát một hoặc nhiều Nút. Ví dụ như 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 bật/tắt đèn, có vai trò Tay điều khiển.
  • Người được kiểm soát: Một Nút có thể do một hoặc nhiều Nút kiểm soát. Hầu hết các loại thiết bị đều có thể là Người được kiểm soát, ngoại trừ một số loại thiết bị có vai trò Tay đ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à Tay điều khiển. Người này không được là Người đượ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 OTA.
  • OTA Requestor (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 Đ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ể như cụm bật/tắt trên phích cắm thông minh hoặc cụm điều khiển cấp độ 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 ra 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ể để lộ chức năng điều khiển độc lập cho từng đèn hoặc một dải nguồn có thể để lộ khả năng điều khiển từng ổ cắm.

Thuộc tính

Ở cấp cuối cùng, chúng ta sẽ tìm thấy Attributes (Thuộc tính), là các trạng thái do nút giữ lại, 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. Các thuộc tính có thể được định nghĩa là các kiểu dữ liệu khác nhau, chẳng hạn như uint8, chuỗi hoặc mảng.

Hệ phân cấp 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

Bên cạnh Thuộc tính, Cụm cũng có Lệnh, là các thao tác có thể được thực hiện. Các DM này tương đương trong DM của Matter về lệnh gọi quy trình từ xa. Các 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, những phản hồi như vậy cũng được định nghĩa là Lệnh và theo hướng ngược lại.

Sự kiện

Cuối cùng, các 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 trong quá khứ. Mặc dù Thuộc tính biểu thị các trạng thái hiện tại, các sự kiện là một nhật ký trong quá khứ và bao gồm một bộ đếm tăng đơn điệu, dấu thời gian và mức độ ưu tiên. Các chế độ 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 chưa dễ dàng đạt được bằng các thuộc tính.

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

Điểm cuối 0 dành riêng cho Cụm Tiện ích. Cụm tiện ích là các Cụm cụ thể đi kèm chức năng dịch vụ trên một Điểm cuối, chẳng hạn như khám phá, xác đị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, tổ hợp Cụm nào nên được đưa vào khi nhà sản xuất thiết bị lập 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ị. Device Type (Loại thiết bị) là một tập hợp gồm các Cụm bắt buộc và không bắt buộc giúp 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ư Ánh sáng có thể giảm độ 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 qua một tài liệu đi kèm: Thư viện thiết bị. Tương tự, tất cả cá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 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 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ị, hay 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ác cụm có thể là Cụm Ứng dụng hoặc Cụm máy chủ. Mặc dù Máy chủ có trạng thái và lưu giữ 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 Máy chủ là bắt đầu Tương tác với cụm Máy chủ từ xa, do đó sẽ thực hiện:

  • đọcghi vào Thuộc tính từ xa của nó.
  • đọc Sự kiện từ xa của mình.
  • 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 tay điều khiển/thiết bị ngoại vi hoặc người dẫn đầu/người theo dõi. Ngược lại, mối quan hệ là theo chiều ngang: Bất kỳ cụm nào đều có thể là Máy chủ hoặc Ứng dụng. Do đó, một Nút có thể vừa là Máy chủ Ứng dụng liên quan đến nhiều Cụm và chức năng.

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ị Bật/Tắt sáng. 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, như các loại đèn bàn thông thường, các thiết bị thực của chúng tôi cũng sẽ có 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 Ứng dụng đang bật/tắt để có thể kiểm soát các cụm Máy chủ đó.

Đèn thực hiện cả bật/tắt đèn 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 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 Ứ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ẽ trình bày chi tiết về cách các cụm Máy khách và Máy chủ tương tác: Mô hình tương tác.

Cụm Mô tả

Như chính tên gọi của nó, Máy chủ cụm Mô tả cung cấp thông tin về nội dung. Phương thức này mô tả Điểm cuối liệt kê:

  • Cụm máy chủ.
  • Cụm Ứng dụng.
  • Loại thiết bị.
  • Điểm cuối bổ sung, được gọi là Bộ phận.

Mọi Loại thiết bị đều yêu cầu triển khai Cụm mô tả. Root Device Type (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ả năng hiển thị để truyền tải toàn bộ cây của các Điểm cuối hiện có và thực hiện các thao tác có thể áp dụng.

Uỷ viên hoặc Thiết bị điều khiể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 phiên bản cụ thể đó của Thiết bị triển khai, cho người dùng thấy đúng giao diện 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 cụm trong Điểm cuối.

Danh sách loại thiết bị

Thuộc tính DeviceTypeList là danh sách Loại thiết bị được Điểm cuối hỗ trợ, cùng với các bản sửa đổi tương ứng. Thuộc tính 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 đượ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ả các Điểm cuối của thiết bị khác với chính thiết bị đó (Đ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 độ sẽ yêu cầu một Cụm Máy chủ đo lường nhiệt độ chứ không yêu cầu bất kỳ cụm nào khác.

Các loại thiết bị khác có thể được cấu trúc trong một cấu trúc cây gồm 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ị trong ứng dụng nội dung, mỗi loại có một điểm cuối riêng.


  1. 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 riêng. Trong quá trình tạo đoạn mã gốc 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ẽ đều tuân theo mẫu này.