2011-10-16 22 views
1

pybluez包裝函數是否具有較低級別的bt功能?我無法在文檔中找到任何內容。我需要使用等效功能:如何訪問pybluez中的藍牙低級別函數?

l2ping (single ping) 
hcitool cc 
hcitool rssi 
hcitool lq 
hcitool tpl 
hcitool dc 

是否有訪問從pybluez(或實際上任何其他的包裝和/或編寫腳本語言)的方法嗎?

回答

1

獲得完全相同功能的簡單方法是隻讓python腳本從命令行調用hcitool。

但是對於自定義解決方案,您可以使用pybluez發送與其他命令生成的相同HCI命令包。例如,hcitool rssi只是讓HCI Read RSSI命令發送到本地BT適配器,並分析結果。使用pybluez,你可以打開一個HCI套接字,構建命令包並自己解析結果。如果您無法訪問定義命令數據包格式的BT規範,則可以查看hcitool的源代碼以查看它們發送的內容,也可以使用hcidump。

要使用hcidump,您可以在終端中運行hcidump來嗅探本地HCI命令流量,同時使用另一個終端通過hcitool執行其他命令。通過hcidump,您將能夠捕獲原始數據包事務,您可以使用它作爲您想從pybluez生成的內容的參考。

此示例http://code.google.com/p/pybluez/source/browse/trunk/examples/advanced/inquiry-with-rssi.py顯示瞭如何處理HCI套接字以手動形成命令包和解析結果。您只需要自定義您要使用的命令。

+0

下面是一些藍牙和藍牙低級功能的pybluez鏈接更新:https://github.com/karulis/pybluez/blob/master/examples/advanced/inquiry-with-rssi.py和https:/ /github.com/karulis/pybluez/blob/master/examples/ble/beacon_scan.py – jshaw3