BLE是否支持ping操作,即向其他設備發送消息並接收其狀態?BLE是否支持Ping?
我想在Android上編寫一個應用程序,它會ping每個附近的設備並計算髮送時間和接收答案之間的時間,有可能嗎?
BLE是否支持ping操作,即向其他設備發送消息並接收其狀態?BLE是否支持Ping?
我想在Android上編寫一個應用程序,它會ping每個附近的設備並計算髮送時間和接收答案之間的時間,有可能嗎?
正如您在評論中指出的那樣,您喜歡使用到達時間或到達時間差算法來計算基於藍牙的距離。
據我所知,這是目前在藍牙環境中更理想的方法。由於無線電信號以輕微的速度傳播(一納秒內約爲29.979釐米),您將需要較高的採樣分辨率才能獲得準確的結果。每毫微克的偏差都會導致大約30釐米的誤差。
隨着WiFi,這是用專用芯片組完成的。據我所知,這是目前不可能與Android,因爲它需要很多低級支持(芯片組和操作系統)
希望這會有所幫助!
這裏有一些來源
你可以很容易地看到發現的時間戳每個設備在onScanResult方法:
@Override
public void onScanResult(int callbackType, ScanResult result){
Long lastSeen = result.getTimestampNanos();
//rest of your code
}
查看Android Documentation。您可以使用此時間戳和開始掃描的時間來獲取每個設備的近似響應時間。
不知道你喜歡做什麼。你可以掃描nerby設備,他們甚至會給你一個RSSI值。哪些可以用來計算距離 – woley
我不想使用RSSI來計算距離我想要使用到達時間(ToA) – Radko