Giám sát trẻ em

Xem nguồn trên GitHub

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

Quy cách Thread yêu cầu SED định kỳ thực hiện trao đổi Yêu cầu cập nhật và Phản hồi của MLE Child với thiết bị mẹ để xác minh khả năng kết nối. Tính năng Giám sát trẻ là một giải pháp thay thế để xác minh khả năng kết nối SED với thiết bị của cha mẹ, theo đó, cha mẹ sẽ chịu trách nhiệm truyền thông báo thay vì SED bị hạn chế về 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ố nào được định cấu hình:

Trên nhà xuất bản mẹ

Nếu cấp độ gốc không truyền SED cho cấp độ con trong OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL, thì cấp độ gốc sẽ xếp hàng và gửi thông báo Giám sát trẻ em đến SED của cấp độ con. Thông báo Giám sát trẻ em là một khung MAC chứa 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 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 SED không nhận được thông tin từ thiết bị mẹ trong OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT, thì SED sẽ giả định rằng thiết bị này đã mất kết nối với thiết bị mẹ và bắt đầu quy trình MLE Attach để kết nối lại với mạng.

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

Hoặc sử dụng lựa chọn -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 mà cha mẹ sử dụng. Đặt thành 0 để tắt quy trình giám sát trên thiết bị của cha 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 tính năng giám sát (tính bằng giây) mà thiết bị ở trạng thái trẻ em sử dụng. Đặt thành 0 để tắt quy trình kiểm tra chế độ giám sát trên trẻ.
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST
Giá trị mặc định
0 (Đã bật yêu cầu ACK)
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 một thông báo giám sát.

API

Sử dụng Child Supervision API để 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.