Để 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_ENABLE là 1 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 |
|
||||
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT |
|
||||
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST |
|
||||
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.