SPP 實例性能傳輸講解Client&Server
一.通過SPP(客戶端)傳輸數(shù)據(jù)
源代碼:spp_streamer_client.c
包處理程序用于處理配對請求
下面的清單顯示了主要的應(yīng)用程序代碼。它初始化L2CAP,即安全管理器,并使用從$le_credit_based_flow_control_mode_server.gatt$生成的預(yù)編譯的ATT數(shù)據(jù)庫配置ATT服務(wù)器。最后,它配置廣播并引導(dǎo)藍牙堆棧。
注意:SPP Streamer客戶端掃描并連接到SPP Streamer,并測量吞吐量。
跟蹤吞吐量原理:
我們通過設(shè)置開始時間和測量發(fā)送的數(shù)據(jù)量來計算吞吐量。在可配置的REPORT_INTERVAL_MS之后,我們以kB/s為單位打印吞吐量,并重置計數(shù)器和開始時間

SDP查詢包處理程序:為SPP服務(wù)存儲RFCOMM通道并發(fā)起RFCOMM連接,
通用包處理程序:處理啟動(BTSTACK_EVENT_STATE)、查詢、配對、啟動SDP查詢SPP服務(wù)和RFCOMM連接,
主應(yīng)用程序設(shè)置:與數(shù)據(jù)包和心跳處理程序一樣,組合的應(yīng)用程序設(shè)置包含來自各個示例設(shè)置的代碼。

二. 通過SPP(服務(wù)器)上的流數(shù)據(jù)
源代碼:spp_streamer.c
RFCOMM連接打開后,通過rfcomm_request_can_send_now_event()請求RFCOMM_EVENT_CAN_SEND_NOW。
當(dāng)我們得到RFCOMM_EVENT_CAN_SEND_NOW時,發(fā)送數(shù)據(jù)并請求另一個。
注意:要進行測試,請運行示例,從遠程設(shè)備進行配對,并打開虛擬串行端口。
跟蹤吞吐量原理:
我們通過設(shè)置開始時間和測量發(fā)送的數(shù)據(jù)量來計算吞吐量。在可配置的REPORT_INTERVAL_MS之后,我們以kB/s為單位打印吞吐量,并重置計數(shù)器和開始時間。

包處理程序:組合示例的包處理程序只是單個包處理程序的組合。
主應(yīng)用程序設(shè)置:與數(shù)據(jù)包和心跳處理程序一樣,組合的應(yīng)用程序設(shè)置包含來自各個示例設(shè)置的代碼。
三. 總結(jié)
SPP程序只是藍牙協(xié)議的一部分,如需了解更多,可以聯(lián)系飛易通團隊!