BLE

המודול הזה כולל את הפשטה של הפלטפורמה לצורך תקשורת עם מארח BLE.

סיכום

בפלטפורמה נדרשת הטמעה של Bluetooth LE 4.2 ומעלה.

ערכי דף

otBleRadioPacket typedef
מייצג חבילת BLE.

פונקציות

otPlatBleDisable(otInstance *aInstance)
השבתת הרדיו Bluetooth עם צריכת אנרגיה נמוכה.
otPlatBleEnable(otInstance *aInstance)
מפעילים את הרדיו Bluetooth עם צריכת אנרגיה נמוכה.
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 נותק.
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.

ערכי דף

otBleRadioPacket

struct otBleRadioPacket otBleRadioPacket

מייצג חבילת BLE.

פונקציות

otPlatBleDisable

otError otPlatBleDisable(
  otInstance *aInstance
)

השבתת הרדיו Bluetooth עם צריכת אנרגיה נמוכה.

כשהאפשרות הזו מושבתת, מחסנית BLE תדחס את תורי האירועים ולא תיצור אירועים חדשים. הציוד ההיקפי של BLE כבוי או עובר למצב שינה בצריכת חשמל נמוכה. המערכת תשחרר כל זיכרון דינמי שמשמש את המחסנית, אבל יכול להיות שהזיכרון הסטטי יישאר שמור.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
ערכים מוחזרים
OT_ERROR_NONE
הועבר בהצלחה למצב מושבת.
OT_ERROR_FAILED
לא ניתן להשבית את רדיו BLE.

otPlatBleEnable

otError otPlatBleEnable(
  otInstance *aInstance
)

מפעילים את הרדיו Bluetooth עם צריכת אנרגיה נמוכה.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
ערכים מוחזרים
OT_ERROR_NONE
הופעל בהצלחה.
OT_ERROR_FAILED
לא ניתן להפעיל את רדיו BLE.

otPlatBleGapAdvStart

otError otPlatBleGapAdvStart(
  otInstance *aInstance,
  uint16_t aInterval
)

מתחיל את תהליך הפרסום באמצעות BLE.

מכשיר BLE ישתמש בפרסום לא מכוון ללא מסנן מוחל. יש לשלוח חבילת פרסום אחת מסוג BLE בכל ערוצי הפרסום (37, 38 ו-39).

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aInterval
המרווח בין חבילות הפרסום הבאות ביחידות OT_BLE_ADV_INTERVAL_UNIT. יהיה בטווח OT_BLE_ADV_INTERVAL_MIN ו-OT_BLE_ADV_INTERVAL_MAX או בטווח OT_BLE_ADV_INTERVAL_DEFAULT של ערך ברירת מחדל שהוגדר בזמן ההידור.
ערכים מוחזרים
OT_ERROR_NONE
תהליך הפרסום התחיל.
OT_ERROR_INVALID_STATE
מכשיר BLE במצב לא חוקי.
OT_ERROR_INVALID_ARGS
צוין ערך מרווח לא חוקי.

otPlatBleGapAdvStop

otError otPlatBleGapAdvStop(
  otInstance *aInstance
)

הפסקת תהליך הפרסום BLE.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
ערכים מוחזרים
OT_ERROR_NONE
תהליך הפרסום הופסק.
OT_ERROR_INVALID_STATE
מכשיר BLE במצב לא חוקי.

otPlatBleGapDisconnect

otError otPlatBleGapDisconnect(
  otInstance *aInstance
)

מנתקים חיבור BLE.

במכשיר BLE יש להשתמש בקוד הסיבה 'חיבור מסיים של משתמש מרוחק' (0x13) בעת ההתנתקות ממכשיר BLE העמית.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
ערכים מוחזרים
OT_ERROR_NONE
תהליך הניתוק החל.
OT_ERROR_INVALID_STATE
מכשיר BLE במצב לא חוקי.

otPlatBleGapOnConnected

void otPlatBleGapOnConnected(
  otInstance *aInstance,
  uint16_t aConnectionId
)

מנהל התקן BLE מפעיל את השיטה הזו כדי להודיע ל-OpenThread שמכשיר BLE Central חובר.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aConnectionId
המזהה של החיבור הפתוח.

otPlatBleGapOnDisconnected

void otPlatBleGapOnDisconnected(
  otInstance *aInstance,
  uint16_t aConnectionId
)

מנהל התקן BLE מפעיל את השיטה הזו כדי להודיע ל-OpenThread שהמכשיר המרכזי של BLE נותק.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aConnectionId
המזהה של החיבור הסגור.

otPlatBleGattMtuGet

otError otPlatBleGattMtuGet(
  otInstance *aInstance,
  uint16_t *aMtu
)

המערכת קוראת כרגע את הערך של ATT_MTU.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[out] aMtu
מצביע לפלט של ערך ה-ATT_MTU הנוכחי.
ערכים מוחזרים
OT_ERROR_NONE
הערך של ATT_MTU נמצא ב-aMtu.
OT_ERROR_FAILED
מכשיר BLE לא יכול לקבוע את ATT_MTU שלו.

otPlatBleGattOnMtuUpdate

void otPlatBleGattOnMtuUpdate(
  otInstance *aInstance,
  uint16_t aMtu
)

מנהל ההתקן של BLE קורא לשיטה הזו כדי להודיע ל-OpenThread ש-ATT_MTU עודכן.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aMtu
ערך ATT_MTU המעודכן.

otPlatBleGattServerIndicate

otError otPlatBleGattServerIndicate(
  otInstance *aInstance,
  uint16_t aHandle,
  const otBleRadioPacket *aPacket
)

נשלח אינדיקטור של ערך כינוי ATT.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aHandle
הכינוי של המאפיין.
[in] aPacket
מצביע לחבילה מכיל את הערך שיש לציין.
ערכים מוחזרים
OT_ERROR_NONE
החיווי לגבי ערך הכינוי של ATT נשלח.
OT_ERROR_INVALID_STATE
מכשיר BLE במצב לא חוקי.
OT_ERROR_INVALID_ARGS
ציינת ערך כינוי לא חוקי, נתונים או אורך נתונים לא חוקיים.
OT_ERROR_NO_BUFS
לא נמצא מאגר נתונים זמני פנימי.

otPlatBleGattServerOnWriteRequest

void otPlatBleGattServerOnWriteRequest(
  otInstance *aInstance,
  uint16_t aHandle,
  const otBleRadioPacket *aPacket
)

מנהל התקן BLE מפעיל את השיטה הזו כדי ליידע את OpenThread שהתקבלה חבילת כתיבה של בקשת ATT.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aHandle
הכינוי של המאפיין לכתיבה.
[in] aPacket
מצביע לחבילה מכיל את הערך שיש לכתוב למאפיין.

פקודות מאקרו

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 המקסימלי של ה-ATT (חייב להיות גדול מ-23).

OT_BLE_DEFAULT_POWER

 OT_BLE_DEFAULT_POWER 0

ערך ברירת המחדל לאספקת החשמל ל-BLE.

OT_BLE_TIMESLOT_UNIT

 OT_BLE_TIMESLOT_UNIT 625

משך הזמן של משבצת הזמן בשכבת PHY במיליוניות השנייה (0.625 אלפיות השנייה).

מקורות מידע

המקור של נושאי העזר של OpenThread API הוא קוד המקור, שזמין ב-GitHub. אפשר לקרוא מידע נוסף או לתרום למסמכי התיעוד שלנו בדף מקורות מידע.