低功耗蓝牙(BLE)

[English]

1 功能概述

一般来讲,在wifi controller这个SDK里,ble主要功能是配网(开发板连接wifi ap),其功能实现依赖于ble sdk与上层app的关系,有两种模式

  • 1.标准hci模式

  • 2.host controller all in one模式

1.1 标准hci模式

蓝牙app、host运行在主控端,通过标准hci(通路可以是UART)与开发板的蓝牙controller交互。这种模式开发板几乎不参与任何业务逻辑,完全受主控的控制。

开启方式:

  • CONFIG_BLUETOOTH=y

  • CONFIG_BT=n

  • CONFIG_BTDM_CONTROLLER_ONLY=y

主要流程:调用bk_ble_enable_uart_controller_only,设置对应的UART参数即可

示例工程: projects/wifi/controller

1.2 host controller all in one模式

蓝牙app、host、controller都运行在开发板,app负责开启广播、设置gatt数据库、收发对端数据,主控app再通过UART、USB、PCIE等方式与蓝牙app交互。这种模式主控和开发板都需要编写业务逻辑。

开启方式:

  • CONFIG_BLUETOOTH=y

  • CONFIG_BT=n

  • CONFIG_BTDM_CONTROLLER_ONLY=n

蓝牙app流程:请参考 beken armino idk蓝牙配网示例工程说明

其他蓝牙用法:请参考 蓝牙API

示例工程:

  • projects/bluetooth/provisioning

测试方法:

    1. bluetooth_demo on 开启蓝牙

    1. bluetooth_demo test 开启广播

重要

  • 主控app与蓝牙app的交互协议需要用户自行定义

  • 请不要将armino idk的配网与本sdk的配网工程弄混,二者有一定区别