BLE
โมดูลนี้มี Abstraction ของแพลตฟอร์มสำหรับการสื่อสารกับโฮสต์ BLE
สรุป
แพลตฟอร์มต้องใช้บลูทูธ LE 4.2 ขึ้นไป
| Typedef | |
|---|---|
| otBleRadioPacket | typedef struct 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 ดูข้อมูลเพิ่มเติมหรือมีส่วนร่วมในเอกสารประกอบของเราได้ที่แหล่งข้อมูล