我現在專注於Android,但我相信這些問題的答案適用於任何操作系統,他們只會使用不同的功能來獲取數據。藍牙低功耗 - 雙方獲得RSSI?
建立BLE連接後,我可以將BluetoothGatt.readRemoteRssi()設置爲「讀取連接的遠程設備的RSSI」。
第一個問題:我是否正確理解了這個功能,它向我返回了我的Android設備正在接收的信號(從遠程BLE設備發送)的強度,對嗎?我認爲這是拋出我的函數名稱,不應該只是名稱readRssi()? readRemoteRssi()讓我覺得有一個伴隨函數readLocalRssi()。
第二個問題:假設我正確理解功能,是否有任何內置於藍牙的內容可以讓我問「遠程BLE設備看到RSSI是什麼?」換句話說,Android設備正在傳輸的信號中,有多少到達遠程BLE設備?
根據我得到的答案LATER
補充說,顯然我沒有解釋自己很好。讓我再嘗試一次。
遠程BLE設備正在以一定的功率進行傳輸,並且這些無線電波向四面八方傳播,其中一些波被我的移動設備接收。我的移動設備測量這些波的強度,並將其報告爲RSSI。 RSSI代表「接收信號強度指示器」,由於它是本地移動設備進行接收,因此將該功能命名爲「遠程」似乎很奇怪。 RSSI當然會測量來自遙控發射器的東西 - 否則它不會很有用。
類似地,移動設備以特定功率進行發送,並且這些無線電波向全方位發出,並且這些無線電波中的一些被遠程BLE設備接收。那個遠程BLE設備測量那些波浪的強度,那將是他的 RSSI的。我的第二個問題是詢問藍牙標準中是否有任何東西(預定義的特徵,例如像「電池電量」),讓我的移動設備查詢遠程BLE設備並詢問「嘿,夥計,你得到了多少信號?
rssi與遠程設備的連接啓動並運行時如何工作?你的用例是什麼? – 7383
我希望能夠向用戶顯示信號強度,以便他們可以判斷他們是否開始遠離遠程設備。我認爲在我開始看到數據包丟失和其他故障之前,信號強度會給我一個很長的指示。 –