การตรวจสอบช่อง

โมดูลนี้ประกอบด้วยฟังก์ชันสําหรับฟีเจอร์การตรวจสอบช่อง

สรุป

ฟังก์ชันในโมดูลนี้จะพร้อมใช้งานเมื่อเปิดใช้ฟีเจอร์การตรวจสอบช่อง (OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE)

การตรวจสอบช่องจะมีการตรวจสอบช่องทั้งหมดเป็นระยะเพื่อช่วยระบุช่องทางที่ชัดเจนขึ้น (ช่องที่มีการรบกวนน้อยกว่า)

เมื่อมีการใช้การตรวจสอบช่อง ระบบจะสแกนพลังงานแบบ 0 ช่วง โดยเก็บตัวอย่าง RSSI เดียวในทุกช่องต่อช่วงตัวอย่าง ตัวอย่าง RSSI จะนํามาเปรียบเทียบกับเกณฑ์ RSSI ที่กําหนดไว้ล่วงหน้า ตัวบ่งชี้คุณภาพของช่องแสดงให้เห็นว่าโมดูลการตรวจสอบช่องจะรักษาและแสดงอัตรา/เปอร์เซ็นต์เฉลี่ยของตัวอย่าง RSSI ที่อยู่ในระดับสูงกว่าเกณฑ์ (โดยประมาณ) ในหน้าต่างตัวอย่างที่ระบุ (ซึ่งเรียกว่าอัตราการเข้าใช้)

ฟังก์ชัน

otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
uint16_t
รับข้อมูลการเข้าใช้ช่องปัจจุบันสําหรับช่องที่ระบุ
otChannelMonitorGetRssiThreshold(otInstance *aInstance)
int8_t
รับเกณฑ์ RSSI ของการตรวจสอบช่องในหน่วย dBm
otChannelMonitorGetSampleCount(otInstance *aInstance)
uint32_t
ดูจํานวนทั้งหมดของ RSSI ตัวอย่าง (ต่อช่อง)
otChannelMonitorGetSampleInterval(otInstance *aInstance)
uint32_t
ดูช่วงตัวอย่างการตรวจสอบช่องเป็นมิลลิวินาที
otChannelMonitorGetSampleWindow(otInstance *aInstance)
uint32_t
ดูค่าเฉลี่ยของช่วงเวลาในการสุ่มตัวอย่างช่อง (จํานวนตัวอย่าง)
otChannelMonitorIsEnabled(otInstance *aInstance)
bool
ระบุว่ามีการเปิดใช้งานการตรวจสอบช่องหรือไม่
otChannelMonitorSetEnabled(otInstance *aInstance, bool aEnabled)
เปิดหรือปิดใช้การดําเนินการตรวจสอบช่อง

ฟังก์ชัน

ช่องสัญญาณบนหน้าจอรับอัตราการเข้าใช้

uint16_t otChannelMonitorGetChannelOccupancy(
  otInstance *aInstance,
  uint8_t aChannel
)

รับข้อมูลการเข้าใช้ช่องปัจจุบันสําหรับช่องที่ระบุ

ค่าการเข้าใช้ช่องหมายถึงอัตรา/เปอร์เซ็นต์เฉลี่ยของตัวอย่าง RSSI ที่สูงกว่าเกณฑ์ RSSI (ตัวอย่าง RSSI ที่ "ไม่ถูกต้อง")

สําหรับตัวอย่าง "หน้าต่างตัวอย่าง" แรก ค่าเฉลี่ยจะถูกเก็บไว้ตามเปอร์เซ็นต์ที่แท้จริง (นั่นคือ อัตราส่วนของจํานวนตัวอย่าง "ไม่ดี" ต่อจํานวนตัวอย่างทั้งหมด) หลังจากสุ่มตัวอย่าง "หน้าต่าง" ค่าเฉลี่ยจะใช้ค่าเฉลี่ยเคลื่อนที่แบบเลขยกกําลัง ในทางปฏิบัติหมายความว่าค่าเฉลี่ยแสดงถึงตัวอย่างล่าสุดสูงสุด 3 * window รายการซึ่งมีน้ําหนักสูงสุดกับตัวอย่าง kSampleWindow ล่าสุด

ค่าสูงสุดของ 0xffff หมายความว่าตัวอย่าง RSSI ทั้งหมดเกินเกณฑ์ RSSI (นั่นคือ 100% ของตัวอย่างทั้งหมดเป็น "bad")

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aChannel
ช่องที่จะรับการเข้าใช้ลิงก์
การส่งคืน
การเข้าใช้ช่องปัจจุบันสําหรับช่องที่ระบุ

OTChannelMonitorGetRssiThreshold

int8_t otChannelMonitorGetRssiThreshold(
  otInstance *aInstance
)

รับเกณฑ์ RSSI ของการตรวจสอบช่องในหน่วย dBm

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
การส่งคืน
เกณฑ์ RSSI ในหน่วย dBm

จํานวนนับเวลารับการตรวจสอบช่อง

uint32_t otChannelMonitorGetSampleCount(
  otInstance *aInstance
)

ดูจํานวนทั้งหมดของ RSSI ตัวอย่าง (ต่อช่อง)

จํานวนนี้ระบุจํานวนตัวอย่างทั้งหมดต่อแชแนลตามโมดูลการตรวจสอบช่องตั้งแต่เริ่มต้น (เนื่องจากเปิดใช้อินเทอร์เฟซเครือข่ายของเทรด)

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
การส่งคืน
จํานวนตัวอย่าง RSSI ทั้งหมด (ต่อช่อง) จนถึงขณะนี้

ช่วงเวลาในการตรวจสอบช่อง

uint32_t otChannelMonitorGetSampleInterval(
  otInstance *aInstance
)

ดูช่วงตัวอย่างการตรวจสอบช่องเป็นมิลลิวินาที

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
การส่งคืน
ช่วงเวลาการตรวจสอบช่องในหน่วยมิลลิวินาที

หน้าต่างตรวจสอบรับตัวอย่าง

uint32_t otChannelMonitorGetSampleWindow(
  otInstance *aInstance
)

ดูค่าเฉลี่ยของช่วงเวลาในการสุ่มตัวอย่างช่อง (จํานวนตัวอย่าง)

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
การส่งคืน
หน้าต่างตัวอย่างเฉลี่ย

เปิดใช้งาน MonitorChannel

bool otChannelMonitorIsEnabled(
  otInstance *aInstance
)

ระบุว่ามีการเปิดใช้งานการตรวจสอบช่องหรือไม่

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
การส่งคืน
จริง หากเปิดใช้งานการตรวจสอบช่อง หากเป็น "เท็จ" หากไม่เป็นเช่นนั้น

เปิดใช้งานแชแนลการตรวจสอบจอภาพ

otError otChannelMonitorSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

เปิดหรือปิดใช้การดําเนินการตรวจสอบช่อง

เมื่อเริ่มดําเนินการแล้ว ระบบจะล้างข้อมูลที่รวบรวมไว้ก่อนหน้านี้ทั้งหมด แต่หลังจากปิดใช้การดําเนินการ ข้อมูลที่รวบรวมก่อนหน้านี้จะยังคงถูกต้องและสามารถอ่านได้

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aEnabled
TRUE เพื่อเปิดใช้งาน/เริ่มการตรวจสอบช่อง, FALSE เพื่อปิด/หยุดการทํางาน
แสดงผลค่า
OT_ERROR_NONE
เปลี่ยนสถานะการตรวจสอบช่องเรียบร้อยแล้ว
OT_ERROR_ALREADY
การตรวจสอบช่องอยู่ในสถานะเดียวกันอยู่แล้ว

แหล่งข้อมูล

หัวข้ออ้างอิง OpenThread API มาจากซอร์สโค้ด ซึ่งพร้อมใช้งานใน GitHub ดูข้อมูลเพิ่มเติมหรือมีส่วนร่วมในเอกสารประกอบได้ที่แหล่งข้อมูล