AliOS Things 3.3.0 : BLE组件介绍

在这里插入图片描述

概述

AliOS Things 3.3提供支持符合蓝牙4.0/4.2/5.0核心协议规范的BLE Host软件协议栈组件,方便用户使用蓝牙BLE功能。
ble_host组件功能框图如下图红色部分:

功能支持

ble_host组件主要支持如下功能:

  • Generic Access Profile(GAP)角色支持
    • Peripheral&Central
    • Observer&Broadcaster
  • Generic Attribute Profile(GATT)连接支持
    • GATT client
    • GATT server
  • Security Manager(SM)支持
    • Legacy Pairing
    • 多安全等级设定Security Level 1, 2, 3, 4
    • 安全连接Security Connection
    • LE Privacy(RPA地址生成)
  • HCI接口支持
    • 标准HCI接口,支持host-only,host通过HCI硬件接口(以UART为主)和controller对接
    • 虚拟HCI接口,支持host+controller,适合SoC的硬件平台

版权说明

Apache license v2.0

目录结构

|-- ble_profiles             #BLE服务
|-- bt_crypto                #BLE安全
|-- bt_defconfig             #BLE配置项
|-- bt_host                  #BLE Host核心代码
|-- bt_preconfig             #BLE预配置项
|-- bt_shell                 #BLE控制台命令
|-- include                  #头文件
|-- package.yaml             #makefile
|-- README.md                #README文档
|-- SConscript
|-- script

依赖组件

  • osal_aos

常用配置

配置列表

配置在组件的package.yaml中定义,均已默认打开,用户可根据需求裁剪。

CONFIG_BT_CENTRAL BLE Central角色功能开关
CONFIG_BT_PERIPHERAL BLE 外设角色功能开关
CONFIG_BT_SMP BLE SMP功能开关
CONFIG_BT_GATT_CLIENT BLE GATT Client功能开关
CONFIG_BT_OBSERVER BLE 广播扫描功能开关

API说明

API列表

ble_stack_init BLE协议栈初始化
ble_stack_event_register 注册BLE事件处理函数
ble_stack_adv_start BLE 广播开始
ble_stack_adv_stop BLE 广播停止
ble_stack_scan_start BLE 扫描开始
ble_stack_scan_stop BLE 扫描停止
ble_stack_gatt_mtu_get GATT,获取当前连接MTU大小
ble_stack_gatt_registe_service GATT server,服务注册
ble_stack_gatt_notificate GATT server,属性notificate方式上报
ble_stack_gatt_indicate GATT server,属性indicate方式上报
ble_stack_gatt_mtu_exchange GATT client,协商MTU大小
ble_stack_gatt_discovery GATT client,发现对端GATT服务
ble_stack_gatt_read GATT client,读取对端GATT server属性
ble_stack_gatt_read_multiple GATT client,读取对端GATT server多个属性
ble_stack_gatt_write GATT client,写入对端GATT server属性
ble_stack_connect 开始BLE连接
ble_stack_disconnect 断开BLE连接
ble_stack_connect_param_update BLE连接参数协商
ble_stack_security BLE连接安全等级设置
ble_stack_iocapability_set BLE SMP IO能力配置
ble_stack_smp_cancel BLE SMP配对请求取消
ble_stack_smp_passkey_entry BLE SMP passkey输入
ble_stack_smp_passkey_confirm BLE SMP passkey确认
ble_stack_dev_unpair PIN SMP配对解绑

API详情

ble_stack_init

BLE模块初始化。
函数原型

int ble_stack_init(init_param_t *param)

输入参数

args description
param.dev_name 设备名,string类型,不超过28字符
param.dev_addr 设备mac地址,仅设置为random类型时生效
param.conn_num_max 最大连接数

返回参数
0:成功, 其他值:失败。

ble_stack_event_register

注册BLE协议栈事件回调函数。
注意:入参不能是一个局部变量。
函数原型

int ble_stack_event_register(ble_event_cb_t *callback)

输入参数

args description
callback.callback 回调函数
callback.next 无需填写,由API函数处理

返回参数
0:成功, 其他值:失败。

ble_stack_adv_start

打开BLE广播功能。
函数原型

int ble_stack_adv_start(adv_param_t *param)

输入参数

args description
param.type 广播类型,定义如下
0x00 普通广播
0x01 直连广播
0x02 可连接可扫描广播
0x03 不可连接广播,
0x04 低占空直连广播
param.ad ADV广播内容数组
param.sd Scan Response广播内容数组
param.ad_num ADV广播内容数组大小
param.sd_num Scan Response广播内容数组大小
param.interval_min 广播发送间隔最小值
param.interval_max 广播发送间隔最大值
param.filter_policy 广播过滤开关,定义如下
0x00 接受所有连接与扫描请求
0x01 接受所有连接请求,接受白名单设备的扫描请求
0x02 接受白名单的连接请求,接受所有扫描请求
0x03 仅接受白名单内的扫描与连接请求
param.channel_map 广播信道设置,
bit0: 37信道
bit1: 38信道
bit2: 39信道
param.direct_peer_addr 直连广播设备地址,仅在广播类型为直连类型时才生效

返回参数
0:成功, 其他值:失败。

ble_stack_adv_stop

关闭BLE广播功能。
函数原型

int ble_stack_adv_stop()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值