Giám sát trẻ em

Xem nguồn trên GitHub

Để cung cấp cơ chế tiết kiệm năng lượng cho thiết bị đầu cuối ở trạng thái ngủ (SED) nhằm xác minh rằng thiết bị đó vẫn kết nối với bộ định tuyến mẹ (liệt kê trong bảng con của bộ định tuyến mẹ), hãy bật tính năng Giám sát trẻ em.

Thông số kỹ thuật của luồng yêu cầu SED định kỳ thực hiện Yêu cầu cập nhật con MLE và trao đổi phản hồi với bộ định tuyến mẹ để xác minh khả năng kết nối. Child Supervision là một giải pháp thay thế để xác minh khả năng kết nối bộ định tuyến SED, giúp giảm gánh nặng truyền thông báo trên bộ định tuyến mẹ thay vì trên SED bị hạn chế năng lượng.

Cách hoạt động

Tính năng này hoạt động theo hai cách, tuỳ thuộc vào loại nút và tham số được định cấu hình:

Trên thành phần mẹ

Nếu bộ định tuyến mẹ không truyền đến SED con trong OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL, thì bộ định tuyến mẹ sẽ đưa vào hàng đợi và gửi thông báo Giám sát trẻ em đến SED con. Thông báo giám sát trẻ em là một khung MAC chứa các thông tin sau:

  • RLOC16 của SED làm đích đến trong tiêu đề MAC.
  • Tải trọng trống.

Theo mặc định, tiêu đề MAC chứa yêu cầu ACK 802.15.4. Để tắt yêu cầu này trong thông báo Chế độ giám sát trẻ em, hãy đặt tham số OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST thành 1.

Trên trẻ

Nếu không nhận được thông báo từ bộ định tuyến mẹ trong OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT, SED sẽ giả định rằng nó đã mất kết nối với bộ định tuyến mẹ và bắt đầu quy trình Đính kèm MLE để đính kèm lại với bộ định tuyến mẹ.

Cách bật

Tính năng này bị tắt theo mặc định.

Theo định nghĩa

Để bật tính năng giám sát trẻ em, hãy xác định OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE1 trong tệp openthread/src/core/config/child_supervision.h trước khi tạo OpenThread:

#ifndef OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
#define OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE 1
#endif

Theo tùy chọn

Ngoài ra, hãy sử dụng tuỳ chọn bản dựng -DOT_CHILD_SUPERVISION=ON khi tạo OpenThread:

./script/build -DOT_CHILD_SUPERVISION=ON

Thông số

Sử dụng các tham số sau trong openthread/src/core/config/child_supervision.h để tuỳ chỉnh tính năng này:

Thông số
OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL
Giá trị mặc định
129 giây
Nội dung mô tả
Chỉ định khoảng thời gian giám sát tính bằng giây do phần tử mẹ sử dụng. Đặt thành 0 để tắt quy trình giám sát trên phần tử mẹ.
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT
Giá trị mặc định
190 giây
Nội dung mô tả
Chỉ định khoảng thời gian chờ kiểm tra chế độ giám sát tính bằng giây mà thiết bị ở trạng thái con sử dụng. Đặt thành 0 để tắt quy trình kiểm tra tính năng giám sát trên tài khoản con.
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST
Giá trị mặc định
0 (Yêu cầu ACK được bật)
Nội dung mô tả
Đặt thành 1 để xoá/tắt yêu cầu ACK 802.15.4 trong tiêu đề MAC của thông báo giám sát.

API

Sử dụng API giám sát trẻ em để quản lý hoạt động giám sát và kiểm tra khoảng thời gian chờ trực tiếp trong ứng dụng OpenThread.

CLI

Không có lệnh CLI nào liên quan đến tính năng này.