项目简介
本项目借助C语言和PSoC 6 BLE MCU,实现了一个蓝牙吞吐量测量系统。通过GATT层通知和GATT写命令完成蓝牙低功耗(BLE)吞吐量的测量,包含BLE GATT服务器吞吐量测量和BLE GATT客户端吞吐量测量两个应用程序,同时采用FreeRTOS实时操作系统。
项目的主要特性和功能
- 吞吐量测量:能在服务器和客户端应用中分别计算BLE的Tx和Rx吞吐量,服务器端通过发送GATT通知和接收GATT写命令计算,客户端反之。
- 显示功能:利用E - INK显示屏实时展示吞吐量数据,UART终端显示连接状态、参数变化及吞吐量信息。
- 多模式支持:客户端可通过按钮操作在GATT通知、GATT写、两者同时进行这三种数据传输模式间切换。
- 实时操作系统:采用FreeRTOS,确保系统具备实时性和多任务处理能力。
- 参数可调:可对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。
软件设置
- 若没有终端模拟器,安装Tera Term。
- 若使用Windows PC作为BLE Central进行服务器端吞吐量测量,安装CySmart Host Emulation Tool和CY5677 CySmart BLE 4.2 USB Dongle。
- 若使用iOS或Android智能手机作为BLE Central,扫描QR码下载CySmart应用。
项目配置与编译
在Eclipse IDE for ModusToolbox中
- 点击Quick Panel中的“New Application”(或通过“File” > “New” > “ModusToolbox Application”)。
- 在“Project Creator - Choose Board Support Package (BSP)”对话框中选择支持的开发板。
- 选择本项目示例。
- 可按需更新应用名称和保存位置。
- 点击“Create”完成应用创建。
在命令行界面(CLI)
- 下载并解压项目仓库到本地,或复制仓库。
- 在Linux和macOS系统中使用任意终端,在Windows系统中进入modus - shell目录运行Cygwin.bat。
- 进入GATT_client应用文件夹,执行
make getlibs
导入所需库。 - 进入GATT_server应用文件夹,执行
make getlibs
导入所需库。
在第三方IDE中
- 参照CLI步骤下载或复制仓库,并使用
make getlibs
导入库。 - 执行
make <ide>
命令将应用导出到支持的IDE,由于有两个应用,需分别在GATT_client和GATT_server文件夹中执行该命令。 - 按照终端提示在IDE中创建或导入应用项目。
运行与测试
使用两个PSoC 6 BLE板
- 用USB线将第一块板连接到PC,打开终端程序,选择KitProg3 COM端口,设置串口参数为8N1和115200波特率。
- 对第一块板进行编程,可在Eclipse IDE中选择“GATT_server”应用并点击“
Program (KitProg3)”,或在CLI中进入GATT_server应用文件夹执行 make program
。 - 确认UART终端显示“BLE THROUGHPUT MEASUREMENT : SERVER DEVICE”。
- 拔出第一块板,连接第二块板,重复上述步骤,使用“GATT_client”应用进行编程,确认终端显示“BLE THROUGHPUT MEASUREMENT : CLIENT DEVICE”。
- 重新连接第一块板并打开其终端,必要时复位板卡。
- 按下客户端设备的SW2按钮开始扫描,设备自动连接,连接后User LED 1点亮,可在终端看到吞吐量值。
- 多次按下SW2按钮可切换数据传输模式。
使用CySmart桌面应用作为BLE Central
- 用USB线将板连接到PC,打开终端程序,选择KitProg3 COM端口,设置串口参数。
- 使用“BLE_Throughput_Measurement GATT_server”应用对板进行编程。
- 打开CySmart桌面应用并连接CySmart CY5677 dongle。
- 扫描并连接“TPUT”设备,按提示更新连接参数。
- 发现所有属性,启用所有通知,在UART终端查看Tx GATT吞吐量值。
- 可通过禁用通知和断开连接停止测量。
使用CySmart iOS/Android应用作为BLE Central
- 用USB线将板连接到PC,打开终端程序,选择KitProg3 COM端口,设置串口参数。
- 使用“BLE_Throughput_Measurement GATT_server”应用对板进行编程。
- 打开手机蓝牙并启动CySmart应用,扫描并连接“TPUT”设备。
- 选择GATT DB,选择具有Notify属性的特征并启用通知,在UART终端查看Tx GATT吞吐量值。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】