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ị cuối ngủ (SED) để xác minh rằng thiết bị này vẫn kết nối với bộ định tuyến mẹ (được 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 thực hiện quy trình trao đổi yêu cầu và phản hồi cập nhật con MLE với bộ định tuyến mẹ theo định kỳ để xác minh mối liên kết. Giám sát trẻ em là một giải pháp thay thế cho việc xác minh khả năng kết nối bộ định tuyến SED để đặt gánh nặng truyền tải tin nhắn trên bộ định tuyến gốc 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 2 cách, tuỳ thuộc vào loại nút và các thông số được định cấu hình:

Trên cấp độ gốc

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

  • R ghi16 của SED làm đích trong tiêu đề MAC.
  • Trọng tải 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 thông số OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST thành 1.

Trên trẻ em

Nếu SED không nghe thấy từ bộ định tuyến mẹ trong OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT, thì hệ thống sẽ giả định rằng SED đã mất kết nối với bộ định tuyến mẹ và bắt đầu quá 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 xây dựng OpenThread:

./script/build -DOT_CHILD_SUPERVISION=ON

Các tham số

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

Các tham số
OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL
Giá trị mặc định
129 giây
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 quá trình giám sát đối với cha mẹ.
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT
Giá trị mặc định
190 giây
Mô tả
Chỉ định khoảng thời gian chờ kiểm tra tính năng giám sát bằng giây mà một thiết bị sử dụng ở trạng thái con. Đặt thành 0 để tắt quy trình kiểm tra giám sát đối với trẻ.
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST
Giá trị mặc định
0 (đã bật yêu cầu ACK)
Mô tả
Đặt thành 1 để xóa/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ý tính năng giám sát và kiểm tra khoảng thời gian chờ ngay trong ứng dụng OpenThread.

Giao diện dòng lệnh (CLI)

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