littlebot
Published on 2025-04-16 / 3 Visits
0

【源码】基于WICED框架的蓝牙功能演示项目

项目简介

本项目是一系列基于WICED(Wireless Internet Connectivity for Embedded Devices)框架的蓝牙应用示例集合。开发者可借助这些示例,快速掌握运用WICED API和相关工具,在嵌入式系统中开发各类蓝牙应用,包括GPIO控制、PWM控制、ADC读取、低功耗模式以及UART通信等。

项目的主要特性和功能

  1. 多模式演示:涵盖低功耗、GPIO、PUART、PWM、ADC、uart_raw_mode等多个应用示例,展示不同功能和使用场景。
  2. 丰富的SDK特性:具备双模式蓝牙堆栈(BR/EDR和BLE),提供BT栈和配置文件级别的API用于嵌入式BT应用开发,支持WICED HCI协议简化主机/MCU应用开发,还有访问板载外设的API和驱动。
  3. 多协议支持:支持GAP、GATT、SMP、RFCOMM、SDP、AVDT/AVCT、BLE Mesh等多种蓝牙协议,以及众多BR/EDR和BLE配置文件。
  4. 多平台适配:支持CYW20819A1、CYW20721B2等多种芯片及相关评估板。
  5. 其他功能:支持OTA升级,有Device Configurator和Bluetooth Configurator等工具,还有基于多系统的对等应用用于测试和参考,以及协议跟踪、制造测试等实用工具和详细的文档说明。

安装使用步骤

使用ModusToolbox IDE

  1. 安装ModusToolbox 2.1。
  2. 在ModusToolbox IDE中,点击Quick Panel的“New Application”链接(或使用“File > New > ModusToolbox IDE Application”)。
  3. 选择BTSDK对应的开发板。
  4. 先选择“wiced_btsdk”项目,该项目包含SDK,所有BTSDK应用都会使用,在工作目录(即Eclipse工作区)只需创建一次,注意不要更改项目名称。
  5. “wiced_btsdk”项目创建完成后,再次点击“New Application”链接,选择要使用的开发板和应用。
  6. 在IDE中选择应用,在Quick Panel中选择“Build”来构建应用。
  7. 若要对开发板进行编程(下载应用),在Quick Panel中选择“Program”。

使用命令行

  1. 安装ModusToolbox 2.1。
  2. 在Windows系统中,使用“\ModusToolbox\tools_2.1\modus-shell\Cygwin.bat”中的Cygwin来构建应用。
  3. “wiced_btsdk”仓库包含对其他仓库的引用,进入根文件夹并使用“make getlibs”下载所有必需的依赖项,示例命令: sh cd wiced_btsdk make getlibs
  4. 构建应用,使用“make build”命令,示例命令: sh cd ../mtb-examples-CYW920819EVB-02-btsdk-hid cd hid/ble_mouse/ make build
  5. 若要对开发板进行编程(下载到开发板),使用“make qprogram”命令。
  6. 若要同时构建并编程(下载到开发板),使用“make program”命令(“make program = make build + make qprogram”)。

应用设置

可通过应用的makefile或命令行配置应用设置,通用选项如下: - BT_DEVICE_ADDRESS:设置设备的蓝牙设备地址(BDA),地址为6字节,例如20819A10FFEE。默认情况下,SDK会通过组合7位十六进制设备ID和主机PC MAC地址的最后5位十六进制数字来为设备设置BDA。 - UART:设置应用要下载到的UART端口,例如Windows上的“COM6”、Linux上的“/dev/ttyWICED_HCI_UART0”或macOS上的“/dev/tty.usbserial-000154”。默认情况下,SDK会自动检测端口。

下载应用到开发板

若下载到开发板时遇到问题,可按以下步骤操作: 1. 按住开发板上的“Recover”按钮。 2. 按住开发板上的“Reset”按钮。 3. 释放“Reset”按钮。 4. 一秒后,释放“Recover”按钮。

此步骤仅适用于将应用镜像下载到闪存存储的开发板。仅支持RAM下载(DIRECT_LOAD)的开发板(如CYW9M2BASE-43012BT)可通过电源循环从ROM启动。

使用BSP(平台)

选择替代BSP

应用的makefile有默认的BSP(见“TARGET”),同时也列出了应用支持的其他BSP(见“SUPPORTED_TARGETS”)。若要选择替代BSP,将“TARGET”设置为受支持的BSP之一。

自定义BSP

  • 完整BSP
  • 从“\wiced_btsdk\dev-kit\bsp\”文件夹中支持的BSP列表中选择一个现有的BSP作为模板。
  • 在同一文件夹中复制并重命名,例如“\wiced_btsdk\dev-kit\bsp\TARGET_mybsp”。注意,可在系统文件资源管理器中完成此操作,然后在Eclipse中刷新工作区以查看新项目,在刷新Eclipse之前删除新复制文件夹中的“.git”子文件夹。
  • 在新的“\wiced_btsdk\dev-kit\bsp\TARGET_mybsp”文件夹中,将现有的(BSP).mk文件重命名为mybsp.mk。
  • 在应用的makefile中,设置“TARGET=mybsp”,并将其添加到“SUPPORTED_TARGETS”和“TARGET_DEVICE_MAP”中,例如:mybsp/20819A1。
  • 如有需要,使用Quick Panel中“Configurators”下的“Device Configurator”链接更新自定义BSP的design.modus。
  • 根据需要更新应用的makefile以适应其他自定义BSP特定属性,然后构建应用。
  • 仅自定义引脚配置 - 多应用
  • 在现有BSP文件夹中创建一个“COMPONENT_(CUSTOM)_design_modus”文件夹,例如“\wiced_btsdk\dev-kit\bsp\TARGET_CYW920819EVB-02\COMPONENT_my_design_modus”。
  • 从“\wiced_btsdk\dev-kit\bsp\”下的参考BSP的“COMPONENT_bsp_design_modus”文件夹中复制“design.modus”文件,并将其放置在新创建的“COMPONENT_(CUSTOM)_design_modus”文件夹中。
  • 在应用的makefile中添加以下两行: makefile DISABLE_COMPONENTS+=bsp_design_modus COMPONENTS+=(CUSTOM)_design_modus (例如“COMPONENTS+=my_design_modus”)
  • 如有需要,使用Quick Panel中“Configurators”下的“Device Configurator”链接更新自定义引脚配置的design.modus。
  • 构建应用时,将在新的“COMPONENT_(CUSTOM)_design_modus”文件夹的“GeneratedSource”文件夹下生成引脚配置源代码。
  • 仅自定义引脚配置 - 单应用
  • 在应用中创建一个“COMPONENT_(BSP)_design_modus”文件夹,例如“COMPONENT_CYW920721B2EVK-03_design_modus”。
  • 从“\wiced_btsdk\dev-kit\bsp\”下的参考BSP中复制“design.modus”文件,并将其放置在该文件夹中。
  • 在应用的makefile中添加以下两行: makefile DISABLE_COMPONENTS+=bsp_design_modus COMPONENTS+=(BSP)_design_modus (例如“COMPONENTS+=CYW920721B2EVK-03_design_modus”)
  • 如有需要,使用Quick Panel中“Configurators”下的“Device Configurator”链接更新自定义引脚配置的design.modus。
  • 构建应用时,将在应用的“GeneratedSource”文件夹下生成引脚配置源代码。

使用库

所有受支持的库(中间件)可在“\wiced_btsdk\dev-kit\libraries”文件夹中找到。若要在应用中使用库,需对应用的makefile进行以下更改: 1. 更新makefile变量“COMPONENTS”以包含库,例如: makefile COMPONENTS += fw_upgrade_lib 2. 更新makefile变量“SEARCH_LIBS_AND_INCLUDES”以指向库的位置,例如: makefile SEARCH_LIBS_AND_INCLUDES+=$(CY_SHARED_PATH)/dev-kit/libraries/btsdk-ota

文档查看

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】