簡體   English   中英

如何通過BLE傳輸數據?

[英]How to stream data via BLE?

我目前正在評估Maxim Integrated MAXREFDES100#的電路板。 作為論文的一部分,我想研究一下是否有可能使用BLE進行數據流傳輸。

隨附的軟件功能齊全,可以傳輸數據。 當然,在更長的時間內只有較小的數據包,例如溫度或預先計算的心率值。 我知道BLE不適合並且尚未設計為連續傳輸數據。 不過,我也想嘗試通過BLE接口傳輸ECG原始數據。 為了開發出以下測試設置,以便我可以檢查我的數據是否及時完整,正確地到達(心電圖數據的前提):

目前,我將正弦波的數據存儲到較大的FIFO中,並將20字節的正弦數據包傳輸到特性中。 到目前為止,一切正常。 使用Android設備和BLE嗅探器,我捕獲了數據包並檢查正弦是否有任何中斷。 下圖是從更長的時間中獲取的:(我已經測試了我的FIFO,正弦數據完整無任何干擾):這是我的Android和BLE嗅探器的捕獲:數據包丟失。

正弦和頻譜圖圖像

正弦和頻譜圖圖像

進一步的測量表明,錯誤不是順序發生的,它們總是可以在不同的時間被發現。 (Fifo實施必須正確)

正弦和頻譜圖圖像2

正弦和頻譜圖圖像2

由於我的手機和Adafruit BLE嗅探器在同一位置有相同的錯誤,因此主板側的數據包必須損壞。 我懷疑它們在某些協議級別上丟失了(也許是GAP?)。 有趣的是,錯誤會影響至少200個后續字節(256字節數據是一個完整的正弦)。 這意味着必須至少有10個數據包(每個20字節)才能獲得這樣的圖形。

  • 有哪些選項可以通過BLE接口連續發送數據?
  • 是否可以在沒有GATT / ATT的情況下直接通過L2CAP發送數據?
  • 是否還有其他允許數據流傳輸的無線低功耗協議? (因此具有TCP的確認性,以確保完整性和時間正確性)

最好的問候,艾敏

  • 有哪些選項可以通過BLE接口連續發送數據?
  • 是否可以在沒有GATT / ATT的情況下直接通過L2CAP發送數據?

BLE v4.1引入了面向LE連接的通道 ,這是一種直接通過L2CAP發送數據而無需GATT / ATT(考慮網絡套接字)的方法。 另請參閱“藍牙核心規范”。 3 A部分第3.4節。

您正在使用的板上有一塊EM9301 BLE芯片,該芯片似乎支持BLE v4.1。 但是,您使用的mbed庫不允許您使用它們。 看到這里 ,您有一個用於連接/斷開回調和GATT特性讀/寫/通知的接口。 與面向LE連接的通道無關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM