BLE

Ce module inclut l'abstraction de plate-forme pour la communication avec l'hôte BLE.

Résumé

La plate-forme doit implémenter la technologie Bluetooth LE 4.2 ou version ultérieure.

Typedefs

otBleRadioPacket typedef
Représente un paquet BLE.

distantes

otPlatBleDisable(otInstance *aInstance)
Désactivez la radio Bluetooth à basse consommation.
otPlatBleEnable(otInstance *aInstance)
Active la radio Bluetooth à basse consommation.
otPlatBleGapAdvStart(otInstance *aInstance, uint16_t aInterval)
Lance la procédure de publicité BLE.
otPlatBleGapAdvStop(otInstance *aInstance)
Arrête la procédure de publicité BLE.
otPlatBleGapDisconnect(otInstance *aInstance)
Déconnectez la connexion BLE.
otPlatBleGapOnConnected(otInstance *aInstance, uint16_t aConnectionId)
void
Le pilote BLE appelle cette méthode pour avertir OpenThread qu’un périphérique central BLE a été connecté.
otPlatBleGapOnDisconnected(otInstance *aInstance, uint16_t aConnectionId)
void
Le pilote BLE appelle cette méthode pour avertir OpenThread que l’appareil central BLE a été déconnecté.
otPlatBleGattMtuGet(otInstance *aInstance, uint16_t *aMtu)
Les lectures utilisent actuellement la valeur ATT_MTU.
otPlatBleGattOnMtuUpdate(otInstance *aInstance, uint16_t aMtu)
void
Le pilote BLE appelle cette méthode pour avertir OpenThread que ATT_MTU a été mis à jour.
otPlatBleGattServerIndicate(otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket)
Envoie une indication sur la valeur de la gestion ATT.
otPlatBleGattServerOnWriteRequest(otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket)
void
Le pilote BLE appelle cette méthode pour avertir OpenThread qu’un paquet de requête d’écriture ATT a été reçu.

Structs

otBleRadioPacket

Représente un paquet BLE.

Typedefs

otBleRadioPacket

struct otBleRadioPacket otBleRadioPacket

Représente un paquet BLE.

distantes

otPlatBleDisable

otError otPlatBleDisable(
  otInstance *aInstance
)

Désactivez la radio Bluetooth à basse consommation.

Lorsque cette option est désactivée, la pile BLE vide les files d'attente d'événements et ne génère pas de nouveaux événements. Le périphérique BLE est éteint ou en mode veille à faible consommation d'énergie. Toute mémoire dynamique utilisée par la pile doit être libérée, mais la mémoire statique peut rester réservée.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
Valeurs de retour
OT_ERROR_NONE
L'état "Désactivé" a bien été appliqué.
OT_ERROR_FAILED
Impossible de désactiver la radio BLE.

otPlatBleEnable

otError otPlatBleEnable(
  otInstance *aInstance
)

Active la radio Bluetooth à basse consommation.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
Valeurs de retour
OT_ERROR_NONE
Activation réussie.
OT_ERROR_FAILED
Impossible d'activer la radio BLE.

otPlatBleGapAdvStart

otError otPlatBleGapAdvStart(
  otInstance *aInstance,
  uint16_t aInterval
)

Lance la procédure de publicité BLE.

L'appareil BLE doit utiliser de la publicité non ciblée, sans filtre. Un seul paquet publicitaire BLE doit être envoyé sur tous les canaux publicitaires (37, 38 et 39).

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
[in] aInterval
Intervalle entre les paquets publicitaires suivants, en unités OT_BLE_ADV_INTERVAL_UNIT. Doit être compris dans les plages OT_BLE_ADV_INTERVAL_MIN et OT_BLE_ADV_INTERVAL_MAX, ou OT_BLE_ADV_INTERVAL_DEFAULT pour une valeur par défaut définie au moment de la compilation.
Valeurs de retour
OT_ERROR_NONE
La procédure publicitaire a commencé.
OT_ERROR_INVALID_STATE
L'état de l'appareil BLE n'est pas valide.
OT_ERROR_INVALID_ARGS
La valeur d'intervalle fournie n'est pas valide.

otPlatBleGapAdvStop

otError otPlatBleGapAdvStop(
  otInstance *aInstance
)

Arrête la procédure de publicité BLE.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
Valeurs de retour
OT_ERROR_NONE
La procédure publicitaire a été arrêtée.
OT_ERROR_INVALID_STATE
L'état de l'appareil BLE n'est pas valide.

otPlatBleGapDisconnect

otError otPlatBleGapDisconnect(
  otInstance *aInstance
)

Déconnectez la connexion BLE.

L'appareil BLE doit utiliser le code de motif "Remote User Terminated Connection" (0x13) lorsqu'il se déconnecte de l'appareil BLE pair.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
Valeurs de retour
OT_ERROR_NONE
La procédure de déconnexion a démarré.
OT_ERROR_INVALID_STATE
L'état de l'appareil BLE n'est pas valide.

otPlatBleGapOnConnected

void otPlatBleGapOnConnected(
  otInstance *aInstance,
  uint16_t aConnectionId
)

Le pilote BLE appelle cette méthode pour avertir OpenThread qu’un périphérique central BLE a été connecté.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
[in] aConnectionId
Identifiant de la connexion ouverte.

otPlatBleGapOnDisconnected

void otPlatBleGapOnDisconnected(
  otInstance *aInstance,
  uint16_t aConnectionId
)

Le pilote BLE appelle cette méthode pour avertir OpenThread que l’appareil central BLE a été déconnecté.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
[in] aConnectionId
Identifiant de la connexion fermée.

otPlatBleGattMtuGet

otError otPlatBleGattMtuGet(
  otInstance *aInstance,
  uint16_t *aMtu
)

Les lectures utilisent actuellement la valeur ATT_MTU.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
[out] aMtu
Pointeur permettant de générer la valeur ATT_MTU actuelle.
Valeurs de retour
OT_ERROR_NONE
La valeur ATT_MTU a été placée dans aMtu.
OT_ERROR_FAILED
L'appareil BLE ne peut pas déterminer sa valeur ATT_MTU.

otPlatBleGattOnMtuUpdate

void otPlatBleGattOnMtuUpdate(
  otInstance *aInstance,
  uint16_t aMtu
)

Le pilote BLE appelle cette méthode pour avertir OpenThread que ATT_MTU a été mis à jour.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
[in] aMtu
Valeur ATT_MTU mise à jour.

otPlatBleGattServerIndicate

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

Envoie une indication sur la valeur de la gestion ATT.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
[in] aHandle
Identifiant de l'attribut à indiquer.
[in] aPacket
Un pointeur vers le paquet contient la valeur à indiquer.
Valeurs de retour
OT_ERROR_NONE
L'indication de la valeur de l'identifiant ATT a été envoyée.
OT_ERROR_INVALID_STATE
L'état de l'appareil BLE n'est pas valide.
OT_ERROR_INVALID_ARGS
La valeur de identifiant, ou les données ou longueurs de données fournies ne sont pas valides.
OT_ERROR_NO_BUFS
Aucun tampon interne disponible trouvé.

otPlatBleGattServerOnWriteRequest

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

Le pilote BLE appelle cette méthode pour avertir OpenThread qu’un paquet de requête d’écriture ATT a été reçu.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
[in] aHandle
Identifiant de l'attribut à écrire.
[in] aPacket
Un pointeur vers le paquet contient la valeur à écrire dans l'attribut.

Macros

OT_BLE_ADV_INTERVAL_DEFAULT

 OT_BLE_ADV_INTERVAL_DEFAULT 100

Intervalle par défaut pour le paquet publicitaire (ms).

OT_BLE_ADV_INTERVAL_MAX

 OT_BLE_ADV_INTERVAL_MAX 0x4000

Intervalle maximal autorisé pour le paquet publicitaire dans les unités OT_BLE_ADV_INTERVAL_UNIT (10,24 s).

OT_BLE_ADV_INTERVAL_MIN

 OT_BLE_ADV_INTERVAL_MIN 0x0020

Intervalle minimal autorisé pour le paquet publicitaire en unités OT_BLE_ADV_INTERVAL_UNIT (20 ms).

OT_BLE_ADV_INTERVAL_UNIT

 OT_BLE_ADV_INTERVAL_UNIT OT_BLE_TIMESLOT_UNIT

Unité utilisée pour calculer la durée de l'intervalle (0,625 ms).

OT_BLE_ATT_MTU_MAX

 OT_BLE_ATT_MTU_MAX 67

Taille maximale de MTU ATT autorisée (doit être supérieure ou égale à 23).

OT_BLE_DEFAULT_POWER

 OT_BLE_DEFAULT_POWER 0

Valeur de puissance par défaut pour BLE.

OT_BLE_TIMESLOT_UNIT

 OT_BLE_TIMESLOT_UNIT 625

Durée du créneau horaire sur la couche PHY en microsecondes (0,625 ms).

Ressources

Les sujets de référence de l'API OpenThread proviennent du code source, disponible sur GitHub. Pour en savoir plus ou pour contribuer à notre documentation, consultez la section Ressources.