SPP 实例性能传输讲解Client&Server

一.通过SPP(客户端)传输数据

源代码:spp_streamer_client.c
包处理程序用于处理配对请求
下面的清单显示了主要的应用程序代码。它初始化L2CAP,即安全管理器,并使用从$le_credit_based_flow_control_mode_server.gatt$生成的预编译的ATT数据库配置ATT服务器。最后,它配置广播并引导蓝牙堆栈。
注意:SPP Streamer客户端扫描并连接到SPP Streamer,并测量吞吐量。

跟踪吞吐量原理:
我们通过设置开始时间和测量发送的数据量来计算吞吐量。在可配置的REPORT_INTERVAL_MS之后,我们以kB/s为单位打印吞吐量,并重置计数器和开始时间

SDP查询包处理程序:为SPP服务存储RFCOMM通道并发起RFCOMM连接,
通用包处理程序:处理启动(BTSTACK_EVENT_STATE)、查询、配对、启动SDP查询SPP服务和RFCOMM连接,
主应用程序设置:与数据包和心跳处理程序一样,组合的应用程序设置包含来自各个示例设置的代码。

二. 通过SPP(服务器)上的流数据

源代码:spp_streamer.c
RFCOMM连接打开后,通过rfcomm_request_can_send_now_event()请求RFCOMM_EVENT_CAN_SEND_NOW。
当我们得到RFCOMM_EVENT_CAN_SEND_NOW时,发送数据并请求另一个。

注意:要进行测试,请运行示例,从远程设备进行配对,并打开虚拟串行端口。
跟踪吞吐量原理:
我们通过设置开始时间和测量发送的数据量来计算吞吐量。在可配置的REPORT_INTERVAL_MS之后,我们以kB/s为单位打印吞吐量,并重置计数器和开始时间。

包处理程序:组合示例的包处理程序只是单个包处理程序的组合。

主应用程序设置:与数据包和心跳处理程序一样,组合的应用程序设置包含来自各个示例设置的代码。

三. 总结

SPP程序只是蓝牙协议的一部分,如需了解更多,可以联系飞易通团队!

滚动至顶部