littlebot
Published on 2025-04-12 / 1 Visits
0

【源码】基于C语言和PSoC 6 BLE MCU的蓝牙吞吐量测量系统

项目简介

本项目借助C语言和PSoC 6 BLE MCU,实现了一个蓝牙吞吐量测量系统。通过GATT层通知和GATT写命令完成蓝牙低功耗(BLE)吞吐量的测量,包含BLE GATT服务器吞吐量测量和BLE GATT客户端吞吐量测量两个应用程序,同时采用FreeRTOS实时操作系统。

项目的主要特性和功能

  1. 吞吐量测量:能在服务器和客户端应用中分别计算BLE的Tx和Rx吞吐量,服务器端通过发送GATT通知和接收GATT写命令计算,客户端反之。
  2. 显示功能:利用E - INK显示屏实时展示吞吐量数据,UART终端显示连接状态、参数变化及吞吐量信息。
  3. 多模式支持:客户端可通过按钮操作在GATT通知、GATT写、两者同时进行这三种数据传输模式间切换。
  4. 实时操作系统:采用FreeRTOS,确保系统具备实时性和多任务处理能力。
  5. 参数可调:可对PHY速率、连接间隔、ATT MTU等参数进行调整,以优化吞吐量。

安装使用步骤

前提条件

用户已下载本项目的源码文件,且已安装ModusToolbox™ software v2.1。

硬件设置

准备两个PSoC 6 BLE板(可选用PSoC 6 BLE Pioneer Kit或PSoC 6 BLE Prototyping Kit),一个用于服务器端,一个用于客户端。若使用PSoC 6 BLE Pioneer Kit,需确保其升级到KitProg3。

软件设置

  1. 若没有终端模拟器,安装Tera Term
  2. 若使用Windows PC作为BLE Central进行服务器端吞吐量测量,安装CySmart Host Emulation ToolCY5677 CySmart BLE 4.2 USB Dongle
  3. 若使用iOS或Android智能手机作为BLE Central,扫描QR码下载CySmart应用。

项目配置与编译

在Eclipse IDE for ModusToolbox中

  1. 点击Quick Panel中的“New Application”(或通过“File” > “New” > “ModusToolbox Application”)。
  2. 在“Project Creator - Choose Board Support Package (BSP)”对话框中选择支持的开发板。
  3. 选择本项目示例。
  4. 可按需更新应用名称和保存位置。
  5. 点击“Create”完成应用创建。

在命令行界面(CLI)

  1. 下载并解压项目仓库到本地,或复制仓库。
  2. 在Linux和macOS系统中使用任意终端,在Windows系统中进入modus - shell目录运行Cygwin.bat
  3. 进入GATT_client应用文件夹,执行make getlibs导入所需库。
  4. 进入GATT_server应用文件夹,执行make getlibs导入所需库。

在第三方IDE中

  1. 参照CLI步骤下载或复制仓库,并使用make getlibs导入库。
  2. 执行make <ide>命令将应用导出到支持的IDE,由于有两个应用,需分别在GATT_client和GATT_server文件夹中执行该命令。
  3. 按照终端提示在IDE中创建或导入应用项目。

运行与测试

使用两个PSoC 6 BLE板

  1. 用USB线将第一块板连接到PC,打开终端程序,选择KitProg3 COM端口,设置串口参数为8N1和115200波特率。
  2. 对第一块板进行编程,可在Eclipse IDE中选择“GATT_server”应用并点击“ Program (KitProg3)”,或在CLI中进入GATT_server应用文件夹执行make program
  3. 确认UART终端显示“BLE THROUGHPUT MEASUREMENT : SERVER DEVICE”。
  4. 拔出第一块板,连接第二块板,重复上述步骤,使用“GATT_client”应用进行编程,确认终端显示“BLE THROUGHPUT MEASUREMENT : CLIENT DEVICE”。
  5. 重新连接第一块板并打开其终端,必要时复位板卡。
  6. 按下客户端设备的SW2按钮开始扫描,设备自动连接,连接后User LED 1点亮,可在终端看到吞吐量值。
  7. 多次按下SW2按钮可切换数据传输模式。

使用CySmart桌面应用作为BLE Central

  1. 用USB线将板连接到PC,打开终端程序,选择KitProg3 COM端口,设置串口参数。
  2. 使用“BLE_Throughput_Measurement GATT_server”应用对板进行编程。
  3. 打开CySmart桌面应用并连接CySmart CY5677 dongle
  4. 扫描并连接“TPUT”设备,按提示更新连接参数。
  5. 发现所有属性,启用所有通知,在UART终端查看Tx GATT吞吐量值。
  6. 可通过禁用通知和断开连接停止测量。

使用CySmart iOS/Android应用作为BLE Central

  1. 用USB线将板连接到PC,打开终端程序,选择KitProg3 COM端口,设置串口参数。
  2. 使用“BLE_Throughput_Measurement GATT_server”应用对板进行编程。
  3. 打开手机蓝牙并启动CySmart应用,扫描并连接“TPUT”设备。
  4. 选择GATT DB,选择具有Notify属性的特征并启用通知,在UART终端查看Tx GATT吞吐量值。

下载地址

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