PyBluez 是給桌上型電腦使用的藍芽函式庫,您可以用它來跟附近的藍芽裝置溝通。如果是手機或平板,您可以安裝 LightBlue。
下載
切換至下載頁面 https://code.google.com/p/pybluez/downloads/list
點擊 PyBluez-0.20-win32.py2.7.exe。
安裝
雙擊 PyBluez-0.20-win32.py2.7.exe,然後依照視窗內的提示安裝即可。
官網說要在「命令提示視窗」內進行如下安裝
python setup.py install
但我發現這個動作可以省略。
搜尋藍芽裝置
本程式碼會搜尋並顯示附近的藍芽裝置的名稱和位址。
import bluetooth
print("performing inquiry...")
nearby_devices = bluetooth.discover_devices(lookup_names = True)
print("found %d devices" % len(nearby_devices))
for addr, name in nearby_devices:
print(" %s - %s" % (addr, name))
執行過程如下:
performing inquiry...
found 2 devices
Ray's Nokia - 00:12:D2:5A:BD:E4
Ray's MacBook - 00:1E:C2:93:DA:6F
RFCOMM 服務
以下是基本的客戶端和伺服器端的程式,為了讓事情變得簡單,我們手動輸入伺服器藍牙設備的位址(00:12:D2:5A:BD:E4)和埠口;在下文中,客戶端連接到伺服器上的埠口為 3。
程式運作的方式如下圖:
客戶端(從)程式
from bluetooth import *
# Create the client socket
client_socket=BluetoothSocket( RFCOMM )
client_socket.connect(("00:12:D2:5A:BD:E4", 3))
client_socket.send("Hello World")
print "Finished"
client_socket.close()
伺服器端(主)程式
from bluetooth import *
server_socket=BluetoothSocket( RFCOMM )
server_socket.bind(("", 3 ))
server_socket.listen(1)
client_socket, address = server_socket.accept()
data = client_socket.recv(1024)
print "received [%s]" % data
client_socket.close()
server_socket.close()
1. 請問你是怎麼成功執行,我看網路上的教學,利用底下方法都會出現 Error
回覆刪除# python examples\simple\inquiry.py
IOError: No Bluetooth adapter detected
2. Bluetooth adapter 指的是什麼?