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

Các thiết bị trong Mattermô hình dữ liệu (DM) được xác định rõ ràng. Đây là mô hình hoá theo hệ 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ý ảo tại nhà, đều được tạo thành từ Nút1. Nút là một tài nguyên có thể nhận dạng và định địa chỉ duy nhất trong mạng mà người dùng có thể cảm nhận là một chức năng hoàn chỉnh. 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 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 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 trên 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ò. Vai trò của nút bao gồm:

  • Người uỷ quyền: Một Nút thực hiện việc 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 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ò Bộ điều khiển.
  • Thiết bị đượ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ò 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. Công tắc đèn Bật/Tắt 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 OTA.
  • Người yêu cầu OTA: Một Nút có thể yêu cầu bản cập nhật phần mềm OTA.

Cụm

Trong một Điểm cuối , 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 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 bộ đèn có thể hiển thị chế độ điều khiển độc lập của từng đèn hoặc một ổ cắm điệ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 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 mức hiện tại của cụm điều khiển mức. Thuộc tính có thể được xác định là các loại dữ liệu khác nhau, 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òn có Lệnh, đây là hành động có thể được 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 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 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, có thể được coi là bản ghi các quá trình chuyển đổi trạng thái trong quá khứ. Trong khi Thuộc tính đại diện cho các 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 đơn điệu, dấu thời gian và 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ư mô hình hoá dữ liệu mà bạn không thể dễ dàng thực hiện 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 Matter mô hình tương tác Thiết bị

Đ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 Điểm cuối, chẳng hạn như phát hiện, đị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 hành động chính như bật/tắt hoặc đo nhiệt độ.

Loại thiết bị

Nhìn chung, 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 của 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 Thiết bị vật lý, 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ề thông số kỹ thuật của 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 trang web của các 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í cả 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 ứng dụng hoặc Cụm máy chủ. Trong khi Máy chủ là có trạng thái và giữ Thuộc tính, Sự kiện và Lệnh, thì Ứng dụng là không có trạng thái và có trách nhiệm khởi tạo Tương tác với 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 Sự kiện từ xa.
  • gọi Lệnh từ xa.

Mặc dù DM có hệ 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 người dẫn đầu/người theo dõi. Ngược lại, mối quan hệ này là theo chiều ngang: Bất kỳ Cụm nào cũng có thể là Máy chủ hoặc Ứng dụng. Do đó, một Nút có thể vừa là Máy chủ vừa là Ứng dụng liên quan đến 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 điều khiển các đầ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ị vật lý của chúng ta cũng sẽ bao gồm 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 một Cụm Ứng dụng Bật/Tắt để có thể điều khiển các 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 ứng dụng và Cụm 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ẽ trình bày chi tiết cách Cụm ứng dụng 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ụm mô tả máy chủ cung cấp thông tin tự kiểm tra. Cụm này mô tả Điểm cuối bằng cách 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 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ẽ giúp ứng dụng có thể xem toàn bộ cây Điểm cuối hiện có và thực hiện các thao tác áp dụng.

Người 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 điều khiển, 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, bộ đ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ị đúng giao diện người dùng 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 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ị được Điểm cuối hỗ trợ, cùng với các bản sửa đổi tương ứng. Danh sách này phải chứa ít nhất một Loại thiết bị.

Danh sách 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 (Nút gốc) chứa tất cả các Điểm cuối của thiết bị ngoài 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 cấu trúc cây của nhiều thực thể Loại thiết bị. 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, mỗi loại trên một Điểm cuối khác nhau.


  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 khác nhau. Đối với 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. Hầu hết các thiết bị vật lý đều tuân theo mẫu này.