Python 藍芽通訊模組pybluez Win7

2021-10-05 13:16:17 字數 2224 閱讀 7200

今天學習windows下的藍芽控制,安裝pybluez

pip install pybluez
安裝很順利,沒有遇見網上關於sdk之類的問題,可能是我的機子已經安裝了vs各執行庫的原因吧

使用庫只需要import bluetooth即可,但我這裡出現了

atributeerror: attribute '__doc__' of 'instancemethod' objects is not writable
解決方式是重新安裝,指定版本為0.22

pip install pybluez==0.22
使用方式:

通過名字查詢藍芽裝置

import bluetooth

def finddevbyname(name)

devices = bluetooth.discover_devices()

devaddr=""

for addr in devices:

if bluetooth.lookup_name( addr)==name:

devaddr = addr

break

return devaddr

遍歷所有裝置服務

import bluetooth

devices = bluetooth.discover_devices(lookup_names=true)

for addr, name in devices:

print(" %s - %s" % (addr, name))

services = bluetooth.find_service(address=addr)

for service in services:

print("service name: %s" % service["name"])

print(" host: %s" % service["host"])

print(" description: %s" % service["description"])

print(" provided by: %s" % service["provider"])

print(" protocol: %s" % service["protocol"])

print(" channel/psm: %s" % service["port"])

print(" svc classes: %s "% service["service-classes"])

print(" profiles: %s "% service["profiles"])

print(" service id: %s "% service["service-id"])

裝置通訊**

裝置通訊分服務端和客戶端

伺服器端**

import bluetooth

server_sock=bluetooth.bluetoothsocket( bluetooth.rfcomm )

port = 1

server_sock.bind(("",port))

server_sock.listen(1)

client_sock,address = server_sock.accept()

print "accepted connection from ",address

data = client_sock.recv(1024)

print "received [%s]" % data

client_sock.close()

server_sock.close()

客戶端**

import bluetooth

bd_addr = "01:23:45:67:89:ab"

port = 1

sock=bluetooth.bluetoothsocket( bluetooth.rfcomm )

sock.connect((bd_addr, port))

sock.send("hello!!")

sock.close()

還有另一種方式是使用l2cap方式,

區別只在埠的選擇上,這裡不再詳述

python藍芽通訊 python實現藍芽通訊

安裝和示例 linux下安裝 sudo apt get install python pip libglib2.0 dev sudo pip install bluepy 官方示例 importbtleclassmydelegate btle.defaultdelegate def init sel...

python藍芽通訊 python實現藍芽通訊

安裝和示例 linux下安裝 sudo apt get install python pip libglib2.0 dev sudo pip install bluepy 官方示例 import btle class mydelegate btle.defaultdelegate def init ...

藍芽模組配置串列埠通訊

無線串列埠通訊肯定需要兩個藍芽模組,微控制器傳送資料給電腦,連電腦的就需要 usb ttl 模組,藍芽模組與 usb ttl 連線就是 5v 連 5v,gnd 接 gnd rxd 接 txd,txd 接 rxd。配置藍芽模組時需要進入它的 at 模式,就是配置模式。進入at模式的方法 按住藍芽模組上...