簡體   English   中英

根據 rssi 值通過藍牙發送文件

[英]Sending files via bluetooth depending on rssi value

我正在掃描附近的藍牙設備。 我有這樣的 MAC 地址和 rssi 值的字典:

dictionary = {"18:FF:E3:3B:5D:31": "-49","11:11:11:3B:5D:31": "-60", }

在這種情況下,我只想在 rssi 大於 -50 時將文件發送到 18:FF:E3:3B:5D:31。 最好的方法是什么? While循環取決於MAC地址? 受信任的 MAC 地址列表將是已知的。 發送具有不同 rssi 的文件可能需要更多設備。

這只是一個想法:

scan for devices
while i < 100 // random number  
    for key, val  in dictionary.iteritems():
        if key == mac_address_of_one_device and rssi > 50:
            send_file()
        else:
            scan again 
        // some kind of recursion? 

但是,如果我在范圍內同時有 2 個設備並且我想將文件發送到兩個設備怎么辦。 如何掃描它?

或者如何掃描讓我們說 1 分鍾並取決於 rssi 和 MAC 將文件發送到范圍內的設備?

我被困住了。

每次都掃描設備是一個好習慣,因為您正在嘗試基於 rssi 信號發送文件。

掃描超時特定於藍牙堆棧。 大多數藍牙堆棧的默認超時時間為 15 到 30 秒(以節省電量),

在掃描過程中,您將在查詢結果/完成事件(從BT HCI信令設備找到事件)中獲得附近藍牙設備地址列表以及RSSI信息。 您可以遍歷結果並將文件發送到 RSSI 大於 -50 或任何其他值的設備。

但這里的問題是遠程設備是否具有接收文件的能力? 我沒有看到你在這里檢查它。 僅僅擁有藍牙地址和 RSSI 並不能保證遠程設備會接受您的文件。

暫無
暫無

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

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