你最那里的方式......
如你所知,你需要一些东西来跟你的蓝牙连接的另一端。您只需将您的自定义服务器替换为知名服务(通常为these options之一)即可。
就我而言,我的手机支持“OBEX Object Push”服务,所以我只需要连接到该服务并使用合适的客户端来说出正确的协议。幸运的是,PyOBEX和PyBluez的组合在这里诀窍!
下面的代码(从PyOBEX和PyBluez示例快速打补丁)运行在我的Windows 10,Python 2.7安装上,并在手机上创建一个简单的文本文件。
from bluetooth import *
from PyOBEX.client import Client
import sys
addr = sys.argv[1]
print("Searching for OBEX service on %s" % addr)
service_matches = find_service(name=b'OBEX Object Push\x00', address = addr)
if len(service_matches) == 0:
print("Couldn't find the service.")
sys.exit(0)
first_match = service_matches[0]
port = first_match["port"]
name = first_match["name"]
host = first_match["host"]
print("Connecting to \"%s\" on %s" % (name, host))
client = Client(host, port)
client.connect()
client.put("test.txt", "Hello world\n")
client.disconnect()
貌似PyOBEX是一个相当小包装,不过,是不是Python 3的兼容,所以你可能有一点点移植做,如果这是一个要求。