Giám sát kênh

Học phần này bao gồm các chức năng đối với tính năng giám sát kênh.

Tóm tắt

Các chức năng trong mô-đun này có khi bật tính năng giám sát kênh (OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE).

Giám sát kênh sẽ giám sát định kỳ tất cả các kênh để giúp xác định các kênh sạch hơn (các kênh ít bị nhiễu hơn).

Khi chức năng giám sát kênh hoạt động, quét năng lượng có thời lượng bằng 0 sẽ thu thập một mẫu RSSI duy nhất trên mỗi kênh trong mỗi khoảng thời gian mẫu. Các mẫu RSSI này được so sánh với một ngưỡng RSSI đã chỉ định sẵn. Như một chỉ báo về chất lượng kênh, mô-đun giám sát kênh duy trì và cung cấp tỷ lệ trung bình/phần trăm của các mẫu RSSI cao hơn ngưỡng trong (khoảng) cửa sổ mẫu được chỉ định (được gọi là tỷ lệ kín phòng của kênh).

Hàm

otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
uint16_t
Xem thông tin về tỷ lệ kín phòng hiện tại của một kênh cụ thể.
otChannelMonitorGetRssiThreshold(otInstance *aInstance)
int8_t
Nhận ngưỡng theo dõi RSSI của kênh theo dBm.
otChannelMonitorGetSampleCount(otInstance *aInstance)
uint32_t
Xem kênh giám sát tổng số mẫu RSSI (trên mỗi kênh).
otChannelMonitorGetSampleInterval(otInstance *aInstance)
uint32_t
Nhận khoảng thời gian mẫu theo dõi kênh tính bằng mili giây.
otChannelMonitorGetSampleWindow(otInstance *aInstance)
uint32_t
Nhận giám sát kênh trung bình độ dài cửa sổ mẫu (số lượng mẫu).
otChannelMonitorIsEnabled(otInstance *aInstance)
bool
Cho biết thao tác Giám sát kênh đã được bật và đang chạy chưa.
otChannelMonitorSetEnabled(otInstance *aInstance, bool aEnabled)
Bật hoặc tắt thao tác Giám sát kênh.

Hàm

otChannelMonitorGetChannelOccupancy

uint16_t otChannelMonitorGetChannelOccupancy(
  otInstance *aInstance,
  uint8_t aChannel
)

Xem thông tin về tỷ lệ kín phòng hiện tại của một kênh cụ thể.

Giá trị tỷ lệ lấp đầy của kênh đại diện cho tỷ lệ/phần trăm trung bình của mẫu RSSI cao hơn ngưỡng RSSI ("mẫu RSSI kém").

Đối với các mẫu "cửa sổ mẫu" đầu tiên, chỉ số trung bình được duy trì dưới dạng tỷ lệ phần trăm thực tế (tức là tỷ lệ số lượng mẫu "xấu" trên tổng số mẫu). Sau mẫu "cửa sổ", người trung bình sử dụng đường trung bình động có trọng số theo cấp số nhân. Trên thực tế, điều này có nghĩa là giá trị trung bình đại diện cho tối đa 3 * window mẫu cuối cùng có trọng số cao nhất được cung cấp cho các mẫu kSampleWindow mới nhất.

Giá trị tối đa của 0xffff cho biết tất cả các mẫu RSSI đều trên ngưỡng RSSI (tức là 100% mẫu là "xấu").

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aChannel
Kênh mà người dùng được hưởng đường liên kết.
Trả về
Tỷ lệ kín phòng hiện tại của kênh đã cho.

otChannelMonitorGetRssiThreshold

int8_t otChannelMonitorGetRssiThreshold(
  otInstance *aInstance
)

Nhận ngưỡng theo dõi RSSI của kênh theo dBm.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
Trả về
Ngưỡng RSSI tính bằng dBm.

otChannelMonitorGetSampleCount

uint32_t otChannelMonitorGetSampleCount(
  otInstance *aInstance
)

Xem kênh giám sát tổng số mẫu RSSI (trên mỗi kênh).

Số lượng này cho biết tổng số mẫu trên mỗi kênh theo mô-đun giám sát kênh kể từ khi bắt đầu (kể từ khi giao diện mạng Chuỗi được bật).

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
Trả về
Tổng số mẫu RSSI (trên mỗi kênh) được lấy cho đến nay.

otChannelMonitorGetSampleInterval

uint32_t otChannelMonitorGetSampleInterval(
  otInstance *aInstance
)

Nhận khoảng thời gian mẫu theo dõi kênh tính bằng mili giây.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
Trả về
Khoảng thời gian mẫu giám sát kênh tính bằng mili giây.

otChannelMonitorGetSampleWindow

uint32_t otChannelMonitorGetSampleWindow(
  otInstance *aInstance
)

Nhận giám sát kênh trung bình độ dài cửa sổ mẫu (số lượng mẫu).

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
Trả về
Cửa sổ mẫu trung bình.

Đã bật otChannelMonitor

bool otChannelMonitorIsEnabled(
  otInstance *aInstance
)

Cho biết thao tác Giám sát kênh đã được bật và đang chạy chưa.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
Trả về
TRUE nếu hoạt động Giám sát kênh được bật, nếu không thì là FALSE.

Đã bật otChannelMonitorSet

otError otChannelMonitorSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Bật hoặc tắt thao tác Giám sát kênh.

Khi bắt đầu hoạt động, mọi dữ liệu đã thu thập trước đó sẽ bị xóa. Tuy nhiên, sau khi thao tác bị vô hiệu hóa, dữ liệu đã thu thập trước đó vẫn hợp lệ và có thể đọc được.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aEnabled
TRUE để bật/bắt đầu hoạt động Giám sát kênh, FALSE để tắt/dừng tính năng này.
Giá trị trả về
OT_ERROR_NONE
Đã thay đổi thành công trạng thái Giám sát kênh
OT_ERROR_ALREADY
Tính năng Giám sát kênh đã ở trạng thái cũ.

Tài nguyên

Các chủ đề Tham chiếu API OpenThread bắt nguồn từ mã nguồn, có sẵn trên GitHub. Để biết thêm thông tin hoặc đóng góp cho tài liệu của chúng tôi, hãy tham khảo phần Tài nguyên.