BLE
โมดูลนี้มี Abstraction ของแพลตฟอร์มสำหรับการสื่อสารกับโฮสต์ BLE
สรุป
แพลตฟอร์มต้องใช้บลูทูธ LE 4.2 ขึ้นไป
Typedef |
|
---|---|
otBleRadioPacket
|
typedefstruct otBleRadioPacket
แสดงแพ็กเก็ต BLE |
ฟังก์ชัน |
|
---|---|
otPlatBleDisable(otInstance *aInstance)
|
ปิดวิทยุบลูทูธพลังงานต่ำ
|
otPlatBleEnable(otInstance *aInstance)
|
เปิดวิทยุบลูทูธพลังงานต่ำ
|
otPlatBleGapAdvStart(otInstance *aInstance, uint16_t aInterval)
|
เริ่มขั้นตอนการโฆษณา BLE
|
otPlatBleGapAdvStop(otInstance *aInstance)
|
หยุดกระบวนการโฆษณา BLE
|
otPlatBleGapDisconnect(otInstance *aInstance)
|
ยกเลิกการเชื่อมต่อ BLE
|
otPlatBleGapOnConnected(otInstance *aInstance, uint16_t aConnectionId)
|
void
ไดรเวอร์ BLE เรียกใช้วิธีนี้เพื่อแจ้งให้ OpenThread ทราบว่ามีการเชื่อมต่ออุปกรณ์ BLE Central แล้ว
|
otPlatBleGapOnDisconnected(otInstance *aInstance, uint16_t aConnectionId)
|
void
ไดรเวอร์ BLE เรียกใช้เมธอดนี้เพื่อแจ้งให้ OpenThread ทราบว่าได้ยกเลิกการเชื่อมต่ออุปกรณ์ BLE Central แล้ว
|
otPlatBleGattMtuGet(otInstance *aInstance, uint16_t *aMtu)
|
การอ่านใช้ค่า ATT_MTU ในปัจจุบัน
|
otPlatBleGattOnMtuUpdate(otInstance *aInstance, uint16_t aMtu)
|
void
ไดรเวอร์ BLE เรียกใช้เมธอดนี้เพื่อแจ้งให้ OpenThread ทราบว่ามีการอัปเดต ATT_MTU
|
otPlatBleGattServerIndicate(otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket)
|
ส่งการระบุค่าแฮนเดิล ATT
|
otPlatBleGattServerOnWriteRequest(otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket)
|
void
ไดรเวอร์ BLE เรียกใช้เมธอดนี้เพื่อแจ้งให้ OpenThread ทราบว่าได้รับแพ็กเก็ตคำขอการเขียน ATT แล้ว
|
โครงสร้าง |
|
---|---|
otBleRadioPacket |
แสดงแพ็กเก็ต BLE |
Typedef
ฟังก์ชัน
otPlatBleDisable
otError otPlatBleDisable( otInstance *aInstance )
ปิดวิทยุบลูทูธพลังงานต่ำ
เมื่อปิดใช้ สแต็ก BLE จะล้างคิวเหตุการณ์และไม่สร้างเหตุการณ์ใหม่ อุปกรณ์ต่อพ่วง BLE ปิดอยู่หรืออยู่ในสถานะสลีปพลังงานต่ำ คุณควรปล่อยหน่วยความจำแบบไดนามิกที่สแต็กใช้แล้ว แต่หน่วยความจำคงที่อาจยังสงวนไว้อยู่
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
แสดงผลค่า |
|
otPlatBleEnable
otError otPlatBleEnable( otInstance *aInstance )
เปิดวิทยุบลูทูธพลังงานต่ำ
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
แสดงผลค่า |
|
otPlatBleGapAdvStart
otError otPlatBleGapAdvStart( otInstance *aInstance, uint16_t aInterval )
เริ่มขั้นตอนการโฆษณา BLE
อุปกรณ์ BLE จะใช้การโฆษณาที่ไม่ได้กำหนดทิศทางโดยไม่มีการใช้ตัวกรอง โดยต้องส่งแพ็กเก็ตการโฆษณา BLE เดี่ยวไปยังช่องทางโฆษณาทั้งหมด (37, 38 และ 39)
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
otPlatBleGapAdvStop
otError otPlatBleGapAdvStop( otInstance *aInstance )
หยุดกระบวนการโฆษณา BLE
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
แสดงผลค่า |
|
otPlatBleGapDisconnect
otError otPlatBleGapDisconnect( otInstance *aInstance )
ยกเลิกการเชื่อมต่อ BLE
อุปกรณ์ BLE จะใช้รหัสเหตุผลของการเชื่อมต่อสิ้นสุดการใช้งานโดยผู้ใช้ระยะไกล (0x13) เมื่อยกเลิกการเชื่อมต่อกับอุปกรณ์ peer BLE
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
แสดงผลค่า |
|
otPlatBleGapOnConnected
void otPlatBleGapOnConnected( otInstance *aInstance, uint16_t aConnectionId )
ไดรเวอร์ BLE เรียกใช้วิธีนี้เพื่อแจ้งให้ OpenThread ทราบว่ามีการเชื่อมต่ออุปกรณ์ BLE Central แล้ว
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
otPlatBleGapOnDisconnected
void otPlatBleGapOnDisconnected( otInstance *aInstance, uint16_t aConnectionId )
ไดรเวอร์ BLE เรียกใช้เมธอดนี้เพื่อแจ้งให้ OpenThread ทราบว่าได้ยกเลิกการเชื่อมต่ออุปกรณ์ BLE Central แล้ว
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
otPlatBleGattMtuGet
otError otPlatBleGattMtuGet( otInstance *aInstance, uint16_t *aMtu )
การอ่านใช้ค่า ATT_MTU ในปัจจุบัน
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
แสดงผลค่า |
|
otPlatBleGattOnMtuUpdate
void otPlatBleGattOnMtuUpdate( otInstance *aInstance, uint16_t aMtu )
ไดรเวอร์ BLE เรียกใช้เมธอดนี้เพื่อแจ้งให้ OpenThread ทราบว่ามีการอัปเดต ATT_MTU
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
otPlatBleGattServerIndicate
otError otPlatBleGattServerIndicate( otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket )
ส่งการระบุค่าแฮนเดิล ATT
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||
แสดงผลค่า |
|
otPlatBleGattServerOnWriteRequest
void otPlatBleGattServerOnWriteRequest( otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket )
ไดรเวอร์ BLE เรียกใช้เมธอดนี้เพื่อแจ้งให้ OpenThread ทราบว่าได้รับแพ็กเก็ตคำขอการเขียน ATT แล้ว
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
มาโคร
OT_BLE_ADV_INTERVAL_DEFAULT
OT_BLE_ADV_INTERVAL_DEFAULT 100
ช่วงเวลาเริ่มต้นสำหรับแพ็กเก็ตโฆษณา (มิลลิวินาที)
OT_BLE_ADV_INTERVAL_MAX
OT_BLE_ADV_INTERVAL_MAX 0x4000
ระยะเวลาสูงสุดสำหรับแพ็กเก็ตโฆษณาในหน่วย OT_BLE_ADV_INTERVAL_UNIT (10.24 วินาที)
OT_BLE_ADV_INTERVAL_MIN
OT_BLE_ADV_INTERVAL_MIN 0x0020
ช่วงเวลาขั้นต่ำที่อนุญาตสำหรับแพ็กเก็ตการโฆษณาในหน่วย OT_BLE_ADV_INTERVAL_UNIT (20 มิลลิวินาที)
OT_BLE_ADV_INTERVAL_UNIT
OT_BLE_ADV_INTERVAL_UNIT OT_BLE_TIMESLOT_UNIT
หน่วยที่ใช้คำนวณระยะเวลา (0.625 มิลลิวินาที)
OT_BLE_ATT_MTU_MAX
OT_BLE_ATT_MTU_MAX 67
ขนาด MTU สูงสุดที่อนุญาต (ต้องเป็น >= 23)
OT_BLE_DEFAULT_POWER
OT_BLE_DEFAULT_POWER 0
ค่าพลังงานเริ่มต้นสำหรับ BLE
OT_BLE_TIMESLOT_UNIT
OT_BLE_TIMESLOT_UNIT 625
ระยะเวลาของเลเยอร์ PHY เป็นไมโครวินาที (0.625 มิลลิวินาที)
แหล่งข้อมูล
หัวข้ออ้างอิง API ของ OpenThread จะมาจากซอร์สโค้ดซึ่งพร้อมใช้งานใน GitHub ดูข้อมูลเพิ่มเติมหรือมีส่วนร่วมในเอกสารประกอบของเราได้ที่แหล่งข้อมูล